Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-03-14 15:42:46 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-03-14 15:42:46 (GMT)
commitf57e096bae30c163fd9a1c71bd34b0bb9418889d (patch)
treee2ffb724196b790f6db943d40e1dbb8fdfcda9dd
parent3a4b3faa436ec55a04f5d7bb304f9377ebadba32 (diff)
Add Open File button.
-rwxr-xr-xwebtoolbar.py34
1 files changed, 29 insertions, 5 deletions
diff --git a/webtoolbar.py b/webtoolbar.py
index 1a1cfc7..fb7cb93 100755
--- a/webtoolbar.py
+++ b/webtoolbar.py
@@ -14,6 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import os
+import logging
import hippo
import gtk
@@ -27,10 +28,6 @@ class WebToolbar(Toolbar):
def __init__(self, embed):
Toolbar.__init__(self)
- self._save = IconButton(icon_name='theme:stock-save')
- self._save.connect("activated", self._save_cb)
- self.append(self._save)
-
self._back = IconButton(icon_name='theme:stock-back')
self._back.props.active = False
self._back.connect("activated", self._go_back_cb)
@@ -53,6 +50,14 @@ class WebToolbar(Toolbar):
self._post.props.active = False
self._post.connect("activated", self._post_cb)
self.append(self._post)
+
+ self._open = IconButton(icon_name='theme:stock-open')
+ self._open.connect("activated", self._open_cb)
+ self.append(self._open)
+
+ self._save = IconButton(icon_name='theme:stock-save')
+ self._save.connect("activated", self._save_cb)
+ self.append(self._save)
self._embed = embed
self._embed.connect("notify::progress", self._progress_changed_cb)
@@ -127,6 +132,25 @@ class WebToolbar(Toolbar):
response = chooser.run()
if response == gtk.RESPONSE_OK:
- self._embed.save_document(chooser.get_filename())
+ if not self._embed.save_document(chooser.get_filename()):
+ logging.error("Couldn't save to %s." % chooser.get_filename())
+
+ chooser.destroy()
+
+ def _open_cb(self, button):
+ chooser = gtk.FileChooserDialog(title=None,
+ action=gtk.FILE_CHOOSER_ACTION_OPEN,
+ buttons=(gtk.STOCK_CANCEL,
+ gtk.RESPONSE_CANCEL,
+ gtk.STOCK_OPEN,
+ gtk.RESPONSE_OK))
+ chooser.set_default_response(gtk.RESPONSE_OK)
+ chooser.set_current_folder(os.path.expanduser('~'))
+ response = chooser.run()
+
+ if response == gtk.RESPONSE_OK:
+ self._embed.load_url(chooser.get_filename())
+ self._embed.grab_focus()
+ logging.debug('Opened %s.' % chooser.get_filename())
chooser.destroy()