Helpviewer/Bookmarks/BookmarksModel.py

branch
Py2 comp.
changeset 3057
10516539f238
parent 2791
a9577f248f04
parent 3002
6ffc581f00f1
child 3060
5883ce99ee12
equal deleted inserted replaced
3056:9986ec0e559a 3057:10516539f238
7 Module implementing the bookmark model class. 7 Module implementing the bookmark model class.
8 """ 8 """
9 9
10 from __future__ import unicode_literals # __IGNORE_WARNING__ 10 from __future__ import unicode_literals # __IGNORE_WARNING__
11 11
12 from PyQt4.QtCore import Qt, QAbstractItemModel, QModelIndex, QUrl, QByteArray, \ 12 from PyQt4.QtCore import Qt, QAbstractItemModel, QModelIndex, QUrl, \
13 QDataStream, QIODevice, QBuffer, QMimeData 13 QByteArray, QDataStream, QIODevice, QBuffer, QMimeData
14 14
15 import UI.PixmapCache 15 import UI.PixmapCache
16 16
17 17
18 class BookmarksModel(QAbstractItemModel): 18 class BookmarksModel(QAbstractItemModel):
28 28
29 def __init__(self, manager, parent=None): 29 def __init__(self, manager, parent=None):
30 """ 30 """
31 Constructor 31 Constructor
32 32
33 @param manager reference to the bookmark manager object (BookmarksManager) 33 @param manager reference to the bookmark manager object
34 (BookmarksManager)
34 @param parent reference to the parent object (QObject) 35 @param parent reference to the parent object (QObject)
35 """ 36 """
36 super(BookmarksModel, self).__init__(parent) 37 super(BookmarksModel, self).__init__(parent)
37 38
38 self.__endMacro = False 39 self.__endMacro = False
111 """ 112 """
112 Public method to remove bookmarks from the model. 113 Public method to remove bookmarks from the model.
113 114
114 @param row row of the first bookmark to remove (integer) 115 @param row row of the first bookmark to remove (integer)
115 @param count number of bookmarks to remove (integer) 116 @param count number of bookmarks to remove (integer)
116 @param index of the parent bookmark node (QModelIndex) 117 @param parent index of the parent bookmark node (QModelIndex)
117 @return flag indicating successful removal (boolean) 118 @return flag indicating successful removal (boolean)
118 """ 119 """
119 if row < 0 or count <= 0 or row + count > self.rowCount(parent): 120 if row < 0 or count <= 0 or row + count > self.rowCount(parent):
120 return False 121 return False
121 122
255 if itemNode is None: 256 if itemNode is None:
256 parentNode = None 257 parentNode = None
257 else: 258 else:
258 parentNode = itemNode.parent() 259 parentNode = itemNode.parent()
259 260
260 if parentNode is None or parentNode == self.__bookmarksManager.bookmarks(): 261 if parentNode is None or \
262 parentNode == self.__bookmarksManager.bookmarks():
261 return QModelIndex() 263 return QModelIndex()
262 264
263 # get the parent's row 265 # get the parent's row
264 grandParentNode = parentNode.parent() 266 grandParentNode = parentNode.parent()
265 parentRow = grandParentNode.children().index(parentNode) 267 parentRow = grandParentNode.children().index(parentNode)
409 reader = XbelReader() 411 reader = XbelReader()
410 rootNode = reader.read(buffer) 412 rootNode = reader.read(buffer)
411 for bookmarkNode in rootNode.children(): 413 for bookmarkNode in rootNode.children():
412 rootNode.remove(bookmarkNode) 414 rootNode.remove(bookmarkNode)
413 row = max(0, row) 415 row = max(0, row)
414 self.__bookmarksManager.addBookmark(parentNode, bookmarkNode, row) 416 self.__bookmarksManager.addBookmark(
417 parentNode, bookmarkNode, row)
415 self.__endMacro = True 418 self.__endMacro = True
416 419
417 return True 420 return True
418 421
419 def setData(self, index, value, role=Qt.EditRole): 422 def setData(self, index, value, role=Qt.EditRole):

eric ide

mercurial