diff options
| author | Keksoj <herrbosquet@gmail.com> | 2017-09-15 23:01:11 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-09-15 23:01:11 +0200 |
| commit | c712444e174e57aa083973ac91f458ce499787cf (patch) | |
| tree | 70df5c9c70773f7f9721c2270bf34e83c04a5e1c /src | |
| parent | 3e90c3d8251a418387307f24fa039c739124ff05 (diff) | |
| parent | 4066cb22ea9e17c831f0f751911814d6fabefcdb (diff) | |
| download | monzero-gui-c712444e174e57aa083973ac91f458ce499787cf.tar.gz monzero-gui-c712444e174e57aa083973ac91f458ce499787cf.tar.xz monzero-gui-c712444e174e57aa083973ac91f458ce499787cf.zip | |
Merge pull request #1 from erciccione/fix
Fix conflicts and rebase.
Diffstat (limited to 'src')
| -rw-r--r-- | src/libwalletqt/TransactionHistory.cpp | 5 | ||||
| -rw-r--r-- | src/libwalletqt/TransactionInfo.cpp | 5 | ||||
| -rw-r--r-- | src/libwalletqt/TransactionInfo.h | 2 | ||||
| -rw-r--r-- | src/libwalletqt/Wallet.cpp | 10 | ||||
| -rw-r--r-- | src/libwalletqt/Wallet.h | 7 | ||||
| -rw-r--r-- | src/libwalletqt/WalletManager.cpp | 18 | ||||
| -rw-r--r-- | src/libwalletqt/WalletManager.h | 2 | ||||
| -rw-r--r-- | src/model/TransactionHistoryModel.cpp | 4 | ||||
| -rw-r--r-- | src/model/TransactionHistoryModel.h | 1 |
9 files changed, 52 insertions, 2 deletions
diff --git a/src/libwalletqt/TransactionHistory.cpp b/src/libwalletqt/TransactionHistory.cpp index 9cd22bee..31e8952e 100644 --- a/src/libwalletqt/TransactionHistory.cpp +++ b/src/libwalletqt/TransactionHistory.cpp @@ -45,11 +45,12 @@ QList<TransactionInfo *> TransactionHistory::getAll() const if (ti->timestamp() <= firstDateTime) { firstDateTime = ti->timestamp(); } + quint64 requiredConfirmations = (ti->blockHeight() < ti->unlockTime()) ? ti->unlockTime() - ti->blockHeight() : 0; // store last tx height - if (ti->confirmations() < 10 && ti->blockHeight() >= lastTxHeight ){ + if (ti->confirmations() < requiredConfirmations && ti->blockHeight() >= lastTxHeight) { lastTxHeight = ti->blockHeight(); // TODO: Fetch block time and confirmations needed from wallet2? - m_minutesToUnlock = (10 - ti->confirmations()) * 2; + m_minutesToUnlock = (requiredConfirmations - ti->confirmations()) * 2; m_locked = true; } diff --git a/src/libwalletqt/TransactionInfo.cpp b/src/libwalletqt/TransactionInfo.cpp index 71df2b02..5ad739bf 100644 --- a/src/libwalletqt/TransactionInfo.cpp +++ b/src/libwalletqt/TransactionInfo.cpp @@ -51,6 +51,11 @@ quint64 TransactionInfo::confirmations() const return m_pimpl->confirmations(); } +quint64 TransactionInfo::unlockTime() const +{ + return m_pimpl->unlockTime(); +} + QString TransactionInfo::hash() const { return QString::fromStdString(m_pimpl->hash()); diff --git a/src/libwalletqt/TransactionInfo.h b/src/libwalletqt/TransactionInfo.h index 30418b88..fa13a3be 100644 --- a/src/libwalletqt/TransactionInfo.h +++ b/src/libwalletqt/TransactionInfo.h @@ -19,6 +19,7 @@ class TransactionInfo : public QObject Q_PROPERTY(QString fee READ fee) Q_PROPERTY(quint64 blockHeight READ blockHeight) Q_PROPERTY(quint64 confirmations READ confirmations) + Q_PROPERTY(quint64 unlockTime READ unlockTime) Q_PROPERTY(QString hash READ hash) Q_PROPERTY(QDateTime timestamp READ timestamp) Q_PROPERTY(QString date READ date) @@ -44,6 +45,7 @@ public: QString fee() const; quint64 blockHeight() const; quint64 confirmations() const; + quint64 unlockTime() const; //! transaction_id QString hash() const; QDateTime timestamp() const; diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index b79d77e5..5a71debf 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -599,6 +599,16 @@ bool Wallet::useForkRules(quint8 required_version, quint64 earlyBlocks) const } } +QString Wallet::getDaemonLogPath() const +{ + return QString::fromStdString(m_walletImpl->getDefaultDataDir()) + "/bitmonero.log"; +} + +QString Wallet::getWalletLogPath() const +{ + return QCoreApplication::applicationDirPath() + "/monero-wallet-gui.log"; +} + Wallet::Wallet(Monero::Wallet *w, QObject *parent) : QObject(parent) , m_walletImpl(w) diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h index 1224b24d..3fcc057f 100644 --- a/src/libwalletqt/Wallet.h +++ b/src/libwalletqt/Wallet.h @@ -45,6 +45,9 @@ class Wallet : public QObject Q_PROPERTY(QString publicViewKey READ getPublicViewKey) Q_PROPERTY(QString secretSpendKey READ getSecretSpendKey) Q_PROPERTY(QString publicSpendKey READ getPublicSpendKey) + Q_PROPERTY(QString daemonLogPath READ getDaemonLogPath CONSTANT) + Q_PROPERTY(QString walletLogPath READ getWalletLogPath CONSTANT) + Q_PROPERTY(quint64 walletCreationHeight READ getWalletCreationHeight CONSTANT) public: @@ -241,6 +244,10 @@ public: QString getSecretSpendKey() const {return QString::fromStdString(m_walletImpl->secretSpendKey());} QString getPublicSpendKey() const {return QString::fromStdString(m_walletImpl->publicSpendKey());} + quint64 getWalletCreationHeight() const {return m_walletImpl->getRefreshFromBlockHeight();} + QString getDaemonLogPath() const; + QString getWalletLogPath() const; + // TODO: setListenter() when it implemented in API signals: // emitted on every event happened with wallet 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<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 { + qDebug() << "Checking for updates"; 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)) return QString(""); diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h index 6824d603..bf9bf19a 100644 --- a/src/libwalletqt/WalletManager.h +++ b/src/libwalletqt/WalletManager.h @@ -134,6 +134,7 @@ public: 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 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; // clear/rename wallet cache @@ -143,6 +144,7 @@ signals: void walletOpened(Wallet * wallet); void walletClosed(const QString &walletAddress); + void checkUpdatesComplete(const QString &result) const; public slots: private: diff --git a/src/model/TransactionHistoryModel.cpp b/src/model/TransactionHistoryModel.cpp index 2e232259..c1f61fa1 100644 --- a/src/model/TransactionHistoryModel.cpp +++ b/src/model/TransactionHistoryModel.cpp @@ -85,6 +85,9 @@ QVariant TransactionHistoryModel::data(const QModelIndex &index, int role) const case TransactionConfirmationsRole: result = tInfo->confirmations(); break; + case TransactionConfirmationsRequiredRole: + result = (tInfo->blockHeight() < tInfo->unlockTime()) ? tInfo->unlockTime() - tInfo->blockHeight() : 0; + break; case TransactionHashRole: result = tInfo->hash(); break; @@ -130,6 +133,7 @@ QHash<int, QByteArray> TransactionHistoryModel::roleNames() const roleNames.insert(TransactionFeeRole, "fee"); roleNames.insert(TransactionBlockHeightRole, "blockHeight"); roleNames.insert(TransactionConfirmationsRole, "confirmations"); + roleNames.insert(TransactionConfirmationsRequiredRole, "confirmationsRequired"); roleNames.insert(TransactionHashRole, "hash"); roleNames.insert(TransactionTimeStampRole, "timeStamp"); roleNames.insert(TransactionPaymentIdRole, "paymentId"); diff --git a/src/model/TransactionHistoryModel.h b/src/model/TransactionHistoryModel.h index 449d8003..a2dbd967 100644 --- a/src/model/TransactionHistoryModel.h +++ b/src/model/TransactionHistoryModel.h @@ -26,6 +26,7 @@ public: TransactionFeeRole, TransactionBlockHeightRole, TransactionConfirmationsRole, + TransactionConfirmationsRequiredRole, TransactionHashRole, TransactionTimeStampRole, TransactionPaymentIdRole, |
