mirror of
https://github.com/monero-project/monero-gui.git
synced 2025-03-09 10:04:48 +00:00
check updates async
This commit is contained in:
parent
c68c317776
commit
3f7e3ba3c4
3 changed files with 26 additions and 2 deletions
8
main.qml
8
main.qml
|
@ -821,6 +821,7 @@ ApplicationWindow {
|
||||||
//
|
//
|
||||||
walletManager.walletOpened.connect(onWalletOpened);
|
walletManager.walletOpened.connect(onWalletOpened);
|
||||||
walletManager.walletClosed.connect(onWalletClosed);
|
walletManager.walletClosed.connect(onWalletClosed);
|
||||||
|
walletManager.checkUpdatesComplete.connect(onWalletCheckUpdatesComplete);
|
||||||
|
|
||||||
if(typeof daemonManager != "undefined") {
|
if(typeof daemonManager != "undefined") {
|
||||||
daemonManager.daemonStarted.connect(onDaemonStarted);
|
daemonManager.daemonStarted.connect(onDaemonStarted);
|
||||||
|
@ -1341,8 +1342,7 @@ ApplicationWindow {
|
||||||
Qt.quit();
|
Qt.quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkUpdates() {
|
function onWalletCheckUpdatesComplete(update) {
|
||||||
var update = walletManager.checkUpdates("monero-gui", "gui")
|
|
||||||
if (update === "")
|
if (update === "")
|
||||||
return
|
return
|
||||||
print("Update found: " + update)
|
print("Update found: " + update)
|
||||||
|
@ -1360,6 +1360,10 @@ ApplicationWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function checkUpdates() {
|
||||||
|
walletManager.checkUpdatesAsync("monero-gui", "gui")
|
||||||
|
}
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
id: updatesTimer
|
id: updatesTimer
|
||||||
interval: 3600*1000; running: true; repeat: true
|
interval: 3600*1000; running: true; repeat: true
|
||||||
|
|
|
@ -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);
|
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<QString> future = QtConcurrent::run(this, &WalletManager::checkUpdates,
|
||||||
|
software, subdir);
|
||||||
|
QFutureWatcher<QString> * watcher = new QFutureWatcher<QString>();
|
||||||
|
connect(watcher, &QFutureWatcher<Wallet*>::finished,
|
||||||
|
this, [this, watcher]() {
|
||||||
|
QFuture<QString> 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
|
QString WalletManager::checkUpdates(const QString &software, const QString &subdir) const
|
||||||
{
|
{
|
||||||
|
qDebug() << "Checking for updates";
|
||||||
const std::tuple<bool, std::string, std::string, std::string, std::string> result = Monero::WalletManager::checkUpdates(software.toStdString(), subdir.toStdString());
|
const std::tuple<bool, std::string, std::string, std::string, std::string> result = Monero::WalletManager::checkUpdates(software.toStdString(), subdir.toStdString());
|
||||||
if (!std::get<0>(result))
|
if (!std::get<0>(result))
|
||||||
return QString("");
|
return QString("");
|
||||||
|
|
|
@ -134,6 +134,7 @@ public:
|
||||||
Q_INVOKABLE QString resolveOpenAlias(const QString &address) const;
|
Q_INVOKABLE QString resolveOpenAlias(const QString &address) const;
|
||||||
Q_INVOKABLE bool parse_uri(const QString &uri, QString &address, QString &payment_id, uint64_t &amount, QString &tx_description, QString &recipient_name, QVector<QString> &unknown_parameters, QString &error);
|
Q_INVOKABLE bool parse_uri(const QString &uri, QString &address, QString &payment_id, uint64_t &amount, QString &tx_description, QString &recipient_name, QVector<QString> &unknown_parameters, QString &error);
|
||||||
Q_INVOKABLE bool saveQrCode(const QString &, const QString &) const;
|
Q_INVOKABLE bool saveQrCode(const QString &, const QString &) const;
|
||||||
|
Q_INVOKABLE void checkUpdatesAsync(const QString &software, const QString &subdir) const;
|
||||||
Q_INVOKABLE QString checkUpdates(const QString &software, const QString &subdir) const;
|
Q_INVOKABLE QString checkUpdates(const QString &software, const QString &subdir) const;
|
||||||
|
|
||||||
// clear/rename wallet cache
|
// clear/rename wallet cache
|
||||||
|
@ -143,6 +144,7 @@ signals:
|
||||||
|
|
||||||
void walletOpened(Wallet * wallet);
|
void walletOpened(Wallet * wallet);
|
||||||
void walletClosed(const QString &walletAddress);
|
void walletClosed(const QString &walletAddress);
|
||||||
|
void checkUpdatesComplete(const QString &result) const;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in a new issue