Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/browser.py
diff options
context:
space:
mode:
authorManuel QuiƱones <manuq@laptop.org>2011-09-11 13:33:23 (GMT)
committer Simon Schampijer <simon@schampijer.de>2011-09-12 15:12:34 (GMT)
commitca64c52accf34bfd6b3af2f246428f46ae3e2961 (patch)
tree6c8e04ab98378b8130567b7e1274244df868e317 /browser.py
parent2357d98e223eb80e7cabab977d40b4841d1bac22 (diff)
Fix for Follow link in new tab
Proper code, using signals, instead of adding a reference of TabbedView to Browse objects. Signed-off-by: Manuel QuiƱones <manuq@laptop.org> Acked-by: Simon Schampijer <simon@laptop.org>
Diffstat (limited to 'browser.py')
-rw-r--r--browser.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/browser.py b/browser.py
index eac9e6a..e1d8990 100644
--- a/browser.py
+++ b/browser.py
@@ -177,6 +177,7 @@ class TabbedView(BrowserNotebook):
return browser.containerWindow
else:
browser = Browser()
+ browser.connect('new-tab', self.__new_tab_cb)
self._append_tab(browser)
return browser.browser.containerWindow
@@ -192,8 +193,14 @@ class TabbedView(BrowserNotebook):
self._update_closing_buttons()
self._update_tab_sizes()
+ def __new_tab_cb(self, browser, url):
+ new_browser = self.add_tab(next_to_current=True)
+ new_browser.load_uri(url)
+ new_browser.grab_focus()
+
def add_tab(self, next_to_current=False):
browser = Browser()
+ browser.connect('new-tab', self.__new_tab_cb)
label = TabLabel(browser)
label.connect('tab-close', self.__tab_close_cb)
@@ -298,6 +305,7 @@ class TabbedView(BrowserNotebook):
for tab_session in tab_sessions:
browser = Browser()
+ browser.connect('new-tab', self.__new_tab_cb)
self._append_tab(browser)
sessionstore.set_session(browser, tab_session)
@@ -384,6 +392,9 @@ class Browser(WebView):
'is-setup': (gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE,
([])),
+ 'new-tab': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([str])),
}
def __init__(self):
@@ -474,6 +485,9 @@ class Browser(WebView):
return
self.web_navigation.gotoIndex(index)
+ def open_new_tab(self, url):
+ self.emit('new-tab', url)
+
class PopupDialog(gtk.Window):
def __init__(self):