From 0adf2866fe1bcb1d5399bf4ace0424deb7226f6c Mon Sep 17 00:00:00 2001 From: Daniel Francis Date: Fri, 30 Nov 2012 15:47:38 +0000 Subject: Allow to use different layouts in both views Signed-off-by: Daniel Francis --- 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 = _('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: -- cgit v0.9.1