Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-03-12 15:22:03 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-03-12 15:22:03 (GMT)
commit0d90a7b4e7b661891f68364d4949b249cb37d6a6 (patch)
treed7067112dc2573e6601e4d3073ada24fa32d5734 /shell
parent49b0db642e7dc04e17b8ff6a054c0c0889153253 (diff)
More fixes to the hover logic..
Diffstat (limited to 'shell')
-rw-r--r--shell/view/frame/frame.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py
index a8e86e4..d4f9bfe 100644
--- a/shell/view/frame/frame.py
+++ b/shell/view/frame/frame.py
@@ -125,6 +125,7 @@ class Frame(object):
self._shell = shell
self._current_position = 0.0
self._animator = None
+ self._hover = False
self._event_frame = EventFrame()
self._event_frame.connect('enter-corner', self._enter_corner_cb)
@@ -286,15 +287,24 @@ class Frame(object):
self._mouse_listener.mouse_enter()
def _popup_context_deactivated_cb(self, popup_context):
- if not self._is_hover():
+ if not self._hover:
self._mouse_listener.mouse_leave()
def _enter_notify_cb(self, window, event):
+ if self._hover:
+ return
+
+ self._hover = True
self._mouse_listener.mouse_enter()
def _leave_notify_cb(self, window, event):
- if not self._popup_context.is_active():
- self._mouse_listener.mouse_leave()
+ if not self._hover:
+ return
+
+ if not self._is_hover():
+ self._hover = False
+ if not self._popup_context.is_active():
+ self._mouse_listener.mouse_leave()
def _drag_motion_cb(self, window, context, x, y, time):
self._mouse_listener.mouse_enter()