SimpleTreeModel: Handle null root
This commit is contained in:
parent
5f78e1a983
commit
f9acfbc224
|
@ -99,12 +99,14 @@ QModelIndex SimpleTreeModel<T>::parent(const QModelIndex &idx) const {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
int SimpleTreeModel<T>::rowCount(const QModelIndex &parent) const {
|
int SimpleTreeModel<T>::rowCount(const QModelIndex &parent) const {
|
||||||
T *item = IndexToItem(parent);
|
T *item = IndexToItem(parent);
|
||||||
|
if (!item) return 0;
|
||||||
return item->children.count();
|
return item->children.count();
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
bool SimpleTreeModel<T>::hasChildren(const QModelIndex &parent) const {
|
bool SimpleTreeModel<T>::hasChildren(const QModelIndex &parent) const {
|
||||||
T *item = IndexToItem(parent);
|
T *item = IndexToItem(parent);
|
||||||
|
if (!item) return false;
|
||||||
if (item->lazy_loaded)
|
if (item->lazy_loaded)
|
||||||
return !item->children.isEmpty();
|
return !item->children.isEmpty();
|
||||||
else
|
else
|
||||||
|
@ -114,13 +116,13 @@ bool SimpleTreeModel<T>::hasChildren(const QModelIndex &parent) const {
|
||||||
template<typename T>
|
template<typename T>
|
||||||
bool SimpleTreeModel<T>::canFetchMore(const QModelIndex &parent) const {
|
bool SimpleTreeModel<T>::canFetchMore(const QModelIndex &parent) const {
|
||||||
T *item = IndexToItem(parent);
|
T *item = IndexToItem(parent);
|
||||||
return !item->lazy_loaded;
|
return item && !item->lazy_loaded;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void SimpleTreeModel<T>::fetchMore(const QModelIndex &parent) {
|
void SimpleTreeModel<T>::fetchMore(const QModelIndex &parent) {
|
||||||
T *item = IndexToItem(parent);
|
T *item = IndexToItem(parent);
|
||||||
if (!item->lazy_loaded) {
|
if (item && !item->lazy_loaded) {
|
||||||
LazyPopulate(item);
|
LazyPopulate(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue