--- a/Helpviewer/OfflineStorage/WebDatabasesModel.py Thu Mar 23 18:58:56 2017 +0100 +++ b/Helpviewer/OfflineStorage/WebDatabasesModel.py Thu Mar 23 19:06:13 2017 +0100 @@ -35,7 +35,7 @@ for origin in QWebSecurityOrigin.allOrigins(): self.__data.append([origin, origin.databases()]) - def removeRows(self, row, count, parent=QModelIndex()): + def removeRows(self, row, count, parent=None): """ Public method to remove databases from the model. @@ -44,6 +44,9 @@ @param parent index of the security origin (QModelIndex) @return flag indicating successful removal (boolean) """ + if parent is None: + parent = QModelIndex() + if row < 0 or count <= 0 or row + count > self.rowCount(parent): return False @@ -122,25 +125,31 @@ elif index.column() == 1: return self.__dataString(db.size()) - def columnCount(self, parent=QModelIndex()): + def columnCount(self, parent=None): """ Public method to get the number of columns. @param parent index of parent (QModelIndex) @return number of columns (integer) """ + if parent is None: + parent = QModelIndex() + if parent.column() > 0: return 0 else: return len(self.__headers) - def rowCount(self, parent=QModelIndex()): + def rowCount(self, parent=None): """ Public method to determine the number of rows. @param parent index of parent (QModelIndex) @return number of rows (integer) """ + if parent is None: + parent = QModelIndex() + if parent.column() > 0: return 0 @@ -149,7 +158,7 @@ else: return len(self.__data[parent.row()][1]) - def index(self, row, column, parent=QModelIndex()): + def index(self, row, column, parent=None): """ Public method to get a model index for an entry. @@ -158,6 +167,9 @@ @param parent index of the parent (QModelIndex) @return index (QModelIndex) """ + if parent is None: + parent = QModelIndex() + if row < 0 or column < 0 or \ row >= self.rowCount(parent) or column >= self.columnCount(parent): return QModelIndex() @@ -167,13 +179,16 @@ else: return self.createIndex(row, column, sys.maxsize) - def parent(self, index=QModelIndex()): + def parent(self, index=None): """ Public method to get the index of the parent entry. @param index index of the child entry (QModelIndex) @return index of the parent entry (QModelIndex) """ + if index is None: + index = QModelIndex() + if not index.isValid(): return QModelIndex() @@ -182,13 +197,16 @@ return self.createIndex(index.internalId(), 0) - def hasChildren(self, parent=QModelIndex()): + def hasChildren(self, parent=None): """ Public method to check, if a parent node has some children. @param parent index of the parent node (QModelIndex) @return flag indicating the presence of children (boolean) """ + if parent is None: + parent = QModelIndex() + if not parent.isValid(): return True