Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-10-23 14:06:57 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-10-23 14:06:57 (GMT)
commit4ff4e22a1f85fcf2ebae80c79c5360d8533031d9 (patch)
tree6c9387a99eba96f5e75b1a4dde65b7bf3f00f3ca /src
parenteccbb9e9e2e0504205c99ac39ba1cb29a3eb3385 (diff)
Simplify the enable_xo_palette stuff
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/desktop/favoritesview.py45
-rw-r--r--src/jarabe/desktop/homebox.py9
-rw-r--r--src/jarabe/desktop/homewindow.py26
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()