aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/qt/bitcoinamountfield.cpp1
-rw-r--r--src/qt/bitcoingui.cpp2
-rw-r--r--src/qt/walletmodel.h23
3 files changed, 17 insertions, 9 deletions
diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp
index ea38cc86dd..f1edc62bbe 100644
--- a/src/qt/bitcoinamountfield.cpp
+++ b/src/qt/bitcoinamountfield.cpp
@@ -161,6 +161,7 @@ void BitcoinAmountField::unitChanged(int idx)
if(valid)
{
+ // If value was valid, re-place it in the widget with the new unit
setValue(currentValue);
}
else
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 0c2eaab152..e15941e7dd 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -602,7 +602,7 @@ void BitcoinGUI::changePassphrase()
void BitcoinGUI::unlockWallet()
{
- // Unlock wallet if needed
+ // Unlock wallet when requested by wallet model
if(walletModel->getEncryptionStatus() == WalletModel::Locked)
{
AskPassphraseDialog dlg(AskPassphraseDialog::Unlock, this);
diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h
index b141c0762d..b7b6973b3b 100644
--- a/src/qt/walletmodel.h
+++ b/src/qt/walletmodel.h
@@ -23,7 +23,7 @@ class WalletModel : public QObject
public:
explicit WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *parent = 0);
- enum StatusCode
+ enum StatusCode // Returned by sendCoins
{
OK,
InvalidAmount,
@@ -31,7 +31,7 @@ public:
AmountExceedsBalance,
AmountWithFeeExceedsBalance,
DuplicateAddress,
- TransactionCreationFailed,
+ TransactionCreationFailed, // Error returned when wallet is still locked
TransactionCommitFailed,
Aborted,
MiscError
@@ -86,12 +86,9 @@ public:
bool isValid() const { return valid; }
- UnlockContext(const UnlockContext& obj)
- { CopyFrom(obj); }
- private:
- UnlockContext& operator=(const UnlockContext& rhs)
- { CopyFrom(rhs); return *this; }
-
+ // Copy operator and constructor transfer the context
+ UnlockContext(const UnlockContext& obj) { CopyFrom(obj); }
+ UnlockContext& operator=(const UnlockContext& rhs) { CopyFrom(rhs); return *this; }
private:
WalletModel *wallet;
bool valid;
@@ -112,15 +109,25 @@ private:
AddressTableModel *addressTableModel;
TransactionTableModel *transactionTableModel;
+ // Cache some values to be able to detect changes
qint64 cachedBalance;
qint64 cachedUnconfirmedBalance;
qint64 cachedNumTransactions;
EncryptionStatus cachedEncryptionStatus;
signals:
+ // Signal that balance in wallet changed
void balanceChanged(qint64 balance, qint64 unconfirmedBalance);
+
+ // Number of transactions in wallet changed
void numTransactionsChanged(int count);
+
+ // Encryption status of wallet changed
void encryptionStatusChanged(int status);
+
+ // Signal emitted when wallet needs to be unlocked
+ // It is valid behaviour for listeners to keep the wallet locked after this signal;
+ // this means that the unlocking failed or was cancelled.
void requireUnlock();
// Asynchronous error notification