WebBrowser/Bookmarks/BookmarksToolBar.py

changeset 5038
df7103c3f2a6
parent 5015
ca1d44f0f6b2
child 5389
9b1c800daff3
--- 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):

eric ide

mercurial