WebBrowser/Bookmarks/BookmarksDialog.py

changeset 5015
ca1d44f0f6b2
parent 4732
5ac4fc1dfc20
child 5038
df7103c3f2a6
diff -r 337f4a8fe6bb -r ca1d44f0f6b2 WebBrowser/Bookmarks/BookmarksDialog.py
--- a/WebBrowser/Bookmarks/BookmarksDialog.py	Sun Jul 03 15:51:26 2016 +0200
+++ b/WebBrowser/Bookmarks/BookmarksDialog.py	Sun Jul 03 16:34:45 2016 +0200
@@ -147,6 +147,11 @@
                 self.tr("&Open"), self.__openBookmarkInCurrentTab)
             menu.addAction(
                 self.tr("Open in New &Tab"), self.__openBookmarkInNewTab)
+            menu.addAction(
+                self.tr("Open in New &Window"), self.__openBookmarkInNewWindow)
+            menu.addAction(
+                self.tr("Open in New Pri&vate Window"),
+                self.__openBookmarkInPrivateWindow)
             menu.addSeparator()
         act = menu.addAction(self.tr("Edit &Name"), self.__editName)
         act.setEnabled(idx.flags() & Qt.ItemIsEditable)
@@ -182,12 +187,29 @@
         """
         self.__openBookmark(True)
     
-    def __openBookmark(self, newTab):
+    def __openBookmarkInNewWindow(self):
+        """
+        Private slot to open a bookmark in a new browser window.
+        """
+        self.__openBookmark(False, True, False)
+    
+    def __openBookmarkInPrivateWindow(self):
+        """
+        Private slot to open a bookmark in a new private browser window.
+        """
+        self.__openBookmark(False, True, True)
+    
+    def __openBookmark(self, newTab, newWindow=False, privateWindow=False):
         """
         Private method to open a bookmark.
         
         @param newTab flag indicating to open the bookmark in a new tab
-            (boolean)
+        @type bool
+        @param newWindow flag indicating to open the bookmark in a new window
+        @type bool
+        @param privateWindow flag indicating to open the bookmark in a new
+            private window
+        @type bool
         """
         from .BookmarkNode import BookmarkNode
         from .BookmarksModel import BookmarksModel
@@ -199,14 +221,24 @@
            node is None or \
            node.type() == BookmarkNode.Folder:
             return
-        if newTab:
-            self.newUrl.emit(
-                idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole),
-                idx.sibling(idx.row(), 0).data(Qt.DisplayRole))
+        
+        if newWindow:
+            from WebBrowser.WebBrowserWindow import WebBrowserWindow
+            url = idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole)
+            if privateWindow:
+                WebBrowserWindow.mainWindow().newPrivateWindow(url)
+            else:
+                WebBrowserWindow.mainWindow().newWindow(url)
         else:
-            self.openUrl.emit(
-                idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole),
-                idx.sibling(idx.row(), 0).data(Qt.DisplayRole))
+            if newTab:
+                self.newUrl.emit(
+                    idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole),
+                    idx.sibling(idx.row(), 0).data(Qt.DisplayRole))
+            else:
+                self.openUrl.emit(
+                    idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole),
+                    idx.sibling(idx.row(), 0).data(Qt.DisplayRole))
+        self.__bookmarksManager.incVisitCount(node)
     
     def __editName(self):
         """

eric ide

mercurial