Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-09-18 10:39:39 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2009-09-18 10:39:39 (GMT)
commitc3619ae5a1fb0950edd2876700cee93f6d702f1f (patch)
tree7601b160ae415d1e850d29da10c03351742049dc
parentd8872c7095b9b73b0c48d21d07cc4793fcc3b626 (diff)
favoritesview.py: icon-color KeyError #976
-rw-r--r--src/jarabe/desktop/favoritesview.py30
-rw-r--r--src/jarabe/journal/expandedentry.py10
-rw-r--r--src/jarabe/journal/listmodel.py5
-rw-r--r--src/jarabe/journal/misc.py8
-rw-r--r--src/jarabe/journal/palettes.py9
5 files changed, 29 insertions, 33 deletions
diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py
index 5680d3e..73ab327 100644
--- a/src/jarabe/desktop/favoritesview.py
+++ b/src/jarabe/desktop/favoritesview.py
@@ -42,7 +42,7 @@ from jarabe.view import launcher
from jarabe.model.buddy import BuddyModel
from jarabe.model import shell
from jarabe.model import bundleregistry
-from jarabe import journal
+from jarabe.journal import misc
from jarabe.desktop import schoolserver
from jarabe.desktop.schoolserver import RegisterError
@@ -458,11 +458,11 @@ class ActivityIcon(CanvasIcon):
def _update(self):
self.palette = None
if not self._resume_mode or not self._journal_entries:
- self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
- self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
+ xo_color = XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
+ style.COLOR_TRANSPARENT.get_svg()))
else:
- first_entry = self._journal_entries[0]
- self.props.xo_color = XoColor(first_entry['icon-color'])
+ xo_color = misc.get_icon_color(self._journal_entries[0])
+ self.props.xo_color = xo_color
def create_palette(self):
palette = FavoritePalette(self._activity_info, self._journal_entries)
@@ -528,8 +528,8 @@ class ActivityIcon(CanvasIcon):
launcher.add_launcher(entry['activity_id'],
self._activity_info.get_icon(),
- XoColor(entry.get('icon-color', '')))
- journal.misc.resume(entry, self._activity_info.get_bundle_id())
+ misc.get_icon_color(entry))
+ misc.resume(entry, self._activity_info.get_bundle_id())
else:
client = gconf.client_get_default()
xo_color = XoColor(client.get_string('/desktop/sugar/user/color'))
@@ -569,14 +569,14 @@ class FavoritePalette(ActivityPalette):
def __init__(self, activity_info, journal_entries):
ActivityPalette.__init__(self, activity_info)
- if journal_entries and journal_entries[0].get('icon-color', ''):
- color = XoColor(journal_entries[0]['icon-color'])
+ if not journal_entries:
+ xo_color = XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
+ style.COLOR_TRANSPARENT.get_svg()))
else:
- color = XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
- style.COLOR_WHITE.get_svg()))
+ xo_color = misc.get_icon_color(journal_entries[0])
self.props.icon = Icon(file=activity_info.get_icon(),
- xo_color=color,
+ xo_color=xo_color,
icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR)
if journal_entries:
@@ -584,8 +584,8 @@ class FavoritePalette(ActivityPalette):
menu_items = []
for entry in journal_entries:
- icon_file_name = journal.misc.get_icon_name(entry)
- color = XoColor(entry.get('icon-color', None))
+ icon_file_name = misc.get_icon_name(entry)
+ color = misc.get_icon_color(entry)
menu_item = MenuItem(text_label=entry['title'],
file_name=icon_file_name,
@@ -604,7 +604,7 @@ class FavoritePalette(ActivityPalette):
def __resume_entry_cb(self, menu_item, entry):
if entry is not None:
- journal.misc.resume(entry, entry['activity'])
+ misc.resume(entry, entry['activity'])
class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem):
def __init__(self):
diff --git a/src/jarabe/journal/expandedentry.py b/src/jarabe/journal/expandedentry.py
index fdf3478..94d90ed 100644
--- a/src/jarabe/journal/expandedentry.py
+++ b/src/jarabe/journal/expandedentry.py
@@ -180,13 +180,11 @@ class ExpandedEntry(hippo.CanvasBox):
self._icon_button_release_event_cb)
if misc.is_activity_bundle(self._metadata):
- icon.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
- icon.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
+ xo_color = XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
+ style.COLOR_TRANSPARENT.get_svg()))
else:
- if self._metadata.has_key('icon-color') and \
- self._metadata['icon-color']:
- icon.props.xo_color = XoColor( \
- self._metadata['icon-color'])
+ xo_color = misc.get_icon_color(self._metadata)
+ icon.props.xo_color = xo_color
icon.set_palette(ObjectPalette(self._metadata))
diff --git a/src/jarabe/journal/listmodel.py b/src/jarabe/journal/listmodel.py
index 917fbb1..32df853 100644
--- a/src/jarabe/journal/listmodel.py
+++ b/src/jarabe/journal/listmodel.py
@@ -132,10 +132,7 @@ class ListModel(gtk.GenericTreeModel, gtk.TreeDragSource):
xo_color = XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
style.COLOR_TRANSPARENT.get_svg()))
else:
- if metadata.get('icon-color', ''):
- xo_color = XoColor(metadata['icon-color'])
- else:
- xo_color = None
+ xo_color = misc.get_icon_color(metadata)
self._cached_row.append(xo_color)
title = gobject.markup_escape_text(metadata.get('title', None))
diff --git a/src/jarabe/journal/misc.py b/src/jarabe/journal/misc.py
index 5ea1d24..a9baec8 100644
--- a/src/jarabe/journal/misc.py
+++ b/src/jarabe/journal/misc.py
@@ -20,10 +20,12 @@ import os
from gettext import gettext as _
import gio
+import gconf
from sugar.activity import activityfactory
from sugar.activity.activityhandle import ActivityHandle
from sugar.graphics.icon import get_icon_file_name
+from sugar.graphics.xocolor import XoColor
from sugar import mime
from sugar.bundle.activitybundle import ActivityBundle
from sugar.bundle.contentbundle import ContentBundle
@@ -229,3 +231,9 @@ def is_bundle(metadata):
return is_activity_bundle(metadata) or is_content_bundle(metadata) or \
is_journal_bundle(metadata)
+def get_icon_color(metadata):
+ if metadata is None or not 'icon-color' in metadata:
+ client = gconf.client_get_default()
+ return XoColor(client.get_string('/desktop/sugar/user/color'))
+ else:
+ return XoColor(metadata['icon-color'])
diff --git a/src/jarabe/journal/palettes.py b/src/jarabe/journal/palettes.py
index cd4985a..e0dfbf4 100644
--- a/src/jarabe/journal/palettes.py
+++ b/src/jarabe/journal/palettes.py
@@ -51,14 +51,7 @@ class ObjectPalette(Palette):
activity_icon = Icon(icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR)
activity_icon.props.file = misc.get_icon_name(metadata)
- if metadata.has_key('icon-color') and \
- metadata['icon-color']:
- activity_icon.props.xo_color = \
- XoColor(metadata['icon-color'])
- else:
- activity_icon.props.xo_color = \
- XoColor('%s,%s' % (style.COLOR_BUTTON_GREY.get_svg(),
- style.COLOR_TRANSPARENT.get_svg()))
+ activity_icon.props.xo_color = misc.get_icon_color(metadata)
if metadata.has_key('title'):
title = gobject.markup_escape_text(metadata['title'])