diff options
author | Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> | 2010-08-17 18:40:59 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> | 2010-08-18 18:08:32 (GMT) |
commit | 42dbe261c33d4e55c286b919f0356bdaad19f417 (patch) | |
tree | b57537498660f062dfc9c33a655b5bbd7f270657 | |
parent | 57c1460efcb6a1876bb3711826d35c80e40d54a1 (diff) |
Move from SexyIconEntry to gtk.Entry
-rw-r--r-- | src/sugar/graphics/iconentry.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/sugar/graphics/iconentry.py b/src/sugar/graphics/iconentry.py index 4ce2c4f..acf73a9 100644 --- a/src/sugar/graphics/iconentry.py +++ b/src/sugar/graphics/iconentry.py @@ -17,19 +17,17 @@ import gtk -from sugar import _sugarext - from sugar.graphics import style from sugar.graphics.icon import _SVGLoader -ICON_ENTRY_PRIMARY = _sugarext.ICON_ENTRY_PRIMARY -ICON_ENTRY_SECONDARY = _sugarext.ICON_ENTRY_SECONDARY +ICON_ENTRY_PRIMARY = gtk.ENTRY_ICON_PRIMARY +ICON_ENTRY_SECONDARY = gtk.ENTRY_ICON_SECONDARY -class IconEntry(_sugarext.IconEntry): +class IconEntry(gtk.Entry): def __init__(self): - _sugarext.IconEntry.__init__(self) + gtk.Entry.__init__(self) self._clear_icon = None self._clear_shown = False @@ -59,13 +57,18 @@ class IconEntry(_sugarext.IconEntry): self.set_icon(position, image) def set_icon(self, position, image): - if image.get_storage_type() not in [gtk.IMAGE_PIXBUF, gtk.IMAGE_STOCK]: + if image.get_storage_type() == gtk.IMAGE_PIXBUF: + pixbuf = image.get_pixbuf() + gtk.Entry.set_icon_from_pixbuf(self, position, pixbuf) + elif image.get_storage_type() == gtk.IMAGE_STOCK: + stock, size = image.get_stock() + gtk.Entry.set_icon_from_stock(self, position, stock) + else: raise ValueError('Image must have a storage type of pixbuf or ' + 'stock, not %r.' % image.get_storage_type()) - _sugarext.IconEntry.set_icon(self, position, image) def remove_icon(self, position): - _sugarext.IconEntry.set_icon(self, position, None) + gtk.Entry.set_icon(self, position, None) def add_clear_button(self): if self.props.text != "": @@ -73,7 +76,7 @@ class IconEntry(_sugarext.IconEntry): else: self.hide_clear_button() - self.connect('icon-pressed', self._icon_pressed_cb) + self.connect('icon-press', self._icon_press_cb) self.connect('changed', self._changed_cb) def show_clear_button(self): @@ -94,7 +97,7 @@ class IconEntry(_sugarext.IconEntry): return True return False - def _icon_pressed_cb(self, entru, icon_pos, button): + def _icon_press_cb(self, entry, icon_pos, event): if icon_pos == ICON_ENTRY_SECONDARY: self.set_text('') self.hide_clear_button() |