41 @param manager reference to the bookmarks manager object |
41 @param manager reference to the bookmarks manager object |
42 (BookmarksManager) |
42 (BookmarksManager) |
43 """ |
43 """ |
44 super(BookmarksDialog, self).__init__(parent) |
44 super(BookmarksDialog, self).__init__(parent) |
45 self.setupUi(self) |
45 self.setupUi(self) |
46 self.setWindowFlags(Qt.Window) |
46 self.setWindowFlags(Qt.WindowType.Window) |
47 |
47 |
48 self.__bookmarksManager = manager |
48 self.__bookmarksManager = manager |
49 if self.__bookmarksManager is None: |
49 if self.__bookmarksManager is None: |
50 import WebBrowser.WebBrowserWindow |
50 import WebBrowser.WebBrowserWindow |
51 self.__bookmarksManager = ( |
51 self.__bookmarksManager = ( |
67 header = fm.horizontalAdvance("m") * 40 |
67 header = fm.horizontalAdvance("m") * 40 |
68 except AttributeError: |
68 except AttributeError: |
69 header = fm.width("m") * 40 |
69 header = fm.width("m") * 40 |
70 self.bookmarksTree.header().resizeSection(0, header) |
70 self.bookmarksTree.header().resizeSection(0, header) |
71 self.bookmarksTree.header().setStretchLastSection(True) |
71 self.bookmarksTree.header().setStretchLastSection(True) |
72 self.bookmarksTree.setContextMenuPolicy(Qt.CustomContextMenu) |
72 self.bookmarksTree.setContextMenuPolicy( |
|
73 Qt.ContextMenuPolicy.CustomContextMenu) |
73 |
74 |
74 self.bookmarksTree.activated.connect(self.__activated) |
75 self.bookmarksTree.activated.connect(self.__activated) |
75 self.bookmarksTree.customContextMenuRequested.connect( |
76 self.bookmarksTree.customContextMenuRequested.connect( |
76 self.__customContextMenuRequested) |
77 self.__customContextMenuRequested) |
77 |
78 |
164 menu.addAction( |
165 menu.addAction( |
165 self.tr("Open in New Pri&vate Window"), |
166 self.tr("Open in New Pri&vate Window"), |
166 self.__openBookmarkInPrivateWindow) |
167 self.__openBookmarkInPrivateWindow) |
167 menu.addSeparator() |
168 menu.addSeparator() |
168 act = menu.addAction(self.tr("Edit &Name"), self.__editName) |
169 act = menu.addAction(self.tr("Edit &Name"), self.__editName) |
169 act.setEnabled(idx.flags() & Qt.ItemIsEditable) |
170 act.setEnabled(idx.flags() & Qt.ItemFlag.ItemIsEditable) |
170 if idx.isValid() and node.type() != BookmarkNode.Folder: |
171 if idx.isValid() and node.type() != BookmarkNode.Folder: |
171 menu.addAction(self.tr("Edit &Address"), self.__editAddress) |
172 menu.addAction(self.tr("Edit &Address"), self.__editAddress) |
172 menu.addSeparator() |
173 menu.addSeparator() |
173 act = menu.addAction( |
174 act = menu.addAction( |
174 self.tr("&Delete"), self.bookmarksTree.removeSelected) |
175 self.tr("&Delete"), self.bookmarksTree.removeSelected) |
175 act.setEnabled(idx.flags() & Qt.ItemIsDragEnabled) |
176 act.setEnabled(idx.flags() & Qt.ItemFlag.ItemIsDragEnabled) |
176 menu.addSeparator() |
177 menu.addSeparator() |
177 act = menu.addAction(self.tr("&Properties..."), self.__edit) |
178 act = menu.addAction(self.tr("&Properties..."), self.__edit) |
178 act.setEnabled(idx.flags() & Qt.ItemIsEditable) |
179 act.setEnabled(idx.flags() & Qt.ItemFlag.ItemIsEditable) |
179 if idx.isValid() and node.type() == BookmarkNode.Folder: |
180 if idx.isValid() and node.type() == BookmarkNode.Folder: |
180 menu.addSeparator() |
181 menu.addSeparator() |
181 menu.addAction(self.tr("New &Folder..."), self.__newFolder) |
182 menu.addAction(self.tr("New &Folder..."), self.__newFolder) |
182 menu.exec(QCursor.pos()) |
183 menu.exec(QCursor.pos()) |
183 |
184 |
185 """ |
186 """ |
186 Private slot to handle the activation of an entry. |
187 Private slot to handle the activation of an entry. |
187 |
188 |
188 @param idx reference to the entry index (QModelIndex) |
189 @param idx reference to the entry index (QModelIndex) |
189 """ |
190 """ |
190 if QApplication.keyboardModifiers() & Qt.ControlModifier: |
191 if ( |
|
192 QApplication.keyboardModifiers() & |
|
193 Qt.KeyboardModifier.ControlModifier |
|
194 ): |
191 self.__openBookmarkInNewTab() |
195 self.__openBookmarkInNewTab() |
192 elif QApplication.keyboardModifiers() & Qt.ShiftModifier: |
196 elif ( |
|
197 QApplication.keyboardModifiers() & |
|
198 Qt.KeyboardModifier.ShiftModifier |
|
199 ): |
193 self.__openBookmarkInNewWindow() |
200 self.__openBookmarkInNewWindow() |
194 else: |
201 else: |
195 self.__openBookmarkInCurrentTab() |
202 self.__openBookmarkInCurrentTab() |
196 |
203 |
197 def __openBookmarkInCurrentTab(self): |
204 def __openBookmarkInCurrentTab(self): |
262 WebBrowserWindow.mainWindow().newWindow(url) |
269 WebBrowserWindow.mainWindow().newWindow(url) |
263 else: |
270 else: |
264 if newTab: |
271 if newTab: |
265 if background: |
272 if background: |
266 self.newBackgroundTab.emit( |
273 self.newBackgroundTab.emit( |
267 idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole), |
274 idx.sibling(idx.row(), 1).data( |
268 idx.sibling(idx.row(), 0).data(Qt.DisplayRole)) |
275 BookmarksModel.UrlRole), |
|
276 idx.sibling(idx.row(), 0).data( |
|
277 Qt.ItemDataRole.DisplayRole)) |
269 else: |
278 else: |
270 self.newTab.emit( |
279 self.newTab.emit( |
271 idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole), |
280 idx.sibling(idx.row(), 1).data( |
272 idx.sibling(idx.row(), 0).data(Qt.DisplayRole)) |
281 BookmarksModel.UrlRole), |
|
282 idx.sibling(idx.row(), 0).data( |
|
283 Qt.ItemDataRole.DisplayRole)) |
273 else: |
284 else: |
274 self.openUrl.emit( |
285 self.openUrl.emit( |
275 idx.sibling(idx.row(), 1).data(BookmarksModel.UrlRole), |
286 idx.sibling(idx.row(), 1).data( |
276 idx.sibling(idx.row(), 0).data(Qt.DisplayRole)) |
287 BookmarksModel.UrlRole), |
|
288 idx.sibling(idx.row(), 0).data( |
|
289 Qt.ItemDataRole.DisplayRole)) |
277 self.__bookmarksManager.incVisitCount(node) |
290 self.__bookmarksManager.incVisitCount(node) |
278 |
291 |
279 def __editName(self): |
292 def __editName(self): |
280 """ |
293 """ |
281 Private slot to edit the name part of a bookmark. |
294 Private slot to edit the name part of a bookmark. |
333 parent = self.__bookmarksModel.node(idx) |
346 parent = self.__bookmarksModel.node(idx) |
334 title, ok = QInputDialog.getText( |
347 title, ok = QInputDialog.getText( |
335 self, |
348 self, |
336 self.tr("New Bookmark Folder"), |
349 self.tr("New Bookmark Folder"), |
337 self.tr("Enter title for new bookmark folder:"), |
350 self.tr("Enter title for new bookmark folder:"), |
338 QLineEdit.Normal) |
351 QLineEdit.EchoMode.Normal) |
339 |
352 |
340 if ok: |
353 if ok: |
341 if not title: |
354 if not title: |
342 title = self.tr("New Folder") |
355 title = self.tr("New Folder") |
343 node = BookmarkNode(BookmarkNode.Folder) |
356 node = BookmarkNode(BookmarkNode.Folder) |