diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-01-12 20:35:53 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-01-12 20:35:53 (GMT) |
commit | 6971ddb9a44782cd525d6a0f416bdf3cdb82d346 (patch) | |
tree | ba9b9054026271cda32f1e2570ad302a1097713e /sugar/activity | |
parent | 55339d4bea6ac9bddfce526d9271a4a93bc844b3 (diff) |
Support for activity icons inside the bundle.
Patch by Gonzalo Odiard <godiard@gmail.com>
Modified by me to allow icon theme to override the bundle one.
Diffstat (limited to 'sugar/activity')
-rw-r--r-- | sugar/activity/bundle.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sugar/activity/bundle.py b/sugar/activity/bundle.py index d9fd0bf..3951c42 100644 --- a/sugar/activity/bundle.py +++ b/sugar/activity/bundle.py @@ -3,6 +3,8 @@ import os from ConfigParser import ConfigParser +import gtk + class Bundle: """Info about an activity bundle. Wraps the activity.info file.""" def __init__(self, path): @@ -21,6 +23,8 @@ class Bundle: self._valid = False def _parse_info(self, info_path): + base_path = os.path.dirname(info_path) + cp = ConfigParser() cp.read([info_path]) @@ -49,7 +53,11 @@ class Bundle: self._show_launcher = False if cp.has_option(section, 'icon'): - self._icon = cp.get(section, 'icon') + icon = cp.get(section, 'icon') + if gtk.icon_theme_get_default().has_icon(icon): + self._icon = 'theme:' + icon + else: + self._icon = os.path.join(base_path, icon + ".svg") if cp.has_option(section, 'activity_version'): self._activity_version = int(cp.get(section, 'activity_version')) |