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

Method setComicsRead

YACReaderLibrary/db/comic_model.cpp:1006–1042  ·  view source on GitHub ↗

TODO

Source from the content-addressed store, hash-verified

1004}
1005// TODO
1006QVector<YACReaderComicReadStatus> ComicModel::setComicsRead(QList<QModelIndex> list, YACReaderComicReadStatus read)
1007{
1008 QString connectionName = "";
1009 const auto &comicIndexes = list;
1010 {
1011 QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
1012 db.transaction();
1013 for (const auto &mi : comicIndexes) {
1014 if (read == YACReader::Read) {
1015 _data.value(mi.row())->setData(ComicModel::ReadColumn, QVariant(true));
1016 bool found;
1017 ComicDB c = DBHelper::loadComic(_data.value(mi.row())->data(ComicModel::Id).toULongLong(), db, found);
1018 c.info.read = true;
1019 DBHelper::update(&(c.info), db);
1020 }
1021 if (read == YACReader::Unread) {
1022 _data.value(mi.row())->setData(ComicModel::ReadColumn, QVariant(false));
1023 _data.value(mi.row())->setData(ComicModel::CurrentPage, QVariant(1));
1024 _data.value(mi.row())->setData(ComicModel::HasBeenOpened, QVariant(false));
1025 bool found;
1026 ComicDB c = DBHelper::loadComic(_data.value(mi.row())->data(ComicModel::Id).toULongLong(), db, found);
1027 c.info.read = false;
1028 c.info.currentPage = 1;
1029 c.info.hasBeenOpened = false;
1030 c.info.lastTimeOpened.setValue(QVariant());
1031 DBHelper::update(&(c.info), db);
1032 }
1033 }
1034 db.commit();
1035 connectionName = db.connectionName();
1036 }
1037 QSqlDatabase::removeDatabase(connectionName);
1038
1039 emit dataChanged(index(list.first().row(), ComicModel::ReadColumn), index(list.last().row(), ComicModel::HasBeenOpened), QVector<int>() << ReadColumnRole << CurrentPageRole << HasBeenOpenedRole);
1040
1041 return getReadList();
1042}
1043
1044void ComicModel::setComicsType(QList<QModelIndex> list, FileType type)
1045{

Callers 2

setReadMethod · 0.80

Calls 4

setValueMethod · 0.80
setDataMethod · 0.45
rowMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected