Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2006-12-14 12:50:42 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2006-12-14 12:50:42 (GMT)
commitcc39ef169fdc26da94e266e2a002eb8bee75f7c7 (patch)
tree13227fb6c84bb59a820c102afb59aa7fe08bcaf0 /shell
parente68f0e00e95416c696ecc08895b1a29463c989f8 (diff)
Clipboard fixes.
Diffstat (limited to 'shell')
-rw-r--r--shell/view/clipboardmenu.py18
-rw-r--r--shell/view/frame/clipboardbox.py15
-rw-r--r--shell/view/frame/clipboardpanelwindow.py3
3 files changed, 22 insertions, 14 deletions
diff --git a/shell/view/clipboardmenu.py b/shell/view/clipboardmenu.py
index cd521e0..3d555e1 100644
--- a/shell/view/clipboardmenu.py
+++ b/shell/view/clipboardmenu.py
@@ -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')
@@ -49,5 +52,6 @@ class ClipboardMenu(Menu):
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)
diff --git a/shell/view/frame/clipboardbox.py b/shell/view/frame/clipboardbox.py
index 98a30a0..0a5a884 100644
--- a/shell/view/frame/clipboardbox.py
+++ b/shell/view/frame/clipboardbox.py
@@ -139,9 +139,14 @@ class ClipboardBox(hippo.CanvasBox):
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")
@@ -152,10 +157,10 @@ class ClipboardBox(hippo.CanvasBox):
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())
diff --git a/shell/view/frame/clipboardpanelwindow.py b/shell/view/frame/clipboardpanelwindow.py
index 08344c9..7ad801c 100644
--- a/shell/view/frame/clipboardpanelwindow.py
+++ b/shell/view/frame/clipboardpanelwindow.py
@@ -30,8 +30,7 @@ class ClipboardPanelWindow(PanelWindow):
# 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)