src/eric7/WebBrowser/Bookmarks/BookmarksModel.py

branch
eric7
changeset 10482
72d9b5ea39b4
parent 10439
21c28b0f9e41
child 11090
f5f5f5803935
equal deleted inserted replaced
10481:9aea3575bd16 10482:72d9b5ea39b4
194 @param role data role 194 @param role data role
195 @type int 195 @type int
196 @return bookmark data 196 @return bookmark data
197 @rtype Any 197 @rtype Any
198 """ 198 """
199 from .BookmarkNode import BookmarkNode 199 from .BookmarkNode import BookmarkNodeType
200 200
201 if not index.isValid() or index.model() != self: 201 if not index.isValid() or index.model() != self:
202 return None 202 return None
203 203
204 bookmarkNode = self.node(index) 204 bookmarkNode = self.node(index)
205 if role in [Qt.ItemDataRole.EditRole, Qt.ItemDataRole.DisplayRole]: 205 if role in [Qt.ItemDataRole.EditRole, Qt.ItemDataRole.DisplayRole]:
206 if bookmarkNode.type() == BookmarkNode.Separator: 206 if bookmarkNode.type() == BookmarkNodeType.Separator:
207 if index.column() == 0: 207 if index.column() == 0:
208 return 50 * "\xB7" 208 return 50 * "\xB7"
209 elif index.column() == 1: 209 elif index.column() == 1:
210 return "" 210 return ""
211 211
225 225
226 elif role == BookmarksModel.TypeRole: 226 elif role == BookmarksModel.TypeRole:
227 return bookmarkNode.type() 227 return bookmarkNode.type()
228 228
229 elif role == BookmarksModel.SeparatorRole: 229 elif role == BookmarksModel.SeparatorRole:
230 return bookmarkNode.type() == BookmarkNode.Separator 230 return bookmarkNode.type() == BookmarkNodeType.Separator
231 231
232 elif role == Qt.ItemDataRole.DecorationRole and index.column() == 0: 232 elif role == Qt.ItemDataRole.DecorationRole and index.column() == 0:
233 if bookmarkNode.type() == BookmarkNode.Folder: 233 if bookmarkNode.type() == BookmarkNodeType.Folder:
234 return EricPixmapCache.getIcon("dirOpen") 234 return EricPixmapCache.getIcon("dirOpen")
235 235
236 return WebBrowserWindow.icon(QUrl(bookmarkNode.url)) 236 return WebBrowserWindow.icon(QUrl(bookmarkNode.url))
237 237
238 return None 238 return None
335 @param parent index of the parent node 335 @param parent index of the parent node
336 @type QModelIndex 336 @type QModelIndex
337 @return flag indicating the presence of children 337 @return flag indicating the presence of children
338 @rtype bool 338 @rtype bool
339 """ 339 """
340 from .BookmarkNode import BookmarkNode 340 from .BookmarkNode import BookmarkNodeType
341 341
342 if parent is None: 342 if parent is None:
343 parent = QModelIndex() 343 parent = QModelIndex()
344 344
345 if not parent.isValid(): 345 if not parent.isValid():
346 return True 346 return True
347 347
348 parentNode = self.node(parent) 348 parentNode = self.node(parent)
349 return parentNode.type() == BookmarkNode.Folder 349 return parentNode.type() == BookmarkNodeType.Folder
350 350
351 def flags(self, index): 351 def flags(self, index):
352 """ 352 """
353 Public method to get flags for a node cell. 353 Public method to get flags for a node cell.
354 354
355 @param index index of the node cell 355 @param index index of the node cell
356 @type QModelIndex 356 @type QModelIndex
357 @return flags 357 @return flags
358 @rtype Qt.ItemFlags 358 @rtype Qt.ItemFlags
359 """ 359 """
360 from .BookmarkNode import BookmarkNode 360 from .BookmarkNode import BookmarkNodeType
361 361
362 if not index.isValid(): 362 if not index.isValid():
363 return Qt.ItemFlag.NoItemFlags 363 return Qt.ItemFlag.NoItemFlags
364 364
365 node = self.node(index) 365 node = self.node(index)
372 if node in (self.__bookmarksManager.menu(), self.__bookmarksManager.toolbar()): 372 if node in (self.__bookmarksManager.menu(), self.__bookmarksManager.toolbar()):
373 return flags 373 return flags
374 374
375 flags |= Qt.ItemFlag.ItemIsDragEnabled 375 flags |= Qt.ItemFlag.ItemIsDragEnabled
376 376
377 if (index.column() == 0 and type_ != BookmarkNode.Separator) or ( 377 if (index.column() == 0 and type_ != BookmarkNodeType.Separator) or (
378 index.column() == 1 and type_ == BookmarkNode.Bookmark 378 index.column() == 1 and type_ == BookmarkNodeType.Bookmark
379 ): 379 ):
380 flags |= Qt.ItemFlag.ItemIsEditable 380 flags |= Qt.ItemFlag.ItemIsEditable
381 381
382 return flags 382 return flags
383 383
447 @param parent index of the parent node 447 @param parent index of the parent node
448 @type QModelIndex 448 @type QModelIndex
449 @return flag indicating successful acceptance of the data 449 @return flag indicating successful acceptance of the data
450 @rtype bool 450 @rtype bool
451 """ 451 """
452 from .BookmarkNode import BookmarkNode 452 from .BookmarkNode import BookmarkNode, BookmarkNodeType
453 from .XbelReader import XbelReader 453 from .XbelReader import XbelReader
454 454
455 if action == Qt.DropAction.IgnoreAction: 455 if action == Qt.DropAction.IgnoreAction:
456 return True 456 return True
457 457
462 462
463 if not data.hasFormat(self.MIMETYPE): 463 if not data.hasFormat(self.MIMETYPE):
464 if not data.hasUrls(): 464 if not data.hasUrls():
465 return False 465 return False
466 466
467 node = BookmarkNode(BookmarkNode.Bookmark, parentNode) 467 node = BookmarkNode(BookmarkNodeType.Bookmark, parentNode)
468 node.url = bytes(data.urls()[0].toEncoded()).decode() 468 node.url = bytes(data.urls()[0].toEncoded()).decode()
469 469
470 if data.hasText(): 470 if data.hasText():
471 node.title = data.text() 471 node.title = data.text()
472 else: 472 else:

eric ide

mercurial