diff -r b2b37d7c0791 -r df7103c3f2a6 WebBrowser/Bookmarks/BookmarksToolBar.py --- a/WebBrowser/Bookmarks/BookmarksToolBar.py Thu Jul 14 18:56:39 2016 +0200 +++ b/WebBrowser/Bookmarks/BookmarksToolBar.py Sun Jul 17 15:36:11 2016 +0200 @@ -24,10 +24,12 @@ Class implementing a tool bar showing bookmarks. @signal openUrl(QUrl, str) emitted to open a URL in the current tab - @signal newUrl(QUrl, str) emitted to open a URL in a new tab + @signal newTab(QUrl, str) emitted to open a URL in a new tab + @signal newWindow(QUrl, str) emitted to open a URL in a new window """ openUrl = pyqtSignal(QUrl, str) - newUrl = pyqtSignal(QUrl, str) + newTab = pyqtSignal(QUrl, str) + newWindow = pyqtSignal(QUrl, str) def __init__(self, mainWindow, model, parent=None): """ @@ -139,7 +141,11 @@ QWebEnginePage.Forward) elif self._mouseButton == Qt.LeftButton: if self._keyboardModifiers & Qt.ControlModifier: - self.newUrl.emit( + self.newTab.emit( + idx.data(BookmarksModel.UrlRole), + idx.data(Qt.DisplayRole)) + elif self._keyboardModifiers & Qt.ShiftModifier: + self.newWindow.emit( idx.data(BookmarksModel.UrlRole), idx.data(Qt.DisplayRole)) else: @@ -148,23 +154,6 @@ idx.data(Qt.DisplayRole)) self.__updateVisitCount(idx) - def __openToolBarBookmark(self): - """ - Private slot to open a bookmark in the current browser tab. - """ - idx = self.index(self.sender()) - - if self._keyboardModifiers & Qt.ControlModifier: - self.newUrl.emit( - idx.data(BookmarksModel.UrlRole), - idx.data(Qt.DisplayRole)) - else: - self.openUrl.emit( - idx.data(BookmarksModel.UrlRole), - idx.data(Qt.DisplayRole)) - self.__updateVisitCount(idx) - self.resetFlags() - def __openBookmark(self): """ Private slot to open a bookmark in the current browser tab. @@ -182,7 +171,7 @@ """ idx = self.index(self.sender()) - self.newUrl.emit( + self.newTab.emit( idx.data(BookmarksModel.UrlRole), idx.data(Qt.DisplayRole)) self.__updateVisitCount(idx) @@ -192,10 +181,10 @@ Private slot to open a bookmark in a new window. """ idx = self.index(self.sender()) - url = idx.data(BookmarksModel.UrlRole) - from WebBrowser.WebBrowserWindow import WebBrowserWindow - WebBrowserWindow.mainWindow().newWindow(url) + self.newWindow.emit( + idx.data(BookmarksModel.UrlRole), + idx.data(Qt.DisplayRole)) self.__updateVisitCount(idx) def __openBookmarkInPrivateWindow(self): @@ -245,7 +234,8 @@ from .BookmarksMenu import BookmarksMenu menu = BookmarksMenu(self) menu.openUrl.connect(self.openUrl) - menu.newUrl.connect(self.newUrl) + menu.newTab.connect(self.newTab) + menu.newWindow.connect(self.newWindow) return menu def __edit(self):