aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeksoj <herrbosquet@gmail.com>2017-09-15 23:01:11 +0200
committerGitHub <noreply@github.com>2017-09-15 23:01:11 +0200
commitc712444e174e57aa083973ac91f458ce499787cf (patch)
tree70df5c9c70773f7f9721c2270bf34e83c04a5e1c /src
parent3e90c3d8251a418387307f24fa039c739124ff05 (diff)
parent4066cb22ea9e17c831f0f751911814d6fabefcdb (diff)
downloadmonzero-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.cpp5
-rw-r--r--src/libwalletqt/TransactionInfo.cpp5
-rw-r--r--src/libwalletqt/TransactionInfo.h2
-rw-r--r--src/libwalletqt/Wallet.cpp10
-rw-r--r--src/libwalletqt/Wallet.h7
-rw-r--r--src/libwalletqt/WalletManager.cpp18
-rw-r--r--src/libwalletqt/WalletManager.h2
-rw-r--r--src/model/TransactionHistoryModel.cpp4
-rw-r--r--src/model/TransactionHistoryModel.h1
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,