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): """