From 3e14f952615fc6be91a4c84a2205d8f74474f712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Tue, 29 Oct 2013 12:50:36 +0100 Subject: [PATCH] fixed mark as unread --- YACReaderLibrary/db/tablemodel.cpp | 38 ++++++------------------------ 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/YACReaderLibrary/db/tablemodel.cpp b/YACReaderLibrary/db/tablemodel.cpp index 38cc04b3..08b86a50 100644 --- a/YACReaderLibrary/db/tablemodel.cpp +++ b/YACReaderLibrary/db/tablemodel.cpp @@ -393,38 +393,10 @@ QVector TableModel::getReadList() } return readList; } -//TODO check other read status +//TODO untested, this method is no longer used QVector TableModel::setAllComicsRead(YACReaderComicReadStatus read) { - QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath); - db.transaction(); - int numComics = _data.count(); - QVector readList(numComics); - for(int i=0;isetData(TableModel::ReadColumn,QVariant(true)); - ComicDB c = DBHelper::loadComic(_data.value(i)->data(TableModel::Id).toULongLong(),db); - c.info.read = true; - DBHelper::update(&(c.info),db); - } - if(read == YACReader::Unread) - { - _data.value(i)->setData(TableModel::ReadColumn,QVariant(false)); - ComicDB c = DBHelper::loadComic(_data.value(i)->data(TableModel::Id).toULongLong(),db); - c.info.read = false; - DBHelper::update(&(c.info),db); - } - } - db.commit(); - db.close(); - QSqlDatabase::removeDatabase(_databasePath); - - emit dataChanged(index(0,TableModel::ReadColumn),index(numComics-1,TableModel::ReadColumn)); - - return readList; + return setComicsRead(persistentIndexList(),read); } QList TableModel::getAllComics() @@ -479,8 +451,12 @@ QVector TableModel::setComicsRead(QList l if(read == YACReader::Unread) { _data.value(mi.row())->setData(TableModel::ReadColumn, QVariant(false)); + _data.value(mi.row())->setData(TableModel::CurrentPage, QVariant(1)); + _data.value(mi.row())->setData(TableModel::HasBeenOpened, QVariant(false)); ComicDB c = DBHelper::loadComic(_data.value(mi.row())->data(TableModel::Id).toULongLong(),db); c.info.read = false; + c.info.currentPage = 1; + c.info.hasBeenOpened = false; DBHelper::update(&(c.info),db); } } @@ -488,7 +464,7 @@ QVector TableModel::setComicsRead(QList l db.close(); QSqlDatabase::removeDatabase(_databasePath); - emit dataChanged(index(list.first().row(),TableModel::ReadColumn),index(list.last().row(),TableModel::ReadColumn)); + emit dataChanged(index(list.first().row(),TableModel::ReadColumn),index(list.last().row(),TableModel::CurrentPage+1)); return getReadList(); }