Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar
diff options
context:
space:
mode:
Diffstat (limited to 'src/sugar')
-rw-r--r--src/sugar/graphics/iconentry.py25
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()