diff options
author | Daniel Francis <francis@sugarlabs.org> | 2012-11-29 20:38:18 (GMT) |
---|---|---|
committer | Daniel Francis <francis@sugarlabs.org> | 2012-11-29 20:38:18 (GMT) |
commit | 41e2d947034df339140d8064e375222a4d160aea (patch) | |
tree | 1f86d8fc80d747f7fa58374406694b92a08f5958 | |
parent | daeb365d096f9a08b8f82058237dfa4d1c7ddbce (diff) |
Other conditionals for multiple homeviews
Signed-off-by: Daniel Francis <francis@sugarlabs.org>
-rw-r--r-- | src/jarabe/model/bundleregistry.py | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/src/jarabe/model/bundleregistry.py b/src/jarabe/model/bundleregistry.py index fb133a6..ee680f0 100644 --- a/src/jarabe/model/bundleregistry.py +++ b/src/jarabe/model/bundleregistry.py @@ -403,19 +403,29 @@ class BundleRegistry(GObject.GObject): def set_bundle_position(self, bundle_id, version, x, y): key = self._get_favorite_key(bundle_id, version) - if key not in self._favorite_bundles: - raise ValueError('Bundle %s %s not favorite' % - (bundle_id, version)) + if key not in self._favorite_bundles and key not in self._school_activities: + raise ValueError('Bundle %s %s not favorite' % (bundle_id, version)) - if self._favorite_bundles[key] is None: - self._favorite_bundles[key] = {} - if 'position' not in self._favorite_bundles[key] or \ + if key in self._favorite_bundles: + if self._favorite_bundles[key] is None: + self._favorite_bundles[key] = {} + if 'position' not in self._favorite_bundles[key] or \ [x, y] != self._favorite_bundles[key]['position']: - self._favorite_bundles[key]['position'] = [x, y] - else: - return + self._favorite_bundles[key]['position'] = [x, y] + else: + return + self._write_favorites_file() + + if key in self._school_bundles: + if self._school_bundles[key] is None: + self._school_bundles[key] = {} + if 'position' not in self._school_bundles[key] or \ + [x, y] != self._school_bundles[key]['position']: + self._school_bundles[key]['position'] = [x, y] + else: + return + self._write_school_file() - self._write_favorites_file() bundle = self._find_bundle(bundle_id, version) self.emit('bundle-changed', bundle) @@ -424,12 +434,18 @@ class BundleRegistry(GObject.GObject): bundle to be displayed. Coordinates are relative to a 1000x1000 area. """ key = self._get_favorite_key(bundle_id, version) - if key not in self._favorite_bundles or \ - self._favorite_bundles[key] is None or \ + if key in self._favorite_bundles: + if self._favorite_bundles[key] is None or \ 'position' not in self._favorite_bundles[key]: - return (-1, -1) - else: - return tuple(self._favorite_bundles[key]['position']) + return (-1, -1) + else: + return tuple(self._favorite_bundles[key]['position']) + elif key in self._school_bundles: + if self._school_bundles[key] is None or \ + 'position' not in self._school_bundles[key]: + return (-1, -1) + else: + return tuple(self._school_bundles[key]['position']) def _write_favorites_file(self): path = env.get_profile_path('favorite_activities') |