| 109 | } |
| 110 | |
| 111 | void CFavoriteModel::fetchMore(const QModelIndex &parent) |
| 112 | { |
| 113 | //qDebug(log) << "fetchMore:" << parent; |
| 114 | if(!m_pDatabase) return; |
| 115 | tree* parentItem = nullptr; |
| 116 | if(parent.isValid()) |
| 117 | parentItem = static_cast<tree*>(parent.internalPointer()); |
| 118 | else { |
| 119 | if(!m_pRoot) { |
| 120 | m_pRoot = new tree(); |
| 121 | if(m_pRoot) { |
| 122 | m_pRoot->item.type = TreeItem::Node; |
| 123 | m_Folders[0] = m_pRoot; |
| 124 | } |
| 125 | } |
| 126 | parentItem = m_pRoot; |
| 127 | } |
| 128 | if(!parentItem) return; |
| 129 | if(parentItem->item.isFavorite()) return; |
| 130 | if(!parentItem->children.isEmpty()) return; |
| 131 | |
| 132 | auto Nodes = m_pDatabase->GetChildren(parentItem->item.id); |
| 133 | if(Nodes.isEmpty()) return; |
| 134 | int row = 0; |
| 135 | beginInsertRows(parent, 0, Nodes.size() - 1); |
| 136 | foreach(auto n, Nodes) { |
| 137 | tree* pTree = new tree(); |
| 138 | pTree->parent = parentItem; |
| 139 | pTree->SetRow(row++); |
| 140 | pTree->item = n; |
| 141 | if(n.isFolder()) |
| 142 | m_Folders[n.id] = pTree; |
| 143 | parentItem->children.append(pTree); |
| 144 | } |
| 145 | endInsertRows(); |
| 146 | } |
| 147 | |
| 148 | QVariant CFavoriteModel::data(const QModelIndex &index, int role) const |
| 149 | { |
nothing calls this directly
no test coverage detected