diff options
author | Benjamin Berg <benjamin@sipsolutions.net> | 2008-02-25 15:01:42 (GMT) |
---|---|---|
committer | Benjamin Berg <benjamin@sipsolutions.net> | 2008-02-25 15:01:42 (GMT) |
commit | 326f71e7e4373b9f0211bb6b8308a83e274d8cb5 (patch) | |
tree | eaa50240abef77119b8d9cfd6d23e58e809bdf41 /src | |
parent | 7297f31a366c53c01a6c5d059616b31ead78e5f4 (diff) |
Ticket #4084. Hide palettes when switching zoom levels.
It now uses visibility-notif-event instead of focus-in/out to deactivate the view.
Diffstat (limited to 'src')
-rw-r--r-- | src/view/home/HomeWindow.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/view/home/HomeWindow.py b/src/view/home/HomeWindow.py index f1f46e9..dbd20c2 100644 --- a/src/view/home/HomeWindow.py +++ b/src/view/home/HomeWindow.py @@ -19,6 +19,7 @@ import hippo import cairo from sugar.graphics import style +from sugar.graphics import palettegroup from view.home.MeshBox import MeshBox from view.home.HomeBox import HomeBox @@ -49,8 +50,7 @@ class HomeWindow(gtk.Window): self.realize() self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DESKTOP) self.connect("key-release-event", self._key_release_cb) - self.connect('focus-in-event', self._focus_in_cb) - self.connect('focus-out-event', self._focus_out_cb) + self.connect('visibility-notify-event', self._visibility_notify_event_cb) self._enter_sid = self.connect('enter-notify-event', self._enter_notify_event_cb) @@ -95,6 +95,8 @@ class HomeWindow(gtk.Window): self._home_box.release() def _deactivate_view(self): + group = palettegroup.get_group("default") + group.popdown() if self._level == ShellModel.ZOOM_HOME: self._home_box.suspend() elif self._level == ShellModel.ZOOM_MESH: @@ -106,11 +108,11 @@ class HomeWindow(gtk.Window): elif self._level == ShellModel.ZOOM_MESH: self._mesh_box.resume() - def _focus_in_cb(self, widget, event): - self._activate_view() - - def _focus_out_cb(self, widget, event): - self._deactivate_view() + def _visibility_notify_event_cb(self, window, event): + if event.state == gtk.gdk.VISIBILITY_FULLY_OBSCURED: + self._deactivate_view() + else: + self._activate_view() def set_zoom_level(self, level): self._deactivate_view() |