Skip to content

Commit

Permalink
Clipboard fixes.
Browse files Browse the repository at this point in the history
  • Loading branch information
tomeuv committed Dec 14, 2006
1 parent e68f0e0 commit cc39ef1
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 14 deletions.
18 changes: 11 additions & 7 deletions shell/view/clipboardmenu.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,19 @@ class ClipboardMenu(Menu):

def __init__(self, name, percent):
Menu.__init__(self, name)

self._progress_bar = ClipboardMenuItem(percent)
self._root.append(self._progress_bar)

if percent < 100:
self._progress_bar = ClipboardMenuItem(percent)
self._root.append(self._progress_bar)
else:
self._progress_bar = None

self._remove_icon = None
self._stop_icon = None

self._create_icons(percent)
self._update_icons(percent)

def _create_icons(self, percent):
def _update_icons(self, percent):
if percent == 100:
if not self._remove_icon:
self._remove_icon = CanvasIcon(icon_name='stock-remove')
Expand All @@ -49,5 +52,6 @@ def _create_icons(self, percent):
self._remove_icon = None

def set_percent(self, percent):
self._progress_bar.set_property('percent', percent)
self._create_icons(percent)
if self._progress_bar:
self._progress_bar.set_property('percent', percent)
self._update_icons(percent)
15 changes: 10 additions & 5 deletions shell/view/frame/clipboardbox.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,14 @@ def button_press_event_cb(self, widget, event):
return True;

def motion_notify_event_cb(self, widget, event):

if not self._pressed_button:
return True

# if the mouse button is not pressed, no drag should occurr
if not event.state & gtk.gdk.BUTTON1_MASK:
self._pressed_button = None
return True

logging.debug("motion_notify_event_cb")

Expand All @@ -152,10 +157,10 @@ def motion_notify_event_cb(self, widget, event):
y = event.y
state = event.state

if widget.drag_check_threshold(self._press_start_x,
self._press_start_y,
x,
y):
if widget.drag_check_threshold(int(self._press_start_x),
int(self._press_start_y),
int(x),
int(y)):
targets = self._get_targets_for_dnd(
self._last_clicked_icon.get_object_id())

Expand Down
3 changes: 1 addition & 2 deletions shell/view/frame/clipboardpanelwindow.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ def __init__(self, x, y, width, height):
# Offering dnd drags
self.drag_source_set(0, [], 0)
self.add_events(gtk.gdk.BUTTON_PRESS_MASK |
gtk.gdk.POINTER_MOTION_MASK |
gtk.gdk.POINTER_MOTION_HINT_MASK)
gtk.gdk.POINTER_MOTION_HINT_MASK)
self.connect("motion_notify_event", box.motion_notify_event_cb)
self.connect("button_press_event", box.button_press_event_cb)
self.connect("drag_end", box.drag_end_cb)
Expand Down

0 comments on commit cc39ef1

Please sign in to comment.