Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jarabe/desktop/homebox.py16
-rw-r--r--src/jarabe/desktop/homewindow.py14
-rw-r--r--src/jarabe/frame/activitiestray.py6
-rw-r--r--src/jarabe/frame/zoomtoolbar.py11
-rw-r--r--src/jarabe/model/shell.py9
5 files changed, 40 insertions, 16 deletions
diff --git a/src/jarabe/desktop/homebox.py b/src/jarabe/desktop/homebox.py
index 85279ff..397fbd6 100644
--- a/src/jarabe/desktop/homebox.py
+++ b/src/jarabe/desktop/homebox.py
@@ -109,19 +109,23 @@ class HomeBox(gtk.VBox):
def _set_view(self, view):
if view == _FAVORITES_VIEW:
- if self._list_view in self.get_children():
- self.remove(self._list_view)
+ if self._list_view:
+ self._list_view.hide()
+ #if self._list_view in self.get_children():
+ # self.remove(self._list_view)
if self._favorites_view not in self.get_children():
self.add(self._favorites_view)
- self._favorites_view.show()
+ self._favorites_view.show()
elif view == _LIST_VIEW:
- if self._favorites_view in self.get_children():
- self.remove(self._favorites_view)
+ #if self._favorites_view in self.get_children():
+ # self.remove(self._favorites_view)
+ if self._favorites_view:
+ self._favorites_view.hide()
if self._list_view not in self.get_children():
self.add(self._list_view)
- self._list_view.show()
+ self._list_view.show()
else:
raise ValueError('Invalid view: %r' % view)
diff --git a/src/jarabe/desktop/homewindow.py b/src/jarabe/desktop/homewindow.py
index 3aa88dc..23a648e 100644
--- a/src/jarabe/desktop/homewindow.py
+++ b/src/jarabe/desktop/homewindow.py
@@ -68,20 +68,17 @@ class HomeWindow(gtk.Window):
self._home_overlay = FrameOverlayer(self._home_box)
self._group_overlay = FrameOverlayer(self._group_box)
self._mesh_overlay = FrameOverlayer(self._mesh_box)
- #Hide them f...
+ #Hide them
self._home_overlay.hide()
self._group_overlay.hide()
self._mesh_overlay.hide()
#Make em overlap this window
- self._home_overlay.set_transient_for(self)
- self._group_overlay.set_transient_for(self)
- self._mesh_overlay.set_transient_for(self)
+ #self._home_overlay.set_transient_for(self)
+ #self._group_overlay.set_transient_for(self)
+ #self._mesh_overlay.set_transient_for(self)
self.add(self._home_box)
self._home_box.show()
- self._home_overlay.put(TextBubble("testhome"), 100, 200)
- self._group_overlay.put(TextBubble("testgroup"), 200, 200)
- self._mesh_overlay.put(TextBubble("testmesh"), 300, 200)
self._transition_box.connect('completed',
self._transition_completed_cb)
@@ -91,6 +88,9 @@ class HomeWindow(gtk.Window):
self._home_probe = TProbe.TProbe(self._home_box, "org.sugar.desktop.home", "org/sugar/desktop/home", overlayer=self._home_overlay)
self._group_probe = TProbe.TProbe(self._group_box, "org.sugar.desktop.group", "org/sugar/desktop/group", overlayer=self._group_overlay)
+ import pickle
+ import sugar.tutorius.addon as addon
+ self._group_probe.install(pickle.dumps(addon.create("BubbleMessage", position=(100,100), message="This is a probe addon \nfor the group view.")), is_editing=True)
self._mesh_probe = TProbe.TProbe(self._mesh_box, "org.sugar.desktop.mesh", "org/sugar/desktop/mesh", overlayer=self._mesh_overlay)
def _deactivate_view(self, level):
diff --git a/src/jarabe/frame/activitiestray.py b/src/jarabe/frame/activitiestray.py
index d6831b2..ec4309a 100644
--- a/src/jarabe/frame/activitiestray.py
+++ b/src/jarabe/frame/activitiestray.py
@@ -371,6 +371,12 @@ class ActivitiesTray(HTray):
# Only select the new activity, if there is no tabbing activity.
if home_model.get_tabbing_activity() is None:
self._activate_activity(home_activity)
+ from sugar.tutorius.service import ServiceProxy
+ service = ServiceProxy()
+ if home_activity.is_journal():
+ service.set_current_act("org.laptop.JournalActivity")
+ else:
+ service.set_current_act(home_activity.get_type())
def __tabbing_activity_changed_cb(self, home_model, home_activity):
logging.debug('__tabbing_activity_changed_cb: %r', home_activity)
diff --git a/src/jarabe/frame/zoomtoolbar.py b/src/jarabe/frame/zoomtoolbar.py
index c168e97..cc06998 100644
--- a/src/jarabe/frame/zoomtoolbar.py
+++ b/src/jarabe/frame/zoomtoolbar.py
@@ -76,14 +76,25 @@ class ZoomToolbar(gtk.Toolbar):
def _set_zoom_level(self, new_level):
logging.debug('new zoom level: %r', new_level)
+ from sugar.tutorius.service import ServiceProxy
+ service = ServiceProxy()
if new_level == shell.ShellModel.ZOOM_MESH:
self._mesh_button.props.active = True
+ service.set_current_act("org.sugar.desktop.mesh")
elif new_level == shell.ShellModel.ZOOM_GROUP:
self._groups_button.props.active = True
+ service.set_current_act("org.sugar.desktop.group")
elif new_level == shell.ShellModel.ZOOM_HOME:
self._home_button.props.active = True
+ service.set_current_act("org.sugar.desktop.home")
elif new_level == shell.ShellModel.ZOOM_ACTIVITY:
self._activity_button.props.active = True
+ current_act = shell.get_model().get_active_activity()
+ if current_act is not None:
+ if current_act.is_journal():
+ service.set_current_act("org.laptop.JournalActivity")
+ else:
+ service.set_current_act(current_act.get_type())
else:
raise ValueError('Invalid zoom level: %r' % (new_level))
diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py
index ef2268d..e119931 100644
--- a/src/jarabe/model/shell.py
+++ b/src/jarabe/model/shell.py
@@ -356,9 +356,12 @@ class ShellModel(gobject.GObject):
if old_level != self.ZOOM_ACTIVITY:
screen = gtk.gdk.screen_get_default()
- active_window_type = screen.get_active_window().get_type_hint()
- if active_window_type != gtk.gdk.WINDOW_TYPE_HINT_DESKTOP:
- return
+ active_window = screen.get_active_window()
+ # HACK alert! This does random behavior on the screens
+ if active_window:
+ active_window_type = active_window.get_type_hint()
+ if active_window_type != gtk.gdk.WINDOW_TYPE_HINT_DESKTOP:
+ return
self._zoom_level = new_level
if new_level is not self.ZOOM_ACTIVITY: