Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Francis <francis@sugarlabs.org>2012-11-30 15:47:38 (GMT)
committer Daniel Francis <francis@sugarlabs.org>2012-11-30 15:47:38 (GMT)
commit0adf2866fe1bcb1d5399bf4ace0424deb7226f6c (patch)
treeb247c1a7adcfe1cac545f4ea8ead70b0a9bb072d
parentcba77e2982b8b631585cffdb9b94c2f76e6beb39 (diff)
Allow to use different layouts in both views
Signed-off-by: Daniel Francis <francis@sugarlabs.org>
-rw-r--r--src/jarabe/desktop/favoritesview.py32
-rw-r--r--src/jarabe/desktop/viewtoolbar.py10
2 files changed, 32 insertions, 10 deletions
diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py
index 16a0cef..5a414ef 100644
--- a/src/jarabe/desktop/favoritesview.py
+++ b/src/jarabe/desktop/favoritesview.py
@@ -69,6 +69,7 @@ LAYOUT_MAP = {favoriteslayout.RingLayout.key: favoriteslayout.RingLayout,
about the layout can be accessed with fields of the class."""
_favorites_settings = None
+_school_settings = None
class FavoritesBox(Gtk.VBox):
@@ -151,12 +152,18 @@ class FavoritesView(ViewContainer):
GObject.idle_add(self.__connect_to_bundle_registry_cb)
- favorites_settings = get_settings()
+ if self._box.load_favorites:
+ favorites_settings = get_favorite_settings()
+ else:
+ favorites_settings = get_school_settings()
favorites_settings.changed.connect(self.__settings_changed_cb)
self._set_layout(favorites_settings.layout)
def __settings_changed_cb(self, **kwargs):
- favorites_settings = get_settings()
+ if self._box.load_favorites:
+ favorites_settings = get_favorite_settings()
+ else:
+ favorites_settings = get_school_settings()
layout_set = self._set_layout(favorites_settings.layout)
if layout_set:
self.set_layout(self._layout)
@@ -693,9 +700,9 @@ class OwnerIcon(BuddyIcon):
self._register_menu.show()
-class FavoritesSetting(object):
+class Setting(object):
- _FAVORITES_KEY = '/desktop/sugar/desktop/favorites_layout'
+ _FAVORITES_KEY = None
def __init__(self):
client = GConf.Client.get_default()
@@ -722,8 +729,23 @@ class FavoritesSetting(object):
layout = property(get_layout, set_layout)
-def get_settings():
+class FavoritesSetting(Setting):
+ _FAVORITES_KEY = '/desktop/sugar/desktop/favorites_layout'
+
+
+class SchoolSetting(Setting):
+ _FAVORITES_KEY = '/desktop/sugar/desktop/school_layout'
+
+
+def get_favorite_settings():
global _favorites_settings
if _favorites_settings is None:
_favorites_settings = FavoritesSetting()
return _favorites_settings
+
+
+def get_school_settings():
+ global _school_settings
+ if _school_settings is None:
+ _school_settings = SchoolSetting()
+ return _school_settings
diff --git a/src/jarabe/desktop/viewtoolbar.py b/src/jarabe/desktop/viewtoolbar.py
index 8d658d8..99e7187 100644
--- a/src/jarabe/desktop/viewtoolbar.py
+++ b/src/jarabe/desktop/viewtoolbar.py
@@ -162,7 +162,7 @@ class FavoritesButton(RadioToolButton):
self.props.group = None
self.props.icon_name = 'gtk-home'
- favorites_settings = favoritesview.get_settings()
+ favorites_settings = favoritesview.get_favorite_settings()
self._layout = favorites_settings.layout
self._update_icon()
@@ -190,7 +190,7 @@ class FavoritesButton(RadioToolButton):
self._layout = layout
self._update_icon()
- favorites_settings = favoritesview.get_settings()
+ favorites_settings = favoritesview.get_favorite_settings()
favorites_settings.layout = layout
if not self.props.active:
@@ -213,8 +213,8 @@ class SchoolButton(RadioToolButton):
self.props.accelerator = _('<Ctrl>I')
self.props.group = None
- favorites_settings = favoritesview.get_settings()
- self._layout = favorites_settings.layout
+ school_settings = favoritesview.get_school_settings()
+ self._layout = school_settings.layout
self._update_icon()
# someday, this will be a Gtk.Table()
@@ -241,7 +241,7 @@ class SchoolButton(RadioToolButton):
self._layout = layout
self._update_icon()
- favorites_settings = favoritesview.get_settings()
+ favorites_settings = favoritesview.get_school_settings()
favorites_settings.layout = layout
if not self.props.active: