Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Quiñones <manuq@laptop.org>2011-11-02 15:04:30 (GMT)
committer Manuel Quiñones <manuq@laptop.org>2011-11-03 01:38:44 (GMT)
commitf6a750494193de293a728b4fe22f9cab4112ffe7 (patch)
treedbfba843cb13b2743d814fe515e4f0e7bbbcd2bc
parent61a064f3e470a1018738ffa5804421acc9b3ad5e (diff)
Restore close tabs functionality
Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-rw-r--r--browser.py28
1 files changed, 13 insertions, 15 deletions
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: