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

Method updateFolderType

YACReaderLibrary/db/folder_model.cpp:650–680  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

648}
649
650void FolderModel::updateFolderType(const QModelIndexList &list, YACReader::FileType type)
651{
652 QString connectionName = "";
653 {
654 QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
655 db.transaction();
656 for (const auto &mi : list) {
657 auto item = static_cast<FolderItem *>(mi.internalPointer());
658
659 std::function<void(FolderItem *, YACReader::FileType)> setType;
660 setType = [&setType](FolderItem *item, YACReader::FileType type) -> void {
661 item->setData(FolderModel::Type, QVariant::fromValue(type));
662
663 for (auto child : item->children()) {
664 setType(child, type);
665 }
666 };
667
668 setType(item, type);
669
670 if (!isSubfolder) {
671 DBHelper::updateFolderTreeType(item->id, db, type);
672 }
673 }
674 db.commit();
675 connectionName = db.connectionName();
676 }
677 QSqlDatabase::removeDatabase(connectionName);
678
679 emit dataChanged(index(list.first().row(), FolderModel::Name), index(list.last().row(), FolderModel::Updated));
680}
681
682void FolderModel::updateTreeType(YACReader::FileType type)
683{

Callers 2

setFolderTypeMethod · 0.80

Calls 3

setDataMethod · 0.45
childrenMethod · 0.45
rowMethod · 0.45

Tested by

no test coverage detected