Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activities/browser/AddressItem.py
diff options
context:
space:
mode:
Diffstat (limited to 'activities/browser/AddressItem.py')
-rw-r--r--activities/browser/AddressItem.py73
1 files changed, 15 insertions, 58 deletions
diff --git a/activities/browser/AddressItem.py b/activities/browser/AddressItem.py
index a6db4e2..6d23652 100644
--- a/activities/browser/AddressItem.py
+++ b/activities/browser/AddressItem.py
@@ -1,64 +1,21 @@
+import gobject
import gtk
-class AddressEntry(gtk.HBox):
- def __init__(self, callback):
- gtk.HBox.__init__(self)
-
- self.callback = callback
- self.folded = True
-
- label = gtk.Label("Open")
- self.pack_start(label, False)
- label.show()
-
- self.button = gtk.Button()
- self.button.set_relief(gtk.RELIEF_NONE)
- self.button.connect("clicked", self.__button_clicked_cb)
- self.pack_start(self.button, False)
- self.button.show()
-
- self.entry = gtk.Entry()
- self.entry.connect("activate", self.__activate_cb)
- self.pack_start(self.entry, False)
- self.entry.show()
-
- self._update_folded_state()
-
- def _update_folded_state(self):
- if self.folded:
- image = gtk.Image()
- image.set_from_icon_name('expand', gtk.ICON_SIZE_SMALL_TOOLBAR)
- self.button.set_image(image)
- image.show()
-
- self.entry.hide()
- else:
- image = gtk.Image()
- image.set_from_icon_name('unexpand', gtk.ICON_SIZE_SMALL_TOOLBAR)
- self.button.set_image(image)
- image.show()
+class AddressItem(gtk.ToolItem):
+ __gsignals__ = {
+ 'open-address': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE, ([str])),
+ }
- self.entry.show()
- self.entry.grab_focus()
-
- def get_folded(self):
- return self.folded
-
- def set_folded(self, folded):
- self.folded = folded
- self._update_folded_state()
+ def __init__(self):
+ gtk.ToolItem.__init__(self)
- def __button_clicked_cb(self, button):
- self.set_folded(not self.get_folded())
+ entry = gtk.Entry()
+ width = int(gtk.gdk.screen_width() / 2)
+ entry.set_size_request(width, -1)
+ entry.connect("activate", self.__activate_cb)
+ self.add(entry)
+ entry.show()
def __activate_cb(self, entry):
- self.callback(entry.get_text())
- self.set_folded(True)
-
-class AddressItem(gtk.ToolItem):
- def __init__(self, callback):
- gtk.ToolItem.__init__(self)
-
- address_entry = AddressEntry(callback)
- self.add(address_entry)
- address_entry.show()
+ self.emit('open-address', entry.get_text())