45 self.setWindowFlags(Qt.Window) |
45 self.setWindowFlags(Qt.Window) |
46 |
46 |
47 self.__bookmarksManager = manager |
47 self.__bookmarksManager = manager |
48 if self.__bookmarksManager is None: |
48 if self.__bookmarksManager is None: |
49 import WebBrowser.WebBrowserWindow |
49 import WebBrowser.WebBrowserWindow |
50 self.__bookmarksManager = WebBrowser.WebBrowserWindow\ |
50 self.__bookmarksManager = ( |
51 .WebBrowserWindow.bookmarksManager() |
51 WebBrowser.WebBrowserWindow.WebBrowserWindow.bookmarksManager() |
|
52 ) |
52 |
53 |
53 self.__bookmarksModel = self.__bookmarksManager.bookmarksModel() |
54 self.__bookmarksModel = self.__bookmarksManager.bookmarksModel() |
54 self.__proxyModel = E5TreeSortFilterProxyModel(self) |
55 self.__proxyModel = E5TreeSortFilterProxyModel(self) |
55 self.__proxyModel.setFilterKeyColumn(-1) |
56 self.__proxyModel.setFilterKeyColumn(-1) |
56 self.__proxyModel.setSourceModel(self.__bookmarksModel) |
57 self.__proxyModel.setSourceModel(self.__bookmarksModel) |
236 from .BookmarksModel import BookmarksModel |
237 from .BookmarksModel import BookmarksModel |
237 |
238 |
238 idx = self.bookmarksTree.currentIndex() |
239 idx = self.bookmarksTree.currentIndex() |
239 sourceIndex = self.__proxyModel.mapToSource(idx) |
240 sourceIndex = self.__proxyModel.mapToSource(idx) |
240 node = self.__bookmarksModel.node(sourceIndex) |
241 node = self.__bookmarksModel.node(sourceIndex) |
241 if not idx.parent().isValid() or \ |
242 if ( |
242 node is None or \ |
243 not idx.parent().isValid() or |
243 node.type() == BookmarkNode.Folder: |
244 node is None or |
|
245 node.type() == BookmarkNode.Folder |
|
246 ): |
244 return |
247 return |
245 |
248 |
246 if newWindow: |
249 if newWindow: |
247 from WebBrowser.WebBrowserWindow import WebBrowserWindow |
250 from WebBrowser.WebBrowserWindow import WebBrowserWindow |
248 url = idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole) |
251 url = idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole) |
304 idx = QModelIndex(currentIndex) |
307 idx = QModelIndex(currentIndex) |
305 sourceIndex = self.__proxyModel.mapToSource(idx) |
308 sourceIndex = self.__proxyModel.mapToSource(idx) |
306 sourceNode = self.__bookmarksModel.node(sourceIndex) |
309 sourceNode = self.__bookmarksModel.node(sourceIndex) |
307 row = -1 # append new folder as the last item per default |
310 row = -1 # append new folder as the last item per default |
308 |
311 |
309 if sourceNode is not None and \ |
312 if ( |
310 sourceNode.type() != BookmarkNode.Folder: |
313 sourceNode is not None and |
|
314 sourceNode.type() != BookmarkNode.Folder |
|
315 ): |
311 # If the selected item is not a folder, add a new folder to the |
316 # If the selected item is not a folder, add a new folder to the |
312 # parent folder, but directly below the selected item. |
317 # parent folder, but directly below the selected item. |
313 idx = idx.parent() |
318 idx = idx.parent() |
314 row = currentIndex.row() + 1 |
319 row = currentIndex.row() + 1 |
315 |
320 |