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