7 Module implementing a dialog to add a bookmark or a bookmark folder. |
7 Module implementing a dialog to add a bookmark or a bookmark folder. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt6.QtCore import QModelIndex, QSortFilterProxyModel |
10 from PyQt6.QtCore import QModelIndex, QSortFilterProxyModel |
11 from PyQt6.QtWidgets import QDialog, QTreeView |
11 from PyQt6.QtWidgets import QDialog, QTreeView |
|
12 |
|
13 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
12 |
14 |
13 from .Ui_AddBookmarkDialog import Ui_AddBookmarkDialog |
15 from .Ui_AddBookmarkDialog import Ui_AddBookmarkDialog |
14 |
16 |
15 |
17 |
16 class AddBookmarkProxyModel(QSortFilterProxyModel): |
18 class AddBookmarkProxyModel(QSortFilterProxyModel): |
88 self.__bookmarksManager = bookmarksManager |
90 self.__bookmarksManager = bookmarksManager |
89 self.__addedNode = None |
91 self.__addedNode = None |
90 self.__addFolder = False |
92 self.__addFolder = False |
91 |
93 |
92 if self.__bookmarksManager is None: |
94 if self.__bookmarksManager is None: |
93 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
|
94 |
|
95 self.__bookmarksManager = WebBrowserWindow.bookmarksManager() |
95 self.__bookmarksManager = WebBrowserWindow.bookmarksManager() |
96 |
96 |
97 self.__proxyModel = AddBookmarkProxyModel(self) |
97 self.__proxyModel = AddBookmarkProxyModel(self) |
98 model = self.__bookmarksManager.bookmarksModel() |
98 model = self.__bookmarksManager.bookmarksModel() |
99 self.__proxyModel.setSourceModel(model) |
99 self.__proxyModel.setSourceModel(model) |
219 |
219 |
220 def accept(self): |
220 def accept(self): |
221 """ |
221 """ |
222 Public slot handling the acceptance of the dialog. |
222 Public slot handling the acceptance of the dialog. |
223 """ |
223 """ |
|
224 from .BookmarkNode import BookmarkNode |
|
225 |
224 if ( |
226 if ( |
225 not self.__addFolder and not self.addressEdit.text() |
227 not self.__addFolder and not self.addressEdit.text() |
226 ) or not self.nameEdit.text(): |
228 ) or not self.nameEdit.text(): |
227 super().accept() |
229 super().accept() |
228 return |
230 return |
229 |
|
230 from .BookmarkNode import BookmarkNode |
|
231 |
231 |
232 idx = self.currentIndex() |
232 idx = self.currentIndex() |
233 if not idx.isValid(): |
233 if not idx.isValid(): |
234 idx = self.__bookmarksManager.bookmarksModel().index(0, 0) |
234 idx = self.__bookmarksManager.bookmarksModel().index(0, 0) |
235 parent = self.__bookmarksManager.bookmarksModel().node(idx) |
235 parent = self.__bookmarksManager.bookmarksModel().node(idx) |