diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 1c632a40..77396113 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -2818,6 +2818,12 @@ void LibraryWindow::importLibraryPackage() importLibraryDialog->open(libraries); } +void LibraryWindow::updateViewsOnClientSync() +{ + contentViewsManager->updateCurrentComicView(); + contentViewsManager->updateContinueReadingView(); +} + void LibraryWindow::updateViewsOnComicUpdateWithId(quint64 libraryId, quint64 comicId) { if (libraryId == (quint64)libraries.getId(selectedLibrary->currentText())) { diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index aa8d1c6f..f40664f9 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 updateViewsOnClientSync(); void updateViewsOnComicUpdateWithId(quint64 libraryId, quint64 comicId); void updateViewsOnComicUpdate(quint64 libraryId, const ComicDB &comic); void showComicVineScraper(); diff --git a/YACReaderLibrary/main.cpp b/YACReaderLibrary/main.cpp index cf708530..ee86bf65 100644 --- a/YACReaderLibrary/main.cpp +++ b/YACReaderLibrary/main.cpp @@ -257,6 +257,7 @@ int main(int argc, char **argv) mw->connect(localServer, &YACReaderLocalServer::comicUpdated, mw, &LibraryWindow::updateViewsOnComicUpdate, Qt::QueuedConnection); mw->connect(httpServer, &YACReaderHttpServer::comicUpdated, mw, &LibraryWindow::updateViewsOnComicUpdateWithId, Qt::QueuedConnection); + mw->connect(httpServer, &YACReaderHttpServer::clientSync, mw, &LibraryWindow::updateViewsOnClientSync, Qt::QueuedConnection); // connections to localServer // start as tray diff --git a/YACReaderLibrary/server/requestmapper.cpp b/YACReaderLibrary/server/requestmapper.cpp index a3efb446..e6ce2e9e 100644 --- a/YACReaderLibrary/server/requestmapper.cpp +++ b/YACReaderLibrary/server/requestmapper.cpp @@ -273,6 +273,7 @@ void RequestMapper::serviceV2(HttpRequest &request, HttpResponse &response) VersionController().service(request, response); } else if (sync.exactMatch(path)) { SyncControllerV2().service(request, response); + emit clientSync(); } else { if (library.indexIn(path) != -1 && DBHelper::getLibraries().contains(library.cap(1).toInt())) { if (folderInfo.exactMatch(path)) { diff --git a/YACReaderLibrary/server/requestmapper.h b/YACReaderLibrary/server/requestmapper.h index 505871ab..4a63f89a 100644 --- a/YACReaderLibrary/server/requestmapper.h +++ b/YACReaderLibrary/server/requestmapper.h @@ -21,6 +21,7 @@ public: void loadSessionV2(stefanfrings::HttpRequest &request, stefanfrings::HttpResponse &response); signals: + void clientSync(); void comicUpdated(qulonglong libraryId, qulonglong comicId); private: diff --git a/YACReaderLibrary/server/yacreader_http_server.cpp b/YACReaderLibrary/server/yacreader_http_server.cpp index 37d0d374..1f57b9e7 100644 --- a/YACReaderLibrary/server/yacreader_http_server.cpp +++ b/YACReaderLibrary/server/yacreader_http_server.cpp @@ -141,6 +141,7 @@ void YACReaderHttpServer::start(quint16 port) listener = new HttpListener(listenerSettings, requestMapper, app); connect(requestMapper, &RequestMapper::comicUpdated, this, &YACReaderHttpServer::comicUpdated); + connect(requestMapper, &RequestMapper::clientSync, this, &YACReaderHttpServer::clientSync); if (listener->isListening()) { qDebug("ServiceHelper: Service has started"); diff --git a/YACReaderLibrary/server/yacreader_http_server.h b/YACReaderLibrary/server/yacreader_http_server.h index 4c0e2761..ba5d9f54 100644 --- a/YACReaderLibrary/server/yacreader_http_server.h +++ b/YACReaderLibrary/server/yacreader_http_server.h @@ -20,6 +20,7 @@ public: QString getPort(); signals: + void clientSync(); void comicUpdated(qulonglong libraryId, qulonglong comicId); private: