diff options
author | Marco 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) |
commit | ebcd10444813d84045f9a5d22381b1f8c6dc2263 (patch) | |
tree | 0423794a2dd67795ad716f89464fcbc55810bae0 | |
parent | 71ca9cb8bc5b5cb337b569cf92eedb51f75ed9c1 (diff) |
Restore some code which tomeu seem to have dropped by mistake.
-rw-r--r-- | shell/view/frame/frame.py | 21 |
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() |