From a17de2e7ef9543f4cb07e3a0ac1dc6f948c6e019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Tue, 23 Aug 2016 18:07:19 +0200 Subject: [PATCH] New method for loading the comics in favorites (server listing). --- YACReaderLibrary/db_helper.cpp | 42 ++++++++++++++++++++++++++++++++++ YACReaderLibrary/db_helper.h | 1 + 2 files changed, 43 insertions(+) diff --git a/YACReaderLibrary/db_helper.cpp b/YACReaderLibrary/db_helper.cpp index 72c82017..54d45b1c 100644 --- a/YACReaderLibrary/db_helper.cpp +++ b/YACReaderLibrary/db_helper.cpp @@ -203,6 +203,48 @@ QList DBHelper::getLabelComics(qulonglong libraryId, qulonglong labelId return list; } +QList DBHelper::getFavorites(qulonglong libraryId) +{ + QString libraryPath = DBHelper::getLibraries().getPath(libraryId); + QSqlDatabase db = DataBaseManagement::loadDatabase(libraryPath+"/.yacreaderlibrary"); + + QList list; + + const int FAV_ID = 1; + + { + QSqlQuery selectQuery(db); + selectQuery.prepare("SELECT c.id,c.fileName,ci.title,ci.currentPage,ci.numPages,ci.hash " + "FROM comic c INNER JOIN comic_info ci ON (c.comicInfoId = ci.id) " + "INNER JOIN comic_default_reading_list cdrl ON (c.id == cdrl.comic_id) " + "WHERE cdrl.default_reading_list_id = :parentDefaultListId " + "ORDER BY cdrl.ordering"); + selectQuery.bindValue(":parentDefaultListId", 1); + selectQuery.exec(); + + while (selectQuery.next()) + { + ComicDB comic; + + QSqlRecord record = selectQuery.record(); + + comic.id = record.value(0).toULongLong(); + comic.parentId = FAV_ID; + comic.name = record.value(1).toString(); + comic.info.title = record.value(2).toString(); + comic.info.currentPage = record.value(3).toInt(); + comic.info.numPages = record.value(4).toInt(); + comic.info.hash = record.value(5).toString(); + + list.append(comic); + } + + db.close(); + } + + return list; +} + //objects management //deletes void DBHelper::removeFromDB(LibraryItem * item, QSqlDatabase & db) diff --git a/YACReaderLibrary/db_helper.h b/YACReaderLibrary/db_helper.h index f5e8aa26..e41f64be 100644 --- a/YACReaderLibrary/db_helper.h +++ b/YACReaderLibrary/db_helper.h @@ -32,6 +32,7 @@ public: static QList getLibrariesNames(); static QString getLibraryName(int id); static QList getLabelComics(qulonglong libraryId, qulonglong labelId); + static QList getFavorites(qulonglong libraryId); //objects management //deletes