diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-23 14:06:57 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-23 14:06:57 (GMT) |
commit | 4ff4e22a1f85fcf2ebae80c79c5360d8533031d9 (patch) | |
tree | 6c9387a99eba96f5e75b1a4dde65b7bf3f00f3ca /src | |
parent | eccbb9e9e2e0504205c99ac39ba1cb29a3eb3385 (diff) |
Simplify the enable_xo_palette stuff
Diffstat (limited to 'src')
-rw-r--r-- | src/jarabe/desktop/favoritesview.py | 45 | ||||
-rw-r--r-- | src/jarabe/desktop/homebox.py | 9 | ||||
-rw-r--r-- | src/jarabe/desktop/homewindow.py | 26 |
3 files changed, 29 insertions, 51 deletions
diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 855c4b6..643c57a 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -88,6 +88,7 @@ class FavoritesView(hippo.Canvas): self.set_root(self._box) self._my_icon = _MyIcon(style.XLARGE_ICON_SIZE) + self._my_icon.connect('register-activate', self.__register_activate_cb) self._box.append(self._my_icon) self._current_activity = CurrentActivityIcon() @@ -183,12 +184,6 @@ class FavoritesView(hippo.Canvas): hippo.Canvas.do_size_allocate(self, allocation) - def enable_xo_palette(self): - self._my_icon.enable_palette() - if self._my_icon.register_menu is not None: - self._my_icon.register_menu.connect('activate', - self.__register_activate_cb) - # TODO: Dnd methods. This should be merged somehow inside hippo-canvas. def __button_press_event_cb(self, widget, event): if event.button == 1 and event.type == gtk.gdk.BUTTON_PRESS: @@ -316,7 +311,7 @@ class FavoritesView(hippo.Canvas): self._box.remove(self._alert) self._alert = None - def __register_activate_cb(self, menuitem): + def __register_activate_cb(self, icon): alert = Alert() try: schoolserver.register_laptop() @@ -326,9 +321,8 @@ class FavoritesView(hippo.Canvas): else: alert.props.title = _('Registration Successful') alert.props.msg = _('You are now registered ' \ - 'with your school server.') - palette = self._my_icon.get_palette() - palette.menu.remove(menuitem) + 'with your school server.') + self._my_icon.remove_register_menu() ok_icon = Icon(icon_name='dialog-ok') alert.add_button(gtk.RESPONSE_OK, _('Ok'), ok_icon) @@ -440,13 +434,24 @@ class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem): self._update() class _MyIcon(MyIcon): + __gtype_name__ = 'SugarFavoritesMyIcon' + + __gsignals__ = { + 'register-activate' : (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, ([])), + } def __init__(self, scale): MyIcon.__init__(self, scale) self._power_manager = None - self.register_menu = None + self._palette_enabled = False + self._register_menu = None + + def create_palette(self): + if not self._palette_enabled: + self._palette_enabled = True + return - def enable_palette(self): client = gconf.client_get_default() nick = client.get_string("/desktop/sugar/user/nick") color = XoColor(client.get_string("/desktop/sugar/user/color")) @@ -473,11 +478,12 @@ class _MyIcon(MyIcon): backup_url = client.get_string('/desktop/sugar/backup_url') if not backup_url: - self.register_menu = MenuItem(_('Register'), 'media-record') - palette.menu.append(self.register_menu) - self.register_menu.show() + self._register_menu = MenuItem(_('Register'), 'media-record') + self._register_menu.connect('activate', self.__register_activate_cb) + palette.menu.append(self._register_menu) + self._register_menu.show() - self.set_palette(palette) + return palette def _reboot_activate_cb(self, menuitem): session_manager = get_session_manager() @@ -494,3 +500,10 @@ class _MyIcon(MyIcon): panel = ControlPanel() panel.set_transient_for(self.get_toplevel()) panel.show() + + def __register_activate_cb(self, menuitem): + self.emit('register-activate') + + def remove_register_menu(self): + self.palette.remove(self._register_menu) + diff --git a/src/jarabe/desktop/homebox.py b/src/jarabe/desktop/homebox.py index 8580140..2ffda09 100644 --- a/src/jarabe/desktop/homebox.py +++ b/src/jarabe/desktop/homebox.py @@ -56,7 +56,6 @@ class HomeBox(gtk.VBox): self._favorites_view = favoritesview.FavoritesView() self._list_view = ActivitiesList() - self._enable_xo_palette = False self._favorites_view.connect('erase-activated', self.__erase_activated_cb) @@ -180,9 +179,6 @@ class HomeBox(gtk.VBox): self._favorites_view.layout = layout - if self._enable_xo_palette: - self._favorites_view.enable_xo_palette() - if self._favorites_view not in self.get_children(): self.add(self._favorites_view) self._favorites_view.show() @@ -209,11 +205,6 @@ class HomeBox(gtk.VBox): #return self._donut.has_activities() return False - def enable_xo_palette(self): - self._enable_xo_palette = True - if self._favorites_view is not None: - self._favorites_view.enable_xo_palette() - def focus_search_entry(self): self._toolbar.search_entry.grab_focus() diff --git a/src/jarabe/desktop/homewindow.py b/src/jarabe/desktop/homewindow.py index 37509b4..bbb0db1 100644 --- a/src/jarabe/desktop/homewindow.py +++ b/src/jarabe/desktop/homewindow.py @@ -52,13 +52,6 @@ class HomeWindow(gtk.Window): self.connect('visibility-notify-event', self._visibility_notify_event_cb) - self._enter_sid = self.connect('enter-notify-event', - self._enter_notify_event_cb) - self._leave_sid = self.connect('leave-notify-event', - self._leave_notify_event_cb) - self._motion_sid = self.connect('motion-notify-event', - self._motion_notify_event_cb) - self._home_box = HomeBox() self._group_box = GroupBox() self._mesh_box = MeshBox() @@ -73,25 +66,6 @@ class HomeWindow(gtk.Window): shell.get_model().zoom_level_changed.connect( self.__zoom_level_changed_cb) - def _enter_notify_event_cb(self, window, event): - if event.x != gtk.gdk.screen_width() / 2 or \ - event.y != gtk.gdk.screen_height() / 2: - self._mouse_moved() - - def _leave_notify_event_cb(self, window, event): - self._mouse_moved() - - def _motion_notify_event_cb(self, window, event): - self._mouse_moved() - - # We want to enable the XO palette only when the user - # moved away from the default mouse position (screen center). - def _mouse_moved(self): - self._home_box.enable_xo_palette() - self.disconnect(self._leave_sid) - self.disconnect(self._motion_sid) - self.disconnect(self._enter_sid) - def _deactivate_view(self, level): group = palettegroup.get_group("default") group.popdown() |