From 3f7e3ba3c40fb789af675e7754b09cb2dac336b2 Mon Sep 17 00:00:00 2001 From: Jaquee Date: Sun, 6 Aug 2017 00:10:59 +0200 Subject: check updates async --- src/libwalletqt/WalletManager.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/libwalletqt/WalletManager.cpp') diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index 300b3699..396274c6 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -331,8 +331,26 @@ bool WalletManager::saveQrCode(const QString &code, const QString &path) const return QRCodeImageProvider::genQrImage(code, &size).scaled(size.expandedTo(QSize(240, 240)), Qt::KeepAspectRatio).save(path, "PNG", 100); } +void WalletManager::checkUpdatesAsync(const QString &software, const QString &subdir) const +{ + QFuture future = QtConcurrent::run(this, &WalletManager::checkUpdates, + software, subdir); + QFutureWatcher * watcher = new QFutureWatcher(); + connect(watcher, &QFutureWatcher::finished, + this, [this, watcher]() { + QFuture future = watcher->future(); + watcher->deleteLater(); + qDebug() << "Checking for updates - done"; + emit checkUpdatesComplete(future.result()); + }); + watcher->setFuture(future); +} + + + QString WalletManager::checkUpdates(const QString &software, const QString &subdir) const { + qDebug() << "Checking for updates"; const std::tuple result = Monero::WalletManager::checkUpdates(software.toStdString(), subdir.toStdString()); if (!std::get<0>(result)) return QString(""); -- cgit v1.2.3