Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2007-07-02 13:55:30 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-07-02 13:55:30 (GMT)
commitebcd10444813d84045f9a5d22381b1f8c6dc2263 (patch)
tree0423794a2dd67795ad716f89464fcbc55810bae0
parent71ca9cb8bc5b5cb337b569cf92eedb51f75ed9c1 (diff)
Restore some code which tomeu seem to have dropped by mistake.
-rw-r--r--shell/view/frame/frame.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py
index 1804784..2b21576 100644
--- a/shell/view/frame/frame.py
+++ b/shell/view/frame/frame.py
@@ -259,6 +259,7 @@ class Frame(object):
def _connect_to_panel(self, panel):
panel.connect('enter-notify-event', self._enter_notify_cb)
+ panel.connect('leave-notify-event', self._leave_notify_cb)
def _update_position(self):
screen_h = gtk.gdk.screen_height()
@@ -292,8 +293,26 @@ class Frame(object):
gobject.timeout_add(2000, lambda: self.hide())
def _enter_notify_cb(self, window, event):
+ # FIXME clicks cause leave/notify, ignore
+ if event.state == gtk.gdk.BUTTON1_MASK:
+ return
+ if self._hover:
+ return
+
+ self._hover = True
self._mouse_listener.mouse_enter()
-
+
+ def _leave_notify_cb(self, window, event):
+ # FIXME clicks cause leave/notify, ignore
+ if event.state == gtk.gdk.BUTTON1_MASK:
+ return
+ if not self._hover:
+ return
+
+ if not self._is_hover():
+ self._hover = False
+ self._mouse_listener.mouse_leave()
+
def _drag_motion_cb(self, window, context, x, y, time):
self._mouse_listener.mouse_enter()