diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-15 19:02:59 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-15 19:02:59 (GMT) |
commit | 623f8df97a795b33fc6f35323bba25eb4e937c73 (patch) | |
tree | aae1c3a02be5acf8e149caa7f3dcb21a91cf7078 | |
parent | 74d0c6be6d1ee6a482d49856f6661ee557a679f9 (diff) |
Add a "Download image" option to the image palette
-rw-r--r-- | palettes.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/palettes.py b/palettes.py index feb6ddb..1f3bfc2 100644 --- a/palettes.py +++ b/palettes.py @@ -74,7 +74,7 @@ class ContentInvoker(Invoker): else: title = os.path.basename(urlparse.urlparse(target.src).path) - self.palette = ImagePalette(title, target.src) + self.palette = ImagePalette(title, target.src, target.ownerDocument) self.notify_right_click() class LinkPalette(Palette): @@ -144,10 +144,12 @@ class LinkPalette(Palette): downloadmanager.save_link(self._url, self._title, self._owner_document) class ImagePalette(Palette): - def __init__(self, title, url): + def __init__(self, title, url, owner_document): Palette.__init__(self) + self._title = title self._url = url + self._owner_document = owner_document self.props.primary_text = title self.props.secondary_text = url @@ -160,6 +162,11 @@ class ImagePalette(Palette): self.menu.append(menu_item) menu_item.show() + menu_item = MenuItem(_('Download image')) + menu_item.connect('activate', self.__download_activate_cb) + self.menu.append(menu_item) + menu_item.show() + def __copy_activate_cb(self, menu_item): file_name = os.path.basename(urlparse.urlparse(self._url).path) if '.' in file_name: @@ -192,6 +199,9 @@ class ImagePalette(Palette): persist.progressListener = listener persist.saveURI(uri, None, None, None, None, target_file) + def __download_activate_cb(self, menu_item): + downloadmanager.save_link(self._url, self._title, self._owner_document) + class _ImageProgressListener(object): _com_interfaces_ = interfaces.nsIWebProgressListener |