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-12-05 21:31:28 (GMT)
committer Manuel Quiñones <manuq@laptop.org>2011-12-05 21:31:28 (GMT)
commitc6cb9713466d7fc9fb81cd2c6102bd97e89089b5 (patch)
tree6cd25e115e8ca1c557b6203d62faf90559d9b73b
parent0c65b0902927b73e9f116ccd7aedf79a6ffec2f1 (diff)
Fix bugs adding conditionals for BrowserNotebook with no pages
Signed-off-by: Manuel Quiñones <manuq@laptop.org>
-rw-r--r--browser.py14
-rw-r--r--webtoolbar.py7
-rw-r--r--widgets.py4
3 files changed, 14 insertions, 11 deletions
diff --git a/browser.py b/browser.py
index 2fafc5b..2c3b4f8 100644
--- a/browser.py
+++ b/browser.py
@@ -181,8 +181,9 @@ class TabbedView(BrowserNotebook):
self._update_tab_sizes()
def __page_removed_cb(self, notebook, child, pagenum):
- self._update_closing_buttons()
- self._update_tab_sizes()
+ if self.get_n_pages():
+ self._update_closing_buttons()
+ self._update_tab_sizes()
def __new_tab_cb(self, browser, url):
new_browser = self.add_tab(next_to_current=True)
@@ -263,9 +264,7 @@ class TabbedView(BrowserNotebook):
"""Prevent closing the last tab."""
first_page = self.get_nth_page(0)
first_label = self.get_tab_label(first_page)
- if self.get_n_pages() == 0:
- return
- elif self.get_n_pages() == 1:
+ if self.get_n_pages() == 1:
first_label.hide_close_button()
else:
first_label.show_close_button()
@@ -281,7 +280,10 @@ class TabbedView(BrowserNotebook):
browser.load_uri(default_page)
def _get_current_browser(self):
- return self.get_nth_page(self.get_current_page()).get_child()
+ if self.get_n_pages():
+ return self.get_nth_page(self.get_current_page()).get_child()
+ else:
+ return None
current_browser = GObject.property(type=object,
getter=_get_current_browser)
diff --git a/webtoolbar.py b/webtoolbar.py
index a61d758..869da8b 100644
--- a/webtoolbar.py
+++ b/webtoolbar.py
@@ -296,13 +296,14 @@ class PrimaryToolbar(ToolbarBase):
self._title_changed_hid = None
self._uri_changed_hid = None
- GObject.idle_add(lambda:
- self._connect_to_browser(tabbed_view.props.current_browser))
+ if tabbed_view.get_n_pages():
+ self._connect_to_browser(tabbed_view.props.current_browser)
tabbed_view.connect_after('switch-page', self.__switch_page_cb)
def __switch_page_cb(self, tabbed_view, page, page_num):
- self._connect_to_browser(tabbed_view.props.current_browser)
+ if tabbed_view.get_n_pages():
+ self._connect_to_browser(tabbed_view.props.current_browser)
def _connect_to_browser(self, browser):
diff --git a/widgets.py b/widgets.py
index 608dbb6..3cfdf1e 100644
--- a/widgets.py
+++ b/widgets.py
@@ -69,11 +69,11 @@ class BrowserNotebook(Gtk.Notebook):
empty_page.show()
def on_add_tab(self, obj):
- raise NotImplementedError, "implement this in the subclass"
+ raise NotImplementedError("implement this in the subclass")
def __on_switch_page(self, notebook, page, page_num):
"""Don't switch to the extra tab at the end."""
- if page_num == Gtk.Notebook.get_n_pages(self) - 1:
+ if page_num > 0 and page_num == Gtk.Notebook.get_n_pages(self) - 1:
self.handler_block(self._switch_handler)
self.set_current_page(-1)
self.handler_unblock(self._switch_handler)