Update the UI when a comic is updated using the http api

This commit is contained in:
Luis Ángel San Martín 2022-10-15 11:42:46 +02:00
parent 61458b966c
commit e7b6f46cd3
3 changed files with 25 additions and 1 deletions

View File

@ -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())) {

View File

@ -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();

View File

@ -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