Add tab.set_open_target

This fixes :follow-selected
This commit is contained in:
Florian Bruhin 2016-07-04 13:07:18 +02:00
parent 5dd4b2d56a
commit 1148184892
4 changed files with 11 additions and 1 deletions

View File

@ -1113,7 +1113,7 @@ class CommandDispatcher:
if QWebSettings.globalSettings().testAttribute( if QWebSettings.globalSettings().testAttribute(
QWebSettings.JavascriptEnabled): QWebSettings.JavascriptEnabled):
if tab: if tab:
page.open_target = usertypes.ClickTarget.tab widget.set_open_target(usertypes.ClickTarget.tab)
widget.run_js_async( widget.run_js_async(
'window.getSelection().anchorNode.parentNode.click()') 'window.getSelection().anchorNode.parentNode.click()')
else: else:

View File

@ -462,6 +462,10 @@ class AbstractTab(QWidget):
def icon(self): def icon(self):
raise NotImplementedError raise NotImplementedError
def set_open_target(self, target):
"""Select where the next navigation request should open."""
raise NotImplementedError
def __repr__(self): def __repr__(self):
url = utils.elide(self.cur_url.toDisplayString(QUrl.EncodeUnicode), url = utils.elide(self.cur_url.toDisplayString(QUrl.EncodeUnicode),
100) 100)

View File

@ -155,6 +155,9 @@ class WebEngineViewTab(tab.AbstractTab):
def icon(self): def icon(self):
return self._widget.icon() return self._widget.icon()
def set_open_target(self, target):
raise NotImplementedError
def _connect_signals(self): def _connect_signals(self):
view = self._widget view = self._widget
page = view.page() page = view.page()

View File

@ -464,6 +464,9 @@ class WebViewTab(tab.AbstractTab):
def title(self): def title(self):
return self._widget.title() return self._widget.title()
def set_open_target(self, target):
self._widget.page().open_target = target
def _connect_signals(self): def _connect_signals(self):
view = self._widget view = self._widget
page = view.page() page = view.page()