WebBrowser/WebBrowserWindow.py

branch
safe_browsing
changeset 5820
b610cb5b501a
parent 5793
4ff73b969ab1
child 5842
c3f41b959a65
diff -r 69fa45e95673 -r b610cb5b501a WebBrowser/WebBrowserWindow.py
--- a/WebBrowser/WebBrowserWindow.py	Wed Jul 26 19:46:17 2017 +0200
+++ b/WebBrowser/WebBrowserWindow.py	Sat Jul 29 19:41:16 2017 +0200
@@ -108,6 +108,7 @@
     _autoScroller = None
     _tabManager = None
     _sessionManager = None
+    _safeBrowsingManager = None
     
     _performingStartup = True
     _performingShutdown = False
@@ -1757,6 +1758,23 @@
                 self.__showCertificateErrorsDialog)
         self.__actions.append(self.certificateErrorsAct)
         
+        self.safeBrowsingAct = E5Action(
+            self.tr('Manage Safe Browsing'),
+            UI.PixmapCache.getIcon("safeBrowsing.png"),
+            self.tr('Manage Safe Browsing...'), 0, 0, self,
+            'webbrowser_manage_safe_browsing')
+        self.safeBrowsingAct.setStatusTip(self.tr(
+            'Configure Safe Browsing and manage local cache'))
+        self.safeBrowsingAct.setWhatsThis(self.tr(
+            """<b>Manage Safe Browsing</b>"""
+            """<p>This opens a dialog to configure Safe Browsing and"""
+            """ to manage the local cache.</p>"""
+        ))
+        if not self.__initShortcutsOnly:
+            self.safeBrowsingAct.triggered.connect(
+                self.__showSafeBrowsingDialog)
+        self.__actions.append(self.safeBrowsingAct)
+        
         self.showDownloadManagerAct = E5Action(
             self.tr('Downloads'),
             self.tr('Downloads'),
@@ -2084,6 +2102,8 @@
         menu.addSeparator()
         menu.addAction(self.adblockAct)
         menu.addSeparator()
+        menu.addAction(self.safeBrowsingAct)
+        menu.addSeparator()
         self.__settingsMenu = menu
         self.__settingsMenu.aboutToShow.connect(
             self.__aboutToShowSettingsMenu)
@@ -2205,6 +2225,8 @@
         menu.addSeparator()
         menu.addAction(self.adblockAct)
         menu.addSeparator()
+        menu.addAction(self.safeBrowsingAct)
+        menu.addSeparator()
         menu.addMenu(self.__userAgentMenu)
         menu.addAction(self.userAgentManagerAct)
         menu.addSeparator()
@@ -2946,6 +2968,8 @@
         
         self.networkManager().shutdown()
         
+        self.safeBrowsingManager().close()
+        
         for browser in WebBrowserWindow.BrowserWindows:
             if browser != self:
                 browser.close()
@@ -4833,3 +4857,27 @@
         Private slot to show the session manager dialog.
         """
         self.sessionManager().showSessionManagerDialog()
+    
+    ##########################################################
+    ## Methods below implement safe browsing related functions
+    ##########################################################
+    
+    @classmethod
+    def safeBrowsingManager(cls):
+        """
+        Class method to get a reference to the safe browsing interface.
+        
+        @return reference to the safe browsing manager
+        @rtype SafeBrowsingManager
+        """
+        if cls._safeBrowsingManager is None:
+            from .SafeBrowsing.SafeBrowsingManager import SafeBrowsingManager
+            cls._safeBrowsingManager = SafeBrowsingManager()
+        
+        return cls._safeBrowsingManager
+    
+    def __showSafeBrowsingDialog(self):
+        """
+        Private slot to show the safe browsing management dialog.
+        """
+        self.safeBrowsingManager().showSafeBrowsingDialog()

eric ide

mercurial