mirror of
https://github.com/YACReader/yacreader
synced 2025-07-17 20:44:32 -04:00
Minimize the amount of actions available during updates
This commit is contained in:
@ -6,16 +6,20 @@
|
|||||||
#include "yacreader_global.h"
|
#include "yacreader_global.h"
|
||||||
|
|
||||||
LibrariesUpdateCoordinator::LibrariesUpdateCoordinator(QSettings *settings, YACReaderLibraries &libraries, QObject *parent)
|
LibrariesUpdateCoordinator::LibrariesUpdateCoordinator(QSettings *settings, YACReaderLibraries &libraries, QObject *parent)
|
||||||
: QObject(parent), libraries(libraries), timer(new QTimer(this))
|
: QObject(parent), libraries(libraries)
|
||||||
{
|
{
|
||||||
libraries.load();
|
libraries.load();
|
||||||
|
|
||||||
this->settings = settings;
|
this->settings = settings;
|
||||||
|
|
||||||
timer->setInterval(1000 * 60);
|
timer.setInterval(1000 * 60);
|
||||||
timer->start();
|
|
||||||
connect(timer, &QTimer::timeout, this, &LibrariesUpdateCoordinator::checkUpdatePolicy);
|
|
||||||
|
|
||||||
|
connect(&timer, &QTimer::timeout, this, &LibrariesUpdateCoordinator::checkUpdatePolicy);
|
||||||
|
}
|
||||||
|
|
||||||
|
void LibrariesUpdateCoordinator::init()
|
||||||
|
{
|
||||||
|
timer.start();
|
||||||
elapsedTimer.start();
|
elapsedTimer.start();
|
||||||
|
|
||||||
if (settings->value(UPDATE_LIBRARIES_AT_STARTUP, false).toBool()) {
|
if (settings->value(UPDATE_LIBRARIES_AT_STARTUP, false).toBool()) {
|
||||||
|
@ -13,6 +13,7 @@ class LibrariesUpdateCoordinator : public QObject
|
|||||||
public:
|
public:
|
||||||
LibrariesUpdateCoordinator(QSettings *settings, YACReaderLibraries &libraries, QObject *parent = 0);
|
LibrariesUpdateCoordinator(QSettings *settings, YACReaderLibraries &libraries, QObject *parent = 0);
|
||||||
|
|
||||||
|
void init();
|
||||||
void updateLibraries();
|
void updateLibraries();
|
||||||
void stop();
|
void stop();
|
||||||
void cancel();
|
void cancel();
|
||||||
@ -29,7 +30,7 @@ private slots:
|
|||||||
private:
|
private:
|
||||||
QSettings *settings;
|
QSettings *settings;
|
||||||
YACReaderLibraries &libraries;
|
YACReaderLibraries &libraries;
|
||||||
QTimer *timer;
|
QTimer timer;
|
||||||
QElapsedTimer elapsedTimer;
|
QElapsedTimer elapsedTimer;
|
||||||
std::future<void> updateFuture;
|
std::future<void> updateFuture;
|
||||||
bool canceled;
|
bool canceled;
|
||||||
|
@ -507,7 +507,12 @@ void LibraryWindow::setupCoordinators()
|
|||||||
connect(librariesUpdateCoordinator, &LibrariesUpdateCoordinator::updateStarted, sideBar->librariesTitle, &YACReaderTitledToolBar::showBusyIndicator);
|
connect(librariesUpdateCoordinator, &LibrariesUpdateCoordinator::updateStarted, sideBar->librariesTitle, &YACReaderTitledToolBar::showBusyIndicator);
|
||||||
connect(librariesUpdateCoordinator, &LibrariesUpdateCoordinator::updateEnded, sideBar->librariesTitle, &YACReaderTitledToolBar::hideBusyIndicator);
|
connect(librariesUpdateCoordinator, &LibrariesUpdateCoordinator::updateEnded, sideBar->librariesTitle, &YACReaderTitledToolBar::hideBusyIndicator);
|
||||||
|
|
||||||
|
connect(librariesUpdateCoordinator, &LibrariesUpdateCoordinator::updateStarted, this, [=]() {
|
||||||
|
disableAllActions();
|
||||||
|
});
|
||||||
connect(librariesUpdateCoordinator, &LibrariesUpdateCoordinator::updateEnded, this, &LibraryWindow::reloadCurrentLibrary);
|
connect(librariesUpdateCoordinator, &LibrariesUpdateCoordinator::updateEnded, this, &LibraryWindow::reloadCurrentLibrary);
|
||||||
|
|
||||||
|
librariesUpdateCoordinator->init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LibraryWindow::createActions()
|
void LibraryWindow::createActions()
|
||||||
|
Reference in New Issue
Block a user