--- 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