WebBrowser/WebBrowserWindow.py

branch
QtWebEngine
changeset 4732
5ac4fc1dfc20
parent 4731
67d861d9e492
child 4733
ae291a307ea6
diff -r 67d861d9e492 -r 5ac4fc1dfc20 WebBrowser/WebBrowserWindow.py
--- a/WebBrowser/WebBrowserWindow.py	Wed Feb 10 20:00:09 2016 +0100
+++ b/WebBrowser/WebBrowserWindow.py	Thu Feb 11 20:27:07 2016 +0100
@@ -83,7 +83,7 @@
     _networkManager = None
 ##    _cookieJar = None
 ##    _helpEngine = None
-##    _bookmarksManager = None
+    _bookmarksManager = None
 ##    _historyManager = None
 ##    _passwordManager = None
 ##    _adblockManager = None
@@ -624,37 +624,36 @@
 ##                self.__saveVisiblePageScreen)
 ##        self.__actions.append(self.saveVisiblePageScreenAct)
         
-        # TODO: Bookmarks
-##        bookmarksManager = self.bookmarksManager()
-##        self.importBookmarksAct = E5Action(
-##            self.tr('Import Bookmarks'),
-##            self.tr('&Import Bookmarks...'),
-##            0, 0, self, 'webbrowser_file_import_bookmarks')
-##        self.importBookmarksAct.setStatusTip(
-##            self.tr('Import bookmarks from other browsers'))
-##        self.importBookmarksAct.setWhatsThis(self.tr(
-##            """<b>Import Bookmarks</b>"""
-##            """<p>Import bookmarks from other browsers.</p>"""
-##        ))
-##        if not self.__initShortcutsOnly:
-##            self.importBookmarksAct.triggered.connect(
-##                bookmarksManager.importBookmarks)
-##        self.__actions.append(self.importBookmarksAct)
-##        
-##        self.exportBookmarksAct = E5Action(
-##            self.tr('Export Bookmarks'),
-##            self.tr('&Export Bookmarks...'),
-##            0, 0, self, 'webbrowser_file_export_bookmarks')
-##        self.exportBookmarksAct.setStatusTip(
-##            self.tr('Export the bookmarks into a file'))
-##        self.exportBookmarksAct.setWhatsThis(self.tr(
-##            """<b>Export Bookmarks</b>"""
-##            """<p>Export the bookmarks into a file.</p>"""
-##        ))
-##        if not self.__initShortcutsOnly:
-##            self.exportBookmarksAct.triggered.connect(
-##                bookmarksManager.exportBookmarks)
-##        self.__actions.append(self.exportBookmarksAct)
+        bookmarksManager = self.bookmarksManager()
+        self.importBookmarksAct = E5Action(
+            self.tr('Import Bookmarks'),
+            self.tr('&Import Bookmarks...'),
+            0, 0, self, 'webbrowser_file_import_bookmarks')
+        self.importBookmarksAct.setStatusTip(
+            self.tr('Import bookmarks from other browsers'))
+        self.importBookmarksAct.setWhatsThis(self.tr(
+            """<b>Import Bookmarks</b>"""
+            """<p>Import bookmarks from other browsers.</p>"""
+        ))
+        if not self.__initShortcutsOnly:
+            self.importBookmarksAct.triggered.connect(
+                bookmarksManager.importBookmarks)
+        self.__actions.append(self.importBookmarksAct)
+        
+        self.exportBookmarksAct = E5Action(
+            self.tr('Export Bookmarks'),
+            self.tr('&Export Bookmarks...'),
+            0, 0, self, 'webbrowser_file_export_bookmarks')
+        self.exportBookmarksAct.setStatusTip(
+            self.tr('Export the bookmarks into a file'))
+        self.exportBookmarksAct.setWhatsThis(self.tr(
+            """<b>Export Bookmarks</b>"""
+            """<p>Export the bookmarks into a file.</p>"""
+        ))
+        if not self.__initShortcutsOnly:
+            self.exportBookmarksAct.triggered.connect(
+                bookmarksManager.exportBookmarks)
+        self.__actions.append(self.exportBookmarksAct)
         
         # TODO: print stuff
 ##        self.printAct = E5Action(
@@ -996,69 +995,68 @@
                 self.__searchWidget.findPrevious)
         self.__actions.append(self.findPrevAct)
         
-        # TODO: Bookmarks
-##        self.bookmarksManageAct = E5Action(
-##            self.tr('Manage Bookmarks'),
-##            self.tr('&Manage Bookmarks...'),
-##            QKeySequence(self.tr("Ctrl+Shift+B", "Help|Manage bookmarks")),
-##            0, self, 'webbrowser_bookmarks_manage')
-##        self.bookmarksManageAct.setStatusTip(self.tr(
-##            'Open a dialog to manage the bookmarks.'))
-##        self.bookmarksManageAct.setWhatsThis(self.tr(
-##            """<b>Manage Bookmarks...</b>"""
-##            """<p>Open a dialog to manage the bookmarks.</p>"""
-##        ))
-##        if not self.__initShortcutsOnly:
-##            self.bookmarksManageAct.triggered.connect(
-##                self.__showBookmarksDialog)
-##        self.__actions.append(self.bookmarksManageAct)
-##        
-##        self.bookmarksAddAct = E5Action(
-##            self.tr('Add Bookmark'),
-##            UI.PixmapCache.getIcon("addBookmark.png"),
-##            self.tr('Add &Bookmark...'),
-##            QKeySequence(self.tr("Ctrl+D", "Help|Add bookmark")),
-##            0, self, 'webbrowser_bookmark_add')
-##        self.bookmarksAddAct.setIconVisibleInMenu(False)
-##        self.bookmarksAddAct.setStatusTip(self.tr(
-##            'Open a dialog to add a bookmark.'))
-##        self.bookmarksAddAct.setWhatsThis(self.tr(
-##            """<b>Add Bookmark</b>"""
-##            """<p>Open a dialog to add the current URL as a bookmark.</p>"""
-##        ))
-##        if not self.__initShortcutsOnly:
-##            self.bookmarksAddAct.triggered.connect(self.__addBookmark)
-##        self.__actions.append(self.bookmarksAddAct)
-##        
-##        self.bookmarksAddFolderAct = E5Action(
-##            self.tr('Add Folder'),
-##            self.tr('Add &Folder...'),
-##            0, 0, self, 'webbrowser_bookmark_show_all')
-##        self.bookmarksAddFolderAct.setStatusTip(self.tr(
-##            'Open a dialog to add a new bookmarks folder.'))
-##        self.bookmarksAddFolderAct.setWhatsThis(self.tr(
-##            """<b>Add Folder...</b>"""
-##            """<p>Open a dialog to add a new bookmarks folder.</p>"""
-##        ))
-##        if not self.__initShortcutsOnly:
-##            self.bookmarksAddFolderAct.triggered.connect(
-##                self.__addBookmarkFolder)
-##        self.__actions.append(self.bookmarksAddFolderAct)
-##        
-##        self.bookmarksAllTabsAct = E5Action(
-##            self.tr('Bookmark All Tabs'),
-##            self.tr('Bookmark All Tabs...'),
-##            0, 0, self, 'webbrowser_bookmark_all_tabs')
-##        self.bookmarksAllTabsAct.setStatusTip(self.tr(
-##            'Bookmark all open tabs.'))
-##        self.bookmarksAllTabsAct.setWhatsThis(self.tr(
-##            """<b>Bookmark All Tabs...</b>"""
-##            """<p>Open a dialog to add a new bookmarks folder for"""
-##            """ all open tabs.</p>"""
-##        ))
-##        if not self.__initShortcutsOnly:
-##            self.bookmarksAllTabsAct.triggered.connect(self.bookmarkAll)
-##        self.__actions.append(self.bookmarksAllTabsAct)
+        self.bookmarksManageAct = E5Action(
+            self.tr('Manage Bookmarks'),
+            self.tr('&Manage Bookmarks...'),
+            QKeySequence(self.tr("Ctrl+Shift+B", "Help|Manage bookmarks")),
+            0, self, 'webbrowser_bookmarks_manage')
+        self.bookmarksManageAct.setStatusTip(self.tr(
+            'Open a dialog to manage the bookmarks.'))
+        self.bookmarksManageAct.setWhatsThis(self.tr(
+            """<b>Manage Bookmarks...</b>"""
+            """<p>Open a dialog to manage the bookmarks.</p>"""
+        ))
+        if not self.__initShortcutsOnly:
+            self.bookmarksManageAct.triggered.connect(
+                self.__showBookmarksDialog)
+        self.__actions.append(self.bookmarksManageAct)
+        
+        self.bookmarksAddAct = E5Action(
+            self.tr('Add Bookmark'),
+            UI.PixmapCache.getIcon("addBookmark.png"),
+            self.tr('Add &Bookmark...'),
+            QKeySequence(self.tr("Ctrl+D", "Help|Add bookmark")),
+            0, self, 'webbrowser_bookmark_add')
+        self.bookmarksAddAct.setIconVisibleInMenu(False)
+        self.bookmarksAddAct.setStatusTip(self.tr(
+            'Open a dialog to add a bookmark.'))
+        self.bookmarksAddAct.setWhatsThis(self.tr(
+            """<b>Add Bookmark</b>"""
+            """<p>Open a dialog to add the current URL as a bookmark.</p>"""
+        ))
+        if not self.__initShortcutsOnly:
+            self.bookmarksAddAct.triggered.connect(self.__addBookmark)
+        self.__actions.append(self.bookmarksAddAct)
+        
+        self.bookmarksAddFolderAct = E5Action(
+            self.tr('Add Folder'),
+            self.tr('Add &Folder...'),
+            0, 0, self, 'webbrowser_bookmark_show_all')
+        self.bookmarksAddFolderAct.setStatusTip(self.tr(
+            'Open a dialog to add a new bookmarks folder.'))
+        self.bookmarksAddFolderAct.setWhatsThis(self.tr(
+            """<b>Add Folder...</b>"""
+            """<p>Open a dialog to add a new bookmarks folder.</p>"""
+        ))
+        if not self.__initShortcutsOnly:
+            self.bookmarksAddFolderAct.triggered.connect(
+                self.__addBookmarkFolder)
+        self.__actions.append(self.bookmarksAddFolderAct)
+        
+        self.bookmarksAllTabsAct = E5Action(
+            self.tr('Bookmark All Tabs'),
+            self.tr('Bookmark All Tabs...'),
+            0, 0, self, 'webbrowser_bookmark_all_tabs')
+        self.bookmarksAllTabsAct.setStatusTip(self.tr(
+            'Bookmark all open tabs.'))
+        self.bookmarksAllTabsAct.setWhatsThis(self.tr(
+            """<b>Bookmark All Tabs...</b>"""
+            """<p>Open a dialog to add a new bookmarks folder for"""
+            """ all open tabs.</p>"""
+        ))
+        if not self.__initShortcutsOnly:
+            self.bookmarksAllTabsAct.triggered.connect(self.bookmarkAll)
+        self.__actions.append(self.bookmarksAllTabsAct)
         
         self.whatsThisAct = E5Action(
             self.tr('What\'s This?'),
@@ -1833,24 +1831,23 @@
 ##        self.historyMenu.newUrl.connect(self.openUrlNewTab)
 ##        mb.addMenu(self.historyMenu)
         
-        # TODO: Bookmarks
-##        from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
-##        self.bookmarksMenu = BookmarksMenuBarMenu(self)
-##        self.bookmarksMenu.setTearOffEnabled(True)
-##        self.bookmarksMenu.setTitle(self.tr('&Bookmarks'))
-##        self.bookmarksMenu.openUrl.connect(self.openUrl)
-##        self.bookmarksMenu.newUrl.connect(self.openUrlNewTab)
-##        mb.addMenu(self.bookmarksMenu)
-##        
-##        bookmarksActions = []
-##        bookmarksActions.append(self.bookmarksManageAct)
-##        bookmarksActions.append(self.bookmarksAddAct)
-##        bookmarksActions.append(self.bookmarksAllTabsAct)
-##        bookmarksActions.append(self.bookmarksAddFolderAct)
-##        bookmarksActions.append("--SEPARATOR--")
-##        bookmarksActions.append(self.importBookmarksAct)
-##        bookmarksActions.append(self.exportBookmarksAct)
-##        self.bookmarksMenu.setInitialActions(bookmarksActions)
+        from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
+        self.bookmarksMenu = BookmarksMenuBarMenu(self)
+        self.bookmarksMenu.setTearOffEnabled(True)
+        self.bookmarksMenu.setTitle(self.tr('&Bookmarks'))
+        self.bookmarksMenu.openUrl.connect(self.openUrl)
+        self.bookmarksMenu.newUrl.connect(self.openUrlNewTab)
+        mb.addMenu(self.bookmarksMenu)
+        
+        bookmarksActions = []
+        bookmarksActions.append(self.bookmarksManageAct)
+        bookmarksActions.append(self.bookmarksAddAct)
+        bookmarksActions.append(self.bookmarksAllTabsAct)
+        bookmarksActions.append(self.bookmarksAddFolderAct)
+        bookmarksActions.append("--SEPARATOR--")
+        bookmarksActions.append(self.importBookmarksAct)
+        bookmarksActions.append(self.exportBookmarksAct)
+        self.bookmarksMenu.setInitialActions(bookmarksActions)
         
         menu = mb.addMenu(self.tr('&Settings'))
         menu.setTearOffEnabled(True)
@@ -2060,15 +2057,15 @@
         forwardButton.setMenu(self.forwardMenu)
         forwardButton.setPopupMode(QToolButton.MenuButtonPopup)
         
-##        from .Bookmarks.BookmarksToolBar import BookmarksToolBar
-##        bookmarksModel = self.bookmarksManager().bookmarksModel()
-##        self.bookmarksToolBar = BookmarksToolBar(self, bookmarksModel, self)
-##        self.bookmarksToolBar.setObjectName("BookmarksToolBar")
-##        self.bookmarksToolBar.setIconSize(UI.Config.ToolBarIconSize)
-##        self.bookmarksToolBar.openUrl.connect(self.openUrl)
-##        self.bookmarksToolBar.newUrl.connect(self.openUrlNewTab)
-##        self.addToolBarBreak()
-##        self.addToolBar(self.bookmarksToolBar)
+        from .Bookmarks.BookmarksToolBar import BookmarksToolBar
+        bookmarksModel = self.bookmarksManager().bookmarksModel()
+        self.bookmarksToolBar = BookmarksToolBar(self, bookmarksModel, self)
+        self.bookmarksToolBar.setObjectName("BookmarksToolBar")
+        self.bookmarksToolBar.setIconSize(UI.Config.ToolBarIconSize)
+        self.bookmarksToolBar.openUrl.connect(self.openUrl)
+        self.bookmarksToolBar.newUrl.connect(self.openUrlNewTab)
+        self.addToolBarBreak()
+        self.addToolBar(self.bookmarksToolBar)
         
 ##        self.addToolBarBreak()
 ##        vttb = self.addToolBar(self.tr("VirusTotal"))
@@ -2316,74 +2313,74 @@
         self.reloadAct.setEnabled(not b)
         self.stopAct.setEnabled(b)
         
-##    def __addBookmark(self):
-##        """
-##        Private slot called to add the displayed file to the bookmarks.
-##        """
-##        view = self.currentBrowser()
-##        url = bytes(view.url().toEncoded()).decode()
-##        title = view.title()
-##        description = ""
-##        meta = view.page().mainFrame().metaData()
-##        if "description" in meta:
-##            description = meta["description"][0]
-##        
-##        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
-##        dlg = AddBookmarkDialog()
-##        dlg.setUrl(url)
-##        dlg.setTitle(title)
-##        dlg.setDescription(description)
-##        menu = self.bookmarksManager().menu()
-##        idx = self.bookmarksManager().bookmarksModel().nodeIndex(menu)
-##        dlg.setCurrentIndex(idx)
-##        dlg.exec_()
-##        
-##    def __addBookmarkFolder(self):
-##        """
-##        Private slot to add a new bookmarks folder.
-##        """
-##        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
-##        dlg = AddBookmarkDialog()
-##        menu = self.bookmarksManager().menu()
-##        idx = self.bookmarksManager().bookmarksModel().nodeIndex(menu)
-##        dlg.setCurrentIndex(idx)
-##        dlg.setFolder(True)
-##        dlg.exec_()
-##        
-##    def __showBookmarksDialog(self):
-##        """
-##        Private slot to show the bookmarks dialog.
-##        """
-##        from .Bookmarks.BookmarksDialog import BookmarksDialog
-##        self.__bookmarksDialog = BookmarksDialog(self)
-##        self.__bookmarksDialog.openUrl.connect(self.openUrl)
-##        self.__bookmarksDialog.newUrl.connect(self.openUrlNewTab)
-##        self.__bookmarksDialog.show()
-##        
-##    def bookmarkAll(self):
-##        """
-##        Public slot to bookmark all open tabs.
-##        """
-##        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
-##        dlg = AddBookmarkDialog()
-##        dlg.setFolder(True)
-##        dlg.setTitle(self.tr("Saved Tabs"))
-##        dlg.exec_()
-##        
-##        folder = dlg.addedNode()
-##        if folder is None:
-##            return
-##        
-##        from .Bookmarks.BookmarkNode import BookmarkNode
-##        for browser in self.__tabWidget.browsers():
-##            bookmark = BookmarkNode(BookmarkNode.Bookmark)
-##            bookmark.url = bytes(browser.url().toEncoded()).decode()
-##            bookmark.title = browser.title()
-##            meta = browser.page().mainFrame().metaData()
-##            if "description" in meta:
-##                bookmark.desc = meta["description"][0]
-##            
-##            self.bookmarksManager().addBookmark(folder, bookmark)
+    def __addBookmark(self):
+        """
+        Private slot called to add the displayed file to the bookmarks.
+        """
+        view = self.currentBrowser()
+        url = bytes(view.url().toEncoded()).decode()
+        title = view.title()
+        description = ""
+        meta = view.page().mainFrame().metaData()
+        if "description" in meta:
+            description = meta["description"][0]
+        
+        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
+        dlg = AddBookmarkDialog()
+        dlg.setUrl(url)
+        dlg.setTitle(title)
+        dlg.setDescription(description)
+        menu = self.bookmarksManager().menu()
+        idx = self.bookmarksManager().bookmarksModel().nodeIndex(menu)
+        dlg.setCurrentIndex(idx)
+        dlg.exec_()
+        
+    def __addBookmarkFolder(self):
+        """
+        Private slot to add a new bookmarks folder.
+        """
+        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
+        dlg = AddBookmarkDialog()
+        menu = self.bookmarksManager().menu()
+        idx = self.bookmarksManager().bookmarksModel().nodeIndex(menu)
+        dlg.setCurrentIndex(idx)
+        dlg.setFolder(True)
+        dlg.exec_()
+        
+    def __showBookmarksDialog(self):
+        """
+        Private slot to show the bookmarks dialog.
+        """
+        from .Bookmarks.BookmarksDialog import BookmarksDialog
+        self.__bookmarksDialog = BookmarksDialog(self)
+        self.__bookmarksDialog.openUrl.connect(self.openUrl)
+        self.__bookmarksDialog.newUrl.connect(self.openUrlNewTab)
+        self.__bookmarksDialog.show()
+        
+    def bookmarkAll(self):
+        """
+        Public slot to bookmark all open tabs.
+        """
+        from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog
+        dlg = AddBookmarkDialog()
+        dlg.setFolder(True)
+        dlg.setTitle(self.tr("Saved Tabs"))
+        dlg.exec_()
+        
+        folder = dlg.addedNode()
+        if folder is None:
+            return
+        
+        from .Bookmarks.BookmarkNode import BookmarkNode
+        for browser in self.__tabWidget.browsers():
+            bookmark = BookmarkNode(BookmarkNode.Bookmark)
+            bookmark.url = bytes(browser.url().toEncoded()).decode()
+            bookmark.title = browser.title()
+            meta = browser.page().mainFrame().metaData()
+            if "description" in meta:
+                bookmark.desc = meta["description"][0]
+            
+            self.bookmarksManager().addBookmark(folder, bookmark)
         
     def __find(self):
         """
@@ -2440,9 +2437,9 @@
 ##        
 ##        self.cookieJar().close()
 ##        
-##        self.bookmarksToolBar.setModel(None)
-##        self.bookmarksManager().close()
-##        
+        self.bookmarksToolBar.setModel(None)
+        self.bookmarksManager().close()
+        
 ##        self.historyManager().close()
 ##        
 ##        self.passwordManager().close()
@@ -3417,19 +3414,19 @@
         """
         return WebIconProvider.instance().iconForUrl(url)
 
-##    @classmethod
-##    def bookmarksManager(cls):
-##        """
-##        Class method to get a reference to the bookmarks manager.
-##        
-##        @return reference to the bookmarks manager (BookmarksManager)
-##        """
-##        if cls._bookmarksManager is None:
-##            from .Bookmarks.BookmarksManager import BookmarksManager
-##            cls._bookmarksManager = BookmarksManager()
-##        
-##        return cls._bookmarksManager
-##        
+    @classmethod
+    def bookmarksManager(cls):
+        """
+        Class method to get a reference to the bookmarks manager.
+        
+        @return reference to the bookmarks manager (BookmarksManager)
+        """
+        if cls._bookmarksManager is None:
+            from .Bookmarks.BookmarksManager import BookmarksManager
+            cls._bookmarksManager = BookmarksManager()
+        
+        return cls._bookmarksManager
+    
     def openUrl(self, url, title):
         """
         Public slot to load a URL in the current tab.
@@ -3438,7 +3435,7 @@
         @param title title of the bookmark (string)
         """
         self.__linkActivated(url)
-        
+    
     def openUrlNewTab(self, url, title):
         """
         Public slot to load a URL in a new tab.

eric ide

mercurial