WebBrowser/WebBrowserView.py

branch
QtWebEngine
changeset 4781
15d416f1eca5
parent 4780
1d203a177b16
child 4782
4ad656e4ebec
diff -r 1d203a177b16 -r 15d416f1eca5 WebBrowser/WebBrowserView.py
--- a/WebBrowser/WebBrowserView.py	Sat Feb 27 18:19:09 2016 +0100
+++ b/WebBrowser/WebBrowserView.py	Sat Feb 27 20:51:44 2016 +0100
@@ -35,6 +35,8 @@
 
 from .Network.LoadRequest import LoadRequest, LoadRequestOperations
 
+from . import WebInspector
+
 import Preferences
 import UI.PixmapCache
 import Globals
@@ -102,6 +104,7 @@
         self.__siteIcon = QIcon()
         self.__menu = QMenu(self)
         self.__clickedPos = QPoint()
+        self.__firstLoad = False
         
         self.__currentZoom = 100
         self.__zoomLevels = WebBrowserView.ZoomLevels[:]
@@ -145,11 +148,17 @@
         
         self.__mw.personalInformationManager().connectPage(self.page())
         
-        # TODO: WebInspector
-##        self.__inspector = None
+        self.__inspector = None
+        WebInspector.registerView(self)
         
         self.grabGesture(Qt.PinchGesture)
     
+    def __del__(self):
+        """
+        Special method doing some cleanup stuff.
+        """
+        WebInspector.unregisterView(self)
+    
 ##    def __addExternalBinding(self, frame=None):
 ##        """
 ##        Private slot to add javascript bindings for adding search providers.
@@ -208,6 +217,10 @@
         """
         if isinstance(urlOrRequest, QUrl):
             super(WebBrowserView, self).load(urlOrRequest)
+            
+            if not self.__firstLoad:
+                self.__firstLoad = True
+                WebInspector.pushView(self)
         elif isinstance(urlOrRequest, LoadRequest):
             reqUrl = urlOrRequest.url()
             if reqUrl.isEmpty():
@@ -588,11 +601,10 @@
 ##        if not hitTest.isContentEditable() and not hitTest.isContentSelected():
 ##            self.__menu.addAction(self.__mw.adBlockIcon().menuAction())
         
-        # TODO: WebInspector
-##        self.__menu.addSeparator()
-##        menu.addAction(
-##            UI.PixmapCache.getIcon("webInspector.png"),
-##            self.tr("Inspect Element..."), self.__webInspector)
+        self.__menu.addSeparator()
+        self.__menu.addAction(
+            UI.PixmapCache.getIcon("webInspector.png"),
+            self.tr("Inspect Element..."), self.__webInspector)
         
         if not self.__menu.isEmpty():
             pos = evt.globalPos()
@@ -1100,30 +1112,29 @@
             lambda res: self.__mw.openSearchManager().addEngineFromForm(
                 res, self))
     
-    # TODO: WebInspector
-##    def __webInspector(self):
-##        """
-##        Private slot to show the web inspector window.
-##        """
-##        if self.__inspector is None:
-##            from .HelpInspector import HelpInspector
-##            self.__inspector = HelpInspector()
-##            self.__inspector.setPage(self.page())
-##            self.__inspector.show()
-##        elif self.__inspector.isVisible():
-##            self.__inspector.hide()
-##        else:
-##            self.__inspector.show()
-##    
-##    def closeWebInspector(self):
-##        """
-##        Public slot to close the web inspector.
-##        """
-##        if self.__inspector is not None:
-##            if self.__inspector.isVisible():
-##                self.__inspector.hide()
-##            self.__inspector.deleteLater()
-##            self.__inspector = None
+    def __webInspector(self):
+        """
+        Private slot to show the web inspector window.
+        """
+        if self.__inspector is None:
+            from .WebInspector import WebInspector
+            self.__inspector = WebInspector()
+            self.__inspector.setView(self, True)
+            self.__inspector.show()
+        elif self.__inspector.isVisible():
+            self.__inspector.hide()
+        else:
+            self.__inspector.show()
+    
+    def closeWebInspector(self):
+        """
+        Public slot to close the web inspector.
+        """
+        if self.__inspector is not None:
+            if self.__inspector.isVisible():
+                self.__inspector.hide()
+            self.__inspector.deleteLater()
+            self.__inspector = None
     
     def addBookmark(self):
         """

eric ide

mercurial