WebBrowser/Bookmarks/BookmarksMenu.py

changeset 5015
ca1d44f0f6b2
parent 4808
328e613165fe
child 5038
df7103c3f2a6
equal deleted inserted replaced
5014:337f4a8fe6bb 5015:ca1d44f0f6b2
54 """ 54 """
55 menu = BookmarksMenu(self) 55 menu = BookmarksMenu(self)
56 menu.openUrl.connect(self.openUrl) 56 menu.openUrl.connect(self.openUrl)
57 menu.newUrl.connect(self.newUrl) 57 menu.newUrl.connect(self.newUrl)
58 return menu 58 return menu
59
60 def __updateVisitCount(self, idx):
61 """
62 Private method to update the visit count of a bookmark.
63
64 @param idx index of the bookmark item (QModelIndex)
65 """
66 from WebBrowser.WebBrowserWindow import WebBrowserWindow
67
68 bookmarkNode = self.model().node(idx)
69 manager = WebBrowserWindow.bookmarksManager()
70 manager.incVisitCount(bookmarkNode)
59 71
60 def __activated(self, idx): 72 def __activated(self, idx):
61 """ 73 """
62 Private slot handling the activated signal. 74 Private slot handling the activated signal.
63 75
69 idx.data(Qt.DisplayRole)) 81 idx.data(Qt.DisplayRole))
70 else: 82 else:
71 self.openUrl.emit( 83 self.openUrl.emit(
72 idx.data(BookmarksModel.UrlRole), 84 idx.data(BookmarksModel.UrlRole),
73 idx.data(Qt.DisplayRole)) 85 idx.data(Qt.DisplayRole))
86 self.__updateVisitCount(idx)
74 self.resetFlags() 87 self.resetFlags()
75 88
76 def postPopulated(self): 89 def postPopulated(self):
77 """ 90 """
78 Public method to add any actions after the tree. 91 Public method to add any actions after the tree.
122 child.data(Qt.DisplayRole)) 135 child.data(Qt.DisplayRole))
123 else: 136 else:
124 self.newUrl.emit( 137 self.newUrl.emit(
125 child.data(BookmarksModel.UrlRole), 138 child.data(BookmarksModel.UrlRole),
126 child.data(Qt.DisplayRole)) 139 child.data(Qt.DisplayRole))
140 self.__updateVisitCount(child)
127 141
128 def __contextMenuRequested(self, pos): 142 def __contextMenuRequested(self, pos):
129 """ 143 """
130 Private slot to handle the context menu request. 144 Private slot to handle the context menu request.
131 145
177 idx = self.index(self.sender()) 191 idx = self.index(self.sender())
178 192
179 self.openUrl.emit( 193 self.openUrl.emit(
180 idx.data(BookmarksModel.UrlRole), 194 idx.data(BookmarksModel.UrlRole),
181 idx.data(Qt.DisplayRole)) 195 idx.data(Qt.DisplayRole))
196 self.__updateVisitCount(idx)
182 197
183 def __openBookmarkInNewTab(self): 198 def __openBookmarkInNewTab(self):
184 """ 199 """
185 Private slot to open a bookmark in a new browser tab. 200 Private slot to open a bookmark in a new browser tab.
186 """ 201 """
187 idx = self.index(self.sender()) 202 idx = self.index(self.sender())
188 203
189 self.newUrl.emit( 204 self.newUrl.emit(
190 idx.data(BookmarksModel.UrlRole), 205 idx.data(BookmarksModel.UrlRole),
191 idx.data(Qt.DisplayRole)) 206 idx.data(Qt.DisplayRole))
207 self.__updateVisitCount(idx)
192 208
193 def __openBookmarkInNewWindow(self): 209 def __openBookmarkInNewWindow(self):
194 """ 210 """
195 Private slot to open a bookmark in a new window. 211 Private slot to open a bookmark in a new window.
196 """ 212 """
197 idx = self.index(self.sender()) 213 idx = self.index(self.sender())
198 url = idx.data(BookmarksModel.UrlRole) 214 url = idx.data(BookmarksModel.UrlRole)
199 215
200 from WebBrowser.WebBrowserWindow import WebBrowserWindow 216 from WebBrowser.WebBrowserWindow import WebBrowserWindow
201 WebBrowserWindow.mainWindow().newWindow(url) 217 WebBrowserWindow.mainWindow().newWindow(url)
218 self.__updateVisitCount(idx)
202 219
203 def __openBookmarkInPrivateWindow(self): 220 def __openBookmarkInPrivateWindow(self):
204 """ 221 """
205 Private slot to open a bookmark in a new private window. 222 Private slot to open a bookmark in a new private window.
206 """ 223 """
207 idx = self.index(self.sender()) 224 idx = self.index(self.sender())
208 url = idx.data(BookmarksModel.UrlRole) 225 url = idx.data(BookmarksModel.UrlRole)
209 226
210 from WebBrowser.WebBrowserWindow import WebBrowserWindow 227 from WebBrowser.WebBrowserWindow import WebBrowserWindow
211 WebBrowserWindow.mainWindow().newPrivateWindow(url) 228 WebBrowserWindow.mainWindow().newPrivateWindow(url)
229 self.__updateVisitCount(idx)
212 230
213 def __removeBookmark(self): 231 def __removeBookmark(self):
214 """ 232 """
215 Private slot to remove a bookmark. 233 Private slot to remove a bookmark.
216 """ 234 """
246 264
247 @param parent reference to the parent widget (QWidget) 265 @param parent reference to the parent widget (QWidget)
248 """ 266 """
249 BookmarksMenu.__init__(self, parent) 267 BookmarksMenu.__init__(self, parent)
250 268
251 self.__bookmarksManager = None 269 ## self.__bookmarksManager = None
252 self.__initialActions = [] 270 self.__initialActions = []
253 271
254 def prePopulated(self): 272 def prePopulated(self):
255 """ 273 """
256 Public method to add any actions before the tree. 274 Public method to add any actions before the tree.
257 275
258 @return flag indicating if any actions were added (boolean) 276 @return flag indicating if any actions were added (boolean)
259 """ 277 """
260 import WebBrowser.WebBrowserWindow 278 from WebBrowser.WebBrowserWindow import WebBrowserWindow
261 279
262 self.__bookmarksManager = WebBrowser.WebBrowserWindow.WebBrowserWindow\ 280 manager = WebBrowserWindow.bookmarksManager()
263 .bookmarksManager() 281 self.setModel(manager.bookmarksModel())
264 self.setModel(self.__bookmarksManager.bookmarksModel()) 282 self.setRootIndex(manager.bookmarksModel().nodeIndex(manager.menu()))
265 self.setRootIndex(self.__bookmarksManager.bookmarksModel()
266 .nodeIndex(self.__bookmarksManager.menu()))
267 283
268 # initial actions 284 # initial actions
269 for act in self.__initialActions: 285 for act in self.__initialActions:
270 if act == "--SEPARATOR--": 286 if act == "--SEPARATOR--":
271 self.addSeparator() 287 self.addSeparator()
273 self.addAction(act) 289 self.addAction(act)
274 if len(self.__initialActions) != 0: 290 if len(self.__initialActions) != 0:
275 self.addSeparator() 291 self.addSeparator()
276 292
277 self.createMenu( 293 self.createMenu(
278 self.__bookmarksManager.bookmarksModel() 294 manager.bookmarksModel().nodeIndex(manager.toolbar()),
279 .nodeIndex(self.__bookmarksManager.toolbar()),
280 1, self) 295 1, self)
281 return True 296 return True
282 297
283 def postPopulated(self): 298 def postPopulated(self):
284 """ 299 """

eric ide

mercurial