diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 142eb6e9..1c632a40 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -2818,6 +2818,29 @@ void LibraryWindow::importLibraryPackage() importLibraryDialog->open(libraries); } +void LibraryWindow::updateViewsOnComicUpdateWithId(quint64 libraryId, quint64 comicId) +{ + if (libraryId == (quint64)libraries.getId(selectedLibrary->currentText())) { + auto path = libraries.getPath(libraryId); + if (path.isEmpty()) { + return; + } + QString connectionName = ""; + { + QSqlDatabase db = DataBaseManagement::loadDatabase(path + "/.yacreaderlibrary"); + bool found; + auto comic = DBHelper::loadComic(comicId, db, found); + if (found) { + updateViewsOnComicUpdate(libraryId, comic); + } + + qDebug() << db.lastError(); + connectionName = db.connectionName(); + } + QSqlDatabase::removeDatabase(connectionName); + } +} + void LibraryWindow::updateViewsOnComicUpdate(quint64 libraryId, const ComicDB &comic) { if (libraryId == (quint64)libraries.getId(selectedLibrary->currentText())) { diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index 56b495da..aa8d1c6f 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -385,6 +385,7 @@ public slots: void showContinueReadingContextMenu(QPoint point, ComicDB comic); void libraryAlreadyExists(const QString &name); void importLibraryPackage(); + void updateViewsOnComicUpdateWithId(quint64 libraryId, quint64 comicId); void updateViewsOnComicUpdate(quint64 libraryId, const ComicDB &comic); void showComicVineScraper(); void setRemoveError(); diff --git a/YACReaderLibrary/main.cpp b/YACReaderLibrary/main.cpp index 2fbe0d6d..cf708530 100644 --- a/YACReaderLibrary/main.cpp +++ b/YACReaderLibrary/main.cpp @@ -256,7 +256,7 @@ int main(int argc, char **argv) auto mw = new LibraryWindow(); mw->connect(localServer, &YACReaderLocalServer::comicUpdated, mw, &LibraryWindow::updateViewsOnComicUpdate, Qt::QueuedConnection); - + mw->connect(httpServer, &YACReaderHttpServer::comicUpdated, mw, &LibraryWindow::updateViewsOnComicUpdateWithId, Qt::QueuedConnection); // connections to localServer // start as tray