From f57e096bae30c163fd9a1c71bd34b0bb9418889d Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Wed, 14 Mar 2007 15:42:46 +0000 Subject: Add Open File button. --- 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() -- cgit v0.9.1