Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar

This commit is contained in:
Dan Williams 2007-03-12 11:31:37 -04:00
commit 9713391c86

View File

@ -55,7 +55,8 @@ class _MouseListener(object):
self._hide_sid = 0 self._hide_sid = 0
def mouse_enter(self): def mouse_enter(self):
if self._frame.mode == MODE_NONE: if self._frame.mode == MODE_NONE or \
self._frame.mode == MODE_MOUSE:
self._show_frame() self._show_frame()
def mouse_leave(self): def mouse_leave(self):
@ -125,6 +126,7 @@ class Frame(object):
self._shell = shell self._shell = shell
self._current_position = 0.0 self._current_position = 0.0
self._animator = None self._animator = None
self._hover = False
self._event_frame = EventFrame() self._event_frame = EventFrame()
self._event_frame.connect('enter-corner', self._enter_corner_cb) self._event_frame.connect('enter-corner', self._enter_corner_cb)
@ -286,15 +288,24 @@ class Frame(object):
self._mouse_listener.mouse_enter() self._mouse_listener.mouse_enter()
def _popup_context_deactivated_cb(self, popup_context): def _popup_context_deactivated_cb(self, popup_context):
if not self._is_hover(): if not self._hover:
self._mouse_listener.mouse_leave() self._mouse_listener.mouse_leave()
def _enter_notify_cb(self, window, event): def _enter_notify_cb(self, window, event):
if self._hover:
return
self._hover = True
self._mouse_listener.mouse_enter() self._mouse_listener.mouse_enter()
def _leave_notify_cb(self, window, event): def _leave_notify_cb(self, window, event):
if not self._popup_context.is_active(): if not self._hover:
self._mouse_listener.mouse_leave() 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): def _drag_motion_cb(self, window, context, x, y, time):
self._mouse_listener.mouse_enter() self._mouse_listener.mouse_enter()