From f6a750494193de293a728b4fe22f9cab4112ffe7 Mon Sep 17 00:00:00 2001 From: Manuel QuiƱones Date: Wed, 02 Nov 2011 15:04:30 +0000 Subject: Restore close tabs functionality Signed-off-by: Manuel QuiƱones --- diff --git a/browser.py b/browser.py index f63edf5..756a49c 100644 --- a/browser.py +++ b/browser.py @@ -90,9 +90,6 @@ class TabbedView(BrowserNotebook): browser = Browser() browser.connect('new-tab', self.__new_tab_cb) - label = TabLabel(browser) - label.connect('tab-close', self.__tab_close_cb) - if next_to_current: self._insert_tab_next(browser) else: @@ -102,26 +99,26 @@ class TabbedView(BrowserNotebook): return browser def _insert_tab_next(self, browser): - label = TabLabel(browser) - label.connect('tab-close', self.__tab_close_cb) - scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.show() scrolledwindow.add(browser) + label = TabLabel(browser, scrolledwindow) + label.connect('tab-close', self.__tab_close_cb) + next_index = self.get_current_page() + 1 self.insert_page(scrolledwindow, label, next_index) browser.show() self.set_current_page(next_index) def _append_tab(self, browser): - label = TabLabel(browser) - label.connect('tab-close', self.__tab_close_cb) - scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.show() scrolledwindow.add(browser) + label = TabLabel(browser, scrolledwindow) + label.connect('tab-close', self.__tab_close_cb) + self.append_page(scrolledwindow, label) browser.show() self.set_current_page(-1) @@ -129,12 +126,12 @@ class TabbedView(BrowserNotebook): def on_add_tab(self, gobject): self.add_tab() - def __tab_close_cb(self, label, browser): - self.remove_page(self.page_num(browser)) - browser.destroy() + def __tab_close_cb(self, label, browser_window): + self.remove_page(self.page_num(browser_window)) + browser_window.destroy() def _update_tab_sizes(self): - """Update ta widths based in the amount of tabs.""" + """Update tab widths based in the amount of tabs.""" n_pages = self.get_n_pages() canvas_size = self.get_allocation() @@ -210,10 +207,11 @@ class TabLabel(Gtk.HBox): ([object])), } - def __init__(self, browser): + def __init__(self, browser, browser_window): GObject.GObject.__init__(self) self._browser = browser + self._browser_window = browser_window self._browser.connect('notify::title', self.__title_changed_cb) self._label = Gtk.Label(label=_UNTITLED_TEXT) @@ -247,7 +245,7 @@ class TabLabel(Gtk.HBox): self._close_button.show() def __button_clicked_cb(self, button): - self.emit('tab-close', self._browser) + self.emit('tab-close', self._browser_window) def __title_changed_cb(self, widget, param): if widget.props.title: -- cgit v0.9.1