WebBrowser/WebBrowserTabWidget.py

branch
QtWebEngine
changeset 4735
84e78ee0f361
parent 4732
5ac4fc1dfc20
child 4741
f9e1adc69076
--- a/WebBrowser/WebBrowserTabWidget.py	Sat Feb 13 13:36:01 2016 +0100
+++ b/WebBrowser/WebBrowserTabWidget.py	Sat Feb 13 14:17:39 2016 +0100
@@ -69,11 +69,10 @@
         self.setDocumentMode(True)
         self.setElideMode(Qt.ElideNone)
         
-        # TODO: Closed Tabs Manager
-##        from .ClosedTabsManager import ClosedTabsManager
-##        self.__closedTabsManager = ClosedTabsManager(self)
-##        self.__closedTabsManager.closedTabAvailable.connect(
-##            self.__closedTabAvailable)
+        from .ClosedTabsManager import ClosedTabsManager
+        self.__closedTabsManager = ClosedTabsManager(self)
+        self.__closedTabsManager.closedTabAvailable.connect(
+            self.__closedTabAvailable)
         
         from .UrlBar.StackedUrlBar import StackedUrlBar
         self.__stackedUrlBar = StackedUrlBar(self)
@@ -103,20 +102,19 @@
         self.__navigationButton.setEnabled(False)
         self.__rightCornerWidgetLayout.addWidget(self.__navigationButton)
         
-        # TODO: Closed Tabs Manager
-##        self.__closedTabsMenu = QMenu(self)
-##        self.__closedTabsMenu.aboutToShow.connect(
-##            self.__aboutToShowClosedTabsMenu)
-##        
-##        self.__closedTabsButton = QToolButton(self)
-##        self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png"))
-##        self.__closedTabsButton.setToolTip(
-##            self.tr("Show a navigation menu for closed tabs"))
-##        self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup)
-##        self.__closedTabsButton.setMenu(self.__closedTabsMenu)
-##        self.__closedTabsButton.setEnabled(False)
-##        self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton)
-##        
+        self.__closedTabsMenu = QMenu(self)
+        self.__closedTabsMenu.aboutToShow.connect(
+            self.__aboutToShowClosedTabsMenu)
+        
+        self.__closedTabsButton = QToolButton(self)
+        self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png"))
+        self.__closedTabsButton.setToolTip(
+            self.tr("Show a navigation menu for closed tabs"))
+        self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup)
+        self.__closedTabsButton.setMenu(self.__closedTabsMenu)
+        self.__closedTabsButton.setEnabled(False)
+        self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton)
+        
         self.__closeButton = QToolButton(self)
         self.__closeButton.setIcon(UI.PixmapCache.getIcon("close.png"))
         self.__closeButton.setToolTip(
@@ -186,10 +184,10 @@
         self.__tabContextMenu.addAction(
             UI.PixmapCache.getIcon("reload.png"),
             self.tr('Reload All'), self.reloadAllBrowsers)
-##        self.__tabContextMenu.addSeparator()
-##        self.__tabContextMenu.addAction(
-##            UI.PixmapCache.getIcon("addBookmark.png"),
-##            self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll)
+        self.__tabContextMenu.addSeparator()
+        self.__tabContextMenu.addAction(
+            UI.PixmapCache.getIcon("addBookmark.png"),
+            self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll)
         
         self.__tabBackContextMenu = QMenu(self)
         self.__tabBackContextMenu.addAction(
@@ -197,15 +195,15 @@
         self.__tabBackContextMenu.addAction(
             UI.PixmapCache.getIcon("reload.png"),
             self.tr('Reload All'), self.reloadAllBrowsers)
-##        self.__tabBackContextMenu.addAction(
-##            UI.PixmapCache.getIcon("addBookmark.png"),
-##            self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll)
-##        self.__tabBackContextMenu.addSeparator()
-##        self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction(
-##            UI.PixmapCache.getIcon("trash.png"),
-##            self.tr('Restore Closed Tab'), self.restoreClosedTab)
-##        self.__restoreClosedTabAct.setEnabled(False)
-##        self.__restoreClosedTabAct.setData(0)
+        self.__tabBackContextMenu.addAction(
+            UI.PixmapCache.getIcon("addBookmark.png"),
+            self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll)
+        self.__tabBackContextMenu.addSeparator()
+        self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction(
+            UI.PixmapCache.getIcon("trash.png"),
+            self.tr('Restore Closed Tab'), self.restoreClosedTab)
+        self.__restoreClosedTabAct.setEnabled(False)
+        self.__restoreClosedTabAct.setData(0)
     
     def __showContextMenu(self, coord, index):
         """
@@ -484,8 +482,9 @@
         urlbar.deleteLater()
         del urlbar
         
-##        self.__closedTabsManager.recordBrowser(browser, index)
-##        
+        self.__closedTabsManager.recordBrowser(browser, index)
+        
+        # TODO: WebInspector
 ##        browser.closeWebInspector()
         browser.home()
         self.removeTab(index)
@@ -955,78 +954,77 @@
             elif browser.url() != "":
                 browser.setFocus()
     
-    # TODO: Closed Tabs Manager
-##    def restoreClosedTab(self):
-##        """
-##        Public slot to restore the most recently closed tab.
-##        """
-##        if not self.canRestoreClosedTab():
-##            return
-##        
-##        act = self.sender()
-##        tab = self.__closedTabsManager.getClosedTabAt(act.data())
-##        
-##        self.newBrowser(tab.url.toString(), position=tab.position)
-##    
-##    def canRestoreClosedTab(self):
-##        """
-##        Public method to check, if closed tabs can be restored.
-##        
-##        @return flag indicating that closed tabs can be restored (boolean)
-##        """
-##        return self.__closedTabsManager.isClosedTabAvailable()
-##    
-##    def restoreAllClosedTabs(self):
-##        """
-##        Public slot to restore all closed tabs.
-##        """
-##        if not self.canRestoreClosedTab():
-##            return
-##        
-##        for tab in self.__closedTabsManager.allClosedTabs():
-##            self.newBrowser(tab.url.toString(), position=tab.position)
-##        self.__closedTabsManager.clearList()
-##    
-##    def clearClosedTabsList(self):
-##        """
-##        Public slot to clear the list of closed tabs.
-##        """
-##        self.__closedTabsManager.clearList()
-##    
-##    def __aboutToShowClosedTabsMenu(self):
-##        """
-##        Private slot to populate the closed tabs menu.
-##        """
-##        fm = self.__closedTabsMenu.fontMetrics()
-##        maxWidth = fm.width('m') * 40
-##        
-##        self.__closedTabsMenu.clear()
-##        index = 0
-##        for tab in self.__closedTabsManager.allClosedTabs():
-##            title = fm.elidedText(tab.title, Qt.ElideRight, maxWidth)
-##            self.__closedTabsMenu.addAction(
-##                self.__mainWindow.icon(tab.url), title,
-##                self.restoreClosedTab).setData(index)
-##            index += 1
-##        self.__closedTabsMenu.addSeparator()
-##        self.__closedTabsMenu.addAction(
-##            self.tr("Restore All Closed Tabs"), self.restoreAllClosedTabs)
-##        self.__closedTabsMenu.addAction(
-##            self.tr("Clear List"), self.clearClosedTabsList)
-##    
-##    def closedTabsManager(self):
-##        """
-##        Public slot to get a reference to the closed tabs manager.
-##        
-##        @return reference to the closed tabs manager (ClosedTabsManager)
-##        """
-##        return self.__closedTabsManager
-##    
-##    def __closedTabAvailable(self, avail):
-##        """
-##        Private slot to handle changes of the availability of closed tabs.
-##        
-##        @param avail flag indicating the availability of closed tabs (boolean)
-##        """
-##        self.__closedTabsButton.setEnabled(avail)
-##        self.__restoreClosedTabAct.setEnabled(avail)
+    def restoreClosedTab(self):
+        """
+        Public slot to restore the most recently closed tab.
+        """
+        if not self.canRestoreClosedTab():
+            return
+        
+        act = self.sender()
+        tab = self.__closedTabsManager.getClosedTabAt(act.data())
+        
+        self.newBrowser(tab.url.toString(), position=tab.position)
+    
+    def canRestoreClosedTab(self):
+        """
+        Public method to check, if closed tabs can be restored.
+        
+        @return flag indicating that closed tabs can be restored (boolean)
+        """
+        return self.__closedTabsManager.isClosedTabAvailable()
+    
+    def restoreAllClosedTabs(self):
+        """
+        Public slot to restore all closed tabs.
+        """
+        if not self.canRestoreClosedTab():
+            return
+        
+        for tab in self.__closedTabsManager.allClosedTabs():
+            self.newBrowser(tab.url.toString(), position=tab.position)
+        self.__closedTabsManager.clearList()
+    
+    def clearClosedTabsList(self):
+        """
+        Public slot to clear the list of closed tabs.
+        """
+        self.__closedTabsManager.clearList()
+    
+    def __aboutToShowClosedTabsMenu(self):
+        """
+        Private slot to populate the closed tabs menu.
+        """
+        fm = self.__closedTabsMenu.fontMetrics()
+        maxWidth = fm.width('m') * 40
+        
+        self.__closedTabsMenu.clear()
+        index = 0
+        for tab in self.__closedTabsManager.allClosedTabs():
+            title = fm.elidedText(tab.title, Qt.ElideRight, maxWidth)
+            self.__closedTabsMenu.addAction(
+                self.__mainWindow.icon(tab.url), title,
+                self.restoreClosedTab).setData(index)
+            index += 1
+        self.__closedTabsMenu.addSeparator()
+        self.__closedTabsMenu.addAction(
+            self.tr("Restore All Closed Tabs"), self.restoreAllClosedTabs)
+        self.__closedTabsMenu.addAction(
+            self.tr("Clear List"), self.clearClosedTabsList)
+    
+    def closedTabsManager(self):
+        """
+        Public slot to get a reference to the closed tabs manager.
+        
+        @return reference to the closed tabs manager (ClosedTabsManager)
+        """
+        return self.__closedTabsManager
+    
+    def __closedTabAvailable(self, avail):
+        """
+        Private slot to handle changes of the availability of closed tabs.
+        
+        @param avail flag indicating the availability of closed tabs (boolean)
+        """
+        self.__closedTabsButton.setEnabled(avail)
+        self.__restoreClosedTabAct.setEnabled(avail)

eric ide

mercurial