Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-07-09 16:36:00 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-07-09 16:36:00 (GMT)
commit7a2d6eb40dace709298a7b05929ced1a10992dda (patch)
tree481328368ab818c8f1b5655086303cfcad0656c3
parent57e5bc085f462e566d458773b3e0b3aacb6d733f (diff)
ensuring all args are passed through to Icon from CanvasIcon
-rw-r--r--src/sugar/graphics/icon.py60
1 files changed, 43 insertions, 17 deletions
diff --git a/src/sugar/graphics/icon.py b/src/sugar/graphics/icon.py
index 2758b58..6b31b81 100644
--- a/src/sugar/graphics/icon.py
+++ b/src/sugar/graphics/icon.py
@@ -558,25 +558,51 @@ class CanvasIcon(gtk.EventBox):
# Add an Icon to the EventBox
# Kludge: CanvasIcon uses slightly different props names than Icon
+ icon_args = {}
if 'file_name' in kwargs:
- if 'size' in kwargs:
- logging.debug('name %s size %d', kwargs['file_name'],
- kwargs['size'])
- self._icon = Icon(file=kwargs['file_name'],
- pixel_size=kwargs['size'])
- else:
- self._icon = Icon(file=kwargs['file_name'])
- elif 'icon_name' in kwargs:
- if 'size' in kwargs:
- logging.debug('name %s size %d', kwargs['icon_name'],
- kwargs['size'])
- self._icon = Icon(icon_name=kwargs['icon_name'],
- pixel_size=kwargs['size'])
- else:
- self._icon = Icon(icon_name=kwargs['icon_name'])
+ icon_args['file'] = kwargs['file_name']
else:
- self._icon = Icon()
-
+ icon_args['file'] = None
+ if 'icon_name' in kwargs:
+ icon_args['icon_name'] = kwargs['icon_name']
+ else:
+ icon_args['icon_name'] = None
+ if 'size' in kwargs:
+ icon_args['pixel_size'] = kwargs['size']
+ else:
+ icon_args['pixel_size'] = None # What should be the default?
+ if 'fill_color' in kwargs:
+ icon_args['fill_color'] = kwargs['fill_color']
+ else:
+ icon_args['fill_color'] = None
+ if 'stroke_color' in kwargs:
+ icon_args['stroke_color'] = kwargs['stroke_color']
+ else:
+ icon_args['stroke_color'] = None
+ if 'xo_color' in kwargs:
+ icon_args['xo_color'] = kwargs['xo_color']
+ else:
+ icon_args['xo_color'] = None
+ if 'badge_name' in kwargs:
+ icon_args['badge_name'] = kwargs['badge_name']
+ else:
+ icon_args['badge_name'] = None
+
+ if icon_args['pixel_size'] is not None:
+ self._icon = Icon(file=icon_args['file'],
+ icon_name=icon_args['icon_name'],
+ pixel_size=icon_args['pixel_size'],
+ fill_color=icon_args['fill_color'],
+ stroke_color=icon_args['stroke_color'],
+ xo_color=icon_args['xo_color'],
+ badge_name=icon_args['badge_name'])
+ else:
+ self._icon = Icon(file=icon_args['file'],
+ icon_name=icon_args['icon_name'],
+ fill_color=icon_args['fill_color'],
+ stroke_color=icon_args['stroke_color'],
+ xo_color=icon_args['xo_color'],
+ badge_name=icon_args['badge_name'])
self._icon.show()
vbox.pack_start(self._icon)