WebBrowser/Bookmarks/BookmarksMenu.py

changeset 5015
ca1d44f0f6b2
parent 4808
328e613165fe
child 5038
df7103c3f2a6
--- a/WebBrowser/Bookmarks/BookmarksMenu.py	Sun Jul 03 15:51:26 2016 +0200
+++ b/WebBrowser/Bookmarks/BookmarksMenu.py	Sun Jul 03 16:34:45 2016 +0200
@@ -57,6 +57,18 @@
         menu.newUrl.connect(self.newUrl)
         return menu
     
+    def __updateVisitCount(self, idx):
+        """
+        Private method to update the visit count of a bookmark.
+        
+        @param idx index of the bookmark item (QModelIndex)
+        """
+        from WebBrowser.WebBrowserWindow import WebBrowserWindow
+        
+        bookmarkNode = self.model().node(idx)
+        manager = WebBrowserWindow.bookmarksManager()
+        manager.incVisitCount(bookmarkNode)
+    
     def __activated(self, idx):
         """
         Private slot handling the activated signal.
@@ -71,6 +83,7 @@
             self.openUrl.emit(
                 idx.data(BookmarksModel.UrlRole),
                 idx.data(Qt.DisplayRole))
+        self.__updateVisitCount(idx)
         self.resetFlags()
     
     def postPopulated(self):
@@ -124,6 +137,7 @@
                 self.newUrl.emit(
                     child.data(BookmarksModel.UrlRole),
                     child.data(Qt.DisplayRole))
+            self.__updateVisitCount(child)
     
     def __contextMenuRequested(self, pos):
         """
@@ -179,6 +193,7 @@
         self.openUrl.emit(
             idx.data(BookmarksModel.UrlRole),
             idx.data(Qt.DisplayRole))
+        self.__updateVisitCount(idx)
     
     def __openBookmarkInNewTab(self):
         """
@@ -189,6 +204,7 @@
         self.newUrl.emit(
             idx.data(BookmarksModel.UrlRole),
             idx.data(Qt.DisplayRole))
+        self.__updateVisitCount(idx)
     
     def __openBookmarkInNewWindow(self):
         """
@@ -199,6 +215,7 @@
         
         from WebBrowser.WebBrowserWindow import WebBrowserWindow
         WebBrowserWindow.mainWindow().newWindow(url)
+        self.__updateVisitCount(idx)
     
     def __openBookmarkInPrivateWindow(self):
         """
@@ -209,6 +226,7 @@
         
         from WebBrowser.WebBrowserWindow import WebBrowserWindow
         WebBrowserWindow.mainWindow().newPrivateWindow(url)
+        self.__updateVisitCount(idx)
     
     def __removeBookmark(self):
         """
@@ -248,7 +266,7 @@
         """
         BookmarksMenu.__init__(self, parent)
         
-        self.__bookmarksManager = None
+##        self.__bookmarksManager = None
         self.__initialActions = []
     
     def prePopulated(self):
@@ -257,13 +275,11 @@
        
         @return flag indicating if any actions were added (boolean)
         """
-        import WebBrowser.WebBrowserWindow
+        from WebBrowser.WebBrowserWindow import WebBrowserWindow
         
-        self.__bookmarksManager = WebBrowser.WebBrowserWindow.WebBrowserWindow\
-            .bookmarksManager()
-        self.setModel(self.__bookmarksManager.bookmarksModel())
-        self.setRootIndex(self.__bookmarksManager.bookmarksModel()
-                          .nodeIndex(self.__bookmarksManager.menu()))
+        manager = WebBrowserWindow.bookmarksManager()
+        self.setModel(manager.bookmarksModel())
+        self.setRootIndex(manager.bookmarksModel().nodeIndex(manager.menu()))
         
         # initial actions
         for act in self.__initialActions:
@@ -275,8 +291,7 @@
             self.addSeparator()
         
         self.createMenu(
-            self.__bookmarksManager.bookmarksModel()
-                .nodeIndex(self.__bookmarksManager.toolbar()),
+            manager.bookmarksModel().nodeIndex(manager.toolbar()),
             1, self)
         return True
     

eric ide

mercurial