MCPcopy Create free account
hub / github.com/YACReader/yacreader / getSubfoldersModel

Method getSubfoldersModel

YACReaderLibrary/db/folder_model.cpp:779–820  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

777}
778
779FolderModel *FolderModel::getSubfoldersModel(const QModelIndex &mi)
780{
781 qulonglong id = 1;
782 FolderItem *parent = nullptr;
783 if (mi.isValid()) {
784 auto item = static_cast<FolderItem *>(mi.internalPointer());
785 parent = new FolderItem(item->getData(), item->parent());
786 id = parent->id = item->id;
787 }
788
789 if (id == 1) {
790 if (parent != nullptr) {
791 delete parent;
792 }
793 return this;
794 }
795
796 auto model = new FolderModel();
797
798 QString connectionName = "";
799 {
800 QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
801
802 QSqlQuery selectQuery(db); // TODO check
803 selectQuery.prepare("SELECT * FROM folder WHERE parentId = :parentId and id <> 1");
804 selectQuery.bindValue(":parentId", id);
805 selectQuery.exec();
806
807 if (parent != nullptr) {
808 model->setModelData(createModelData(selectQuery, parent));
809 }
810
811 connectionName = db.connectionName();
812 }
813 QSqlDatabase::removeDatabase(connectionName);
814
815 model->_databasePath = _databasePath;
816
817 model->isSubfolder = true;
818
819 return model;
820}
821
822Folder FolderModel::getRootFolder()
823{

Callers 1

loadEmptyFolderInfoMethod · 0.80

Calls 6

bindValueMethod · 0.80
execMethod · 0.80
isValidMethod · 0.45
getDataMethod · 0.45
parentMethod · 0.45
setModelDataMethod · 0.45

Tested by

no test coverage detected