Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activities
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-09-21 14:09:23 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-09-21 14:09:23 (GMT)
commitc982879815f938deb6fb274c722933fe3b4584c8 (patch)
treef2ec831ca1e15601005300fb1f01564ba069b101 /activities
parentaf54df80ec90aafc4912b831424ac74a975547c1 (diff)
Rework toolbar to be more similar to the design. Cleanup code
Diffstat (limited to 'activities')
-rw-r--r--activities/browser/AddressItem.py73
-rw-r--r--activities/browser/BrowserActivity.py9
-rw-r--r--activities/browser/NavigationToolbar.py29
3 files changed, 41 insertions, 70 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())
diff --git a/activities/browser/BrowserActivity.py b/activities/browser/BrowserActivity.py
index 1315a12..6aa58b3 100644
--- a/activities/browser/BrowserActivity.py
+++ b/activities/browser/BrowserActivity.py
@@ -28,6 +28,10 @@ class BrowserActivity(Activity):
vbox = gtk.VBox()
+ nav_toolbar = NavigationToolbar()
+ vbox.pack_start(nav_toolbar, False)
+ nav_toolbar.show()
+
self._notif_bar = NotificationBar()
vbox.pack_start(self._notif_bar, False)
self._notif_bar.connect('action', self.__notif_bar_action_cb)
@@ -37,12 +41,9 @@ class BrowserActivity(Activity):
vbox.pack_start(self._embed)
self._embed.show()
+ nav_toolbar.set_embed(self._embed)
self._embed.load_url('http://www.google.com')
- nav_toolbar = NavigationToolbar(self)
- vbox.pack_start(nav_toolbar, False)
- nav_toolbar.show()
-
self.add(vbox)
vbox.show()
diff --git a/activities/browser/NavigationToolbar.py b/activities/browser/NavigationToolbar.py
index 87ed764..1220275 100644
--- a/activities/browser/NavigationToolbar.py
+++ b/activities/browser/NavigationToolbar.py
@@ -5,13 +5,13 @@ from gettext import gettext as _
from AddressItem import AddressItem
class NavigationToolbar(gtk.Toolbar):
- def __init__(self, browser):
+ def __init__(self):
gtk.Toolbar.__init__(self)
- self._browser = browser
- self._embed = self._browser.get_embed()
self.set_style(gtk.TOOLBAR_BOTH_HORIZ)
-
+
+ self._insert_spring()
+
self.back = gtk.ToolButton(None, _('Back'))
self.back.set_icon_name('back')
self.back.connect("clicked", self.__go_back_cb)
@@ -25,16 +25,29 @@ class NavigationToolbar(gtk.Toolbar):
self.forward.show()
separator = gtk.SeparatorToolItem()
+ separator.set_draw(False)
self.insert(separator, -1)
separator.show()
-
- address_item = AddressItem(self.__open_address_cb)
+
+ address_item = AddressItem()
+ address_item.connect('open-address', self.__open_address_cb)
self.insert(address_item, -1)
address_item.show()
- self._update_sensitivity()
+ self._insert_spring()
+
+ def _insert_spring(self):
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(False)
+ separator.set_expand(True)
+ self.insert(separator, -1)
+ separator.show()
+
+ def set_embed(self, embed):
+ self._embed = embed
self._embed.connect("location", self.__location_changed)
+ self._update_sensitivity()
def _update_sensitivity(self):
self.back.set_sensitive(self._embed.can_go_back())
@@ -49,5 +62,5 @@ class NavigationToolbar(gtk.Toolbar):
def __location_changed(self, embed):
self._update_sensitivity()
- def __open_address_cb(self, address):
+ def __open_address_cb(self, item, address):
self._embed.load_url(address)