diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2008-10-21 14:21:05 (GMT) |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2008-10-21 14:21:05 (GMT) |
commit | 3ee69f9849a7d94407dd3209954cf6e0f9ee54f0 (patch) | |
tree | 81a81b71739ed0e21261849ca698932ec81a4277 | |
parent | 44afcfca952ff2bb90cd5771bce2da7c2063a082 (diff) | |
parent | 2b151235a759c50974ae3e707222834b4df36279 (diff) |
Merge branch 'master' of git+ssh://guillaume@dev.laptop.org/git/sugar
-rw-r--r-- | bin/sugar-emulator | 6 | ||||
-rw-r--r-- | data/sugar.schemas.in | 11 | ||||
-rw-r--r-- | src/jarabe/desktop/favoriteslayout.py | 2 | ||||
-rw-r--r-- | src/jarabe/desktop/favoritesview.py | 60 |
4 files changed, 43 insertions, 36 deletions
diff --git a/bin/sugar-emulator b/bin/sugar-emulator index 33bd71f..4daba14 100644 --- a/bin/sugar-emulator +++ b/bin/sugar-emulator @@ -91,8 +91,10 @@ def main(): """Script-level operations""" parser = OptionParser() - parser.add_option('-d', '--dpi', dest='dpi', help='Emulator dpi') - parser.add_option('-s', '--scaling', dest='scaling', help='Sugar scaling') + parser.add_option('-d', '--dpi', dest='dpi', type="int", + help='Emulator dpi') + parser.add_option('-s', '--scaling', dest='scaling', + help='Sugar scaling in %') parser.add_option('-i', '--dimensions', dest='dimensions', help='Emulator dimensions (ex. 1200x900)') (options, args) = parser.parse_args() diff --git a/data/sugar.schemas.in b/data/sugar.schemas.in index 5cdff4d..ff37de0 100644 --- a/data/sugar.schemas.in +++ b/data/sugar.schemas.in @@ -120,17 +120,6 @@ <long>Url of the jabber server to use.</long> </locale> </schema> - <schema> - <key>/schemas/desktop/sugar/collaboration/jabber_registered</key> - <applyto>/desktop/sugar/collaboration/jabber_registered</applyto> - <owner>sugar</owner> - <type>bool</type> - <default>false</default> - <locale name="C"> - <short>Jabber Registered</short> - <long>Flag to keep track of the registration status with the jabber server.</long> - </locale> - </schema> <schema> <key>/schemas/desktop/sugar/power/automatic</key> diff --git a/src/jarabe/desktop/favoriteslayout.py b/src/jarabe/desktop/favoriteslayout.py index 9438e56..b286126 100644 --- a/src/jarabe/desktop/favoriteslayout.py +++ b/src/jarabe/desktop/favoriteslayout.py @@ -56,7 +56,6 @@ class FavoritesLayout(gobject.GObject, hippo.CanvasLayout): return 0 def append(self, icon, locked=False): - self.box.insert_sorted(icon, 0, self.compare_activities) if hasattr(icon, 'fixed_position'): relative_x, relative_y = icon.fixed_position if relative_x >= 0 and relative_y >= 0: @@ -69,7 +68,6 @@ class FavoritesLayout(gobject.GObject, hippo.CanvasLayout): def remove(self, icon): if icon in self.fixed_positions: del self.fixed_positions[icon] - self.box.remove(icon) def move_icon(self, icon, x, y, locked=False): if icon not in self.box.get_children(): diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 3db90ac..926f143 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -87,8 +87,12 @@ class FavoritesView(hippo.Canvas): self._box.props.background_color = style.COLOR_WHITE.get_int() self.set_root(self._box) - self._my_icon = None - self._current_activity = None + self._my_icon = _MyIcon(style.XLARGE_ICON_SIZE) + self._box.append(self._my_icon) + + self._current_activity = CurrentActivityIcon() + self._box.append(self._current_activity) + self._layout = None self._alert = None @@ -106,6 +110,12 @@ class FavoritesView(hippo.Canvas): def __connect_to_bundle_registry_cb(self): registry = bundleregistry.get_registry() + + for info in registry: + if registry.is_bundle_favorite(info.get_bundle_id(), + info.get_activity_version()): + self._add_activity(info) + registry.connect('bundle-added', self.__activity_added_cb) registry.connect('bundle-removed', self.__activity_removed_cb) registry.connect('bundle-changed', self.__activity_changed_cb) @@ -114,6 +124,7 @@ class FavoritesView(hippo.Canvas): icon = ActivityIcon(activity_info) icon.connect('erase-activated', self.__erase_activated_cb) icon.props.size = style.STANDARD_ICON_SIZE + self._box.insert_sorted(icon, 0, self._layout.compare_activities) self._layout.append(icon) def __erase_activated_cb(self, activity_icon, bundle_id): @@ -137,6 +148,7 @@ class FavoritesView(hippo.Canvas): activity_info.get_activity_version()) if icon is not None: self._layout.remove(icon) + self._box.remove(icon) def __activity_changed_cb(self, activity_registry, activity_info): if activity_info.get_bundle_id() == 'org.laptop.JournalActivity': @@ -265,30 +277,36 @@ class FavoritesView(hippo.Canvas): def _set_layout(self, layout): if layout not in LAYOUT_MAP: raise ValueError('Unknown favorites layout: %r' % layout) - if type(self._layout) != LAYOUT_MAP[layout]: - self._box.clear() - self._layout = LAYOUT_MAP[layout]() - self._box.set_layout(self._layout) - self._my_icon = _MyIcon(style.XLARGE_ICON_SIZE) - self._layout.append(self._my_icon, locked=True) + if type(self._layout) == LAYOUT_MAP[layout]: + return - self._current_activity = CurrentActivityIcon() - self._layout.append(self._current_activity, locked=True) + self._layout = LAYOUT_MAP[layout]() + self._box.set_layout(self._layout) + + #TODO: compatibility hack while sort() gets added to the hippo + # python bindings + if hasattr(self._box, 'sort'): + self._box.sort(self._layout.compare_activities) + else: + icons = self._box.get_children() + self._box.clear() + for icon in icons: + self._box.insert_sorted(icon, 0, self._layout.compare_activities) - registry = bundleregistry.get_registry() - for info in registry: - if registry.is_bundle_favorite(info.get_bundle_id(), - info.get_activity_version()): - self._add_activity(info) + for icon in self._box.get_children(): + if icon not in [self._my_icon, self._current_activity]: + self._layout.append(icon) + self._layout.append(self._my_icon, locked=True) + self._layout.append(self._current_activity, locked=True) - if self._layout.allow_dnd(): - self.drag_source_set(0, [], 0) - self.drag_dest_set(0, [], 0) - else: - self.drag_source_unset() - self.drag_dest_unset() + if self._layout.allow_dnd(): + self.drag_source_set(0, [], 0) + self.drag_dest_set(0, [], 0) + else: + self.drag_source_unset() + self.drag_dest_unset() layout = property(None, _set_layout) |