From 623f8df97a795b33fc6f35323bba25eb4e937c73 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Wed, 15 Oct 2008 19:02:59 +0000 Subject: Add a "Download image" option to the image palette --- (limited to 'palettes.py') 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 -- cgit v0.9.1