| 839 | } |
| 840 | |
| 841 | QModelIndex FolderModel::getIndexFromFolderId(qulonglong folderId, const QModelIndex &parent) |
| 842 | { |
| 843 | if (rootItem == nullptr) { |
| 844 | return QModelIndex(); |
| 845 | } |
| 846 | |
| 847 | auto numRows = rowCount(parent); |
| 848 | for (auto i = 0; i < numRows; i++) { |
| 849 | auto modelIndex = index(i, 0, parent); |
| 850 | |
| 851 | if (modelIndex.isValid()) { |
| 852 | auto folderItem = static_cast<FolderItem *>(modelIndex.internalPointer()); |
| 853 | |
| 854 | if (folderItem->id == folderId) { |
| 855 | return modelIndex; |
| 856 | } |
| 857 | |
| 858 | auto childModelIndex = getIndexFromFolderId(folderId, modelIndex); |
| 859 | |
| 860 | if (childModelIndex.isValid()) { |
| 861 | auto folderItem = static_cast<FolderItem *>(childModelIndex.internalPointer()); |
| 862 | |
| 863 | if (folderItem->id == folderId) { |
| 864 | return childModelIndex; |
| 865 | } |
| 866 | } |
| 867 | } |
| 868 | } |
| 869 | |
| 870 | return QModelIndex(); |
| 871 | } |
| 872 | |
| 873 | QModelIndex FolderModel::getIndexFromFolder(const Folder &folder, const QModelIndex &parent) |
| 874 | { |
no test coverage detected