diff --git a/YACReaderLibrary/db_helper.cpp b/YACReaderLibrary/db_helper.cpp index 201a48da..ddde1866 100644 --- a/YACReaderLibrary/db_helper.cpp +++ b/YACReaderLibrary/db_helper.cpp @@ -753,6 +753,18 @@ void DBHelper::updateRead(ComicInfo *comicInfo, QSqlDatabase &db) updateComicInfo.exec(); } +void DBHelper::updateAdded(ComicInfo *comicInfo, QSqlDatabase &db) +{ + QSqlQuery updateComicInfo(db); + updateComicInfo.prepare("UPDATE comic_info SET " + "added = :added" + " WHERE id = :id "); + + updateComicInfo.bindValue(":added", comicInfo->added); + updateComicInfo.bindValue(":id", comicInfo->id); + updateComicInfo.exec(); +} + void DBHelper::update(const Folder &folder, QSqlDatabase &db) { QSqlQuery updateFolderInfo(db); diff --git a/YACReaderLibrary/db_helper.h b/YACReaderLibrary/db_helper.h index b5335ee7..5f0ace4c 100644 --- a/YACReaderLibrary/db_helper.h +++ b/YACReaderLibrary/db_helper.h @@ -65,6 +65,7 @@ public: static void update(ComicDB *comics, QSqlDatabase &db); static void update(ComicInfo *comicInfo, QSqlDatabase &db); static void updateRead(ComicInfo *comicInfo, QSqlDatabase &db); + static void updateAdded(ComicInfo *comicInfo, QSqlDatabase &db); static void update(const Folder &folder, QSqlDatabase &db); // only for finished/completed fields static void propagateFolderUpdatesToParent(const Folder &folder, QSqlDatabase &db); static Folder updateChildrenInfo(qulonglong folderId, QSqlDatabase &db); diff --git a/YACReaderLibrary/library_creator.cpp b/YACReaderLibrary/library_creator.cpp index fe8be708..ce9dd97f 100644 --- a/YACReaderLibrary/library_creator.cpp +++ b/YACReaderLibrary/library_creator.cpp @@ -594,6 +594,11 @@ void LibraryCreator::update(QDir dirS) QString path = QDir::cleanPath(fileInfoS.absoluteFilePath()).remove(_source); #endif replaceComic(path, fileInfoS, comicDB); + } else if (added == 0) { // this file was added before `added` existed on the db, `added` will be updated to match the modified date so future modifications can be detected. + if (lastModified > 0) { + comicDB->info.added = lastModified; + DBHelper::updateAdded(&(comicDB->info), _database); + } } } i++;