Ticket #4390: 0001-Cancel-PDF-download-when-X-from-TabLabel-is-clicked-.patch

File 0001-Cancel-PDF-download-when-X-from-TabLabel-is-clicked-.patch, 2.3 KB (added by humitos, 11 years ago)
  • browser.py

    From 0b22412ca87bc3f6e587112b1c4b578e220433c1 Mon Sep 17 00:00:00 2001
    From: Manuel Kaufmann <humitos@gmail.com>
    Date: Wed, 13 Feb 2013 12:22:29 -0300
    Subject: [PATCH Browse] Cancel PDF download when 'X' from TabLabel is clicked
     SL #4390
    
    When the 'X' button is clicked from the TabLabel we emit 'tab-close'
    signal and cancel the download on its callback if the tab closed is a
    PDFTabPage.
    
    Signed-off-by: Manuel Kaufmann <humitos@gmail.com>
    ---
     browser.py   |  5 +++++
     pdfviewer.py | 10 ++++++----
     2 files changed, 11 insertions(+), 4 deletions(-)
    
    diff --git a/browser.py b/browser.py
    index 7419d2d..b786b6b 100644
    a b class TabbedView(BrowserNotebook): 
    301301            nth_page = self.get_nth_page(page_to_focus)
    302302            nth_page.props.browser.grab_focus()
    303303
     304        if isinstance(tab_page, PDFTabPage):
     305            if tab_page.props.browser.props.load_status < \
     306                    WebKit.LoadStatus.FINISHED:
     307                tab_page.cancel_download()
     308
    304309        self.remove_page(self.page_num(tab_page))
    305310        tab_page.destroy()
    306311
  • pdfviewer.py

    diff --git a/pdfviewer.py b/pdfviewer.py
    index e0030ef..40de7ec 100644
    a b class DummyBrowser(GObject.GObject): 
    289289        return 0
    290290
    291291    def stop_loading(self):
    292         self._tab.cancel_download()
     292        self._tab.close_tab()
    293293
    294294    def reload(self):
    295295        pass
    class PDFTabPage(Gtk.HBox): 
    430430        # Display a message
    431431        self._message_box = PDFMessageBox(
    432432            message=_("Downloading document..."),
    433             button_callback=self.cancel_download)
     433            button_callback=self.close_tab)
    434434        self.pack_start(self._message_box, True, True, 0)
    435435        self._message_box.show()
    436436
    class PDFTabPage(Gtk.HBox): 
    476476        logging.debug('Download error! code %s, detail %s: %s' % \
    477477                          (err_code, err_detail, reason))
    478478
    479     def cancel_download(self, button=None):
    480         self._download.cancel()
     479    def close_tab(self, button=None):
    481480        self._browser.emit_close_tab()
    482481
     482    def cancel_download(self):
     483        self._download.cancel()
     484
    483485    def __journal_id_to_uri(self, journal_id):
    484486        """Return an URI for a Journal object ID."""
    485487        return "journal://" + journal_id + ".pdf"