PRCYCoin  2.0.0.7rc1
P2P Digital Currency
walletview.cpp
Go to the documentation of this file.
1 // Copyright (c) 2011-2013 The Bitcoin developers
2 // Distributed under the MIT/X11 software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #include "walletview.h"
6 
7 #include "addressbookpage.h"
8 #include "bip38tooldialog.h"
9 #include "bitcoingui.h"
10 #include "blockexplorer.h"
11 #include "clientmodel.h"
12 #include "guiutil.h"
13 #include "historypage.h"
14 #include "masternodeconfig.h"
15 #include "multisenddialog.h"
16 #include "optionsmodel.h"
17 #include "overviewpage.h"
18 #include "optionspage.h"
19 #include "receivecoinsdialog.h"
20 #include "sendcoinsdialog.h"
22 #include "transactiontablemodel.h"
23 #include "transactionview.h"
24 #include "walletmodel.h"
25 
26 #include "guiinterface.h"
27 
28 #include <QAction>
29 #include <QActionGroup>
30 #include <QFileDialog>
31 #include <QHBoxLayout>
32 #include <QLabel>
33 #include <QProgressDialog>
34 #include <QPushButton>
35 #include <QSettings>
36 #include <QVBoxLayout>
37 
38 WalletView::WalletView(QWidget* parent) : QStackedWidget(parent),
39  clientModel(0),
40  walletModel(0)
41 {
42  // Create tabs
43  overviewPage = new OverviewPage();
44  explorerWindow = new BlockExplorer(this);
45  transactionsPage = new QWidget(this);
46  QVBoxLayout* vbox = new QVBoxLayout();
47  QHBoxLayout* hbox_buttons = new QHBoxLayout();
48  transactionView = new TransactionView(this);
49  vbox->addWidget(transactionView);
50  QPushButton* exportButton = new QPushButton(tr("&Export"), this);
51  exportButton->setToolTip(tr("Export the data in the current tab to a file"));
52  hbox_buttons->addStretch();
53  // Sum of selected transactions
54  QLabel* transactionSumLabel = new QLabel(); // Label
55  transactionSumLabel->setObjectName("transactionSumLabel"); // Label ID as CSS-reference
56  transactionSumLabel->setText(tr("Selected amount:"));
57  hbox_buttons->addWidget(transactionSumLabel);
58 
59  transactionSum = new QLabel(); // Amount
60  transactionSum->setObjectName("transactionSum"); // Label ID as CSS-reference
61  transactionSum->setMinimumSize(200, 8);
62  transactionSum->setTextInteractionFlags(Qt::TextSelectableByMouse);
63  hbox_buttons->addWidget(transactionSum);
64 
65  hbox_buttons->addWidget(exportButton);
66  vbox->addLayout(hbox_buttons);
67 
70  optionsPage = new OptionsPage();
71  historyPage = new HistoryPage();
73 
74  addWidget(overviewPage);
75  addWidget(historyPage);
76  addWidget(receiveCoinsPage);
77  addWidget(sendCoinsPage);
78  addWidget(optionsPage);
79  addWidget(explorerWindow);
80  addWidget(masternodeListPage);
81 
82  // Clicking on a transaction on the overview pre-selects the transaction on the transaction history page
83  connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex)));
84 
85  // Double-clicking on a transaction on the transaction history page shows details
86  connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails()));
87 
88  // Update wallet with sum of selected transactions
89  connect(transactionView, SIGNAL(trxAmount(QString)), this, SLOT(trxAmount(QString)));
90 
91  // Clicking on "Export" allows to export the transaction list
92  connect(exportButton, SIGNAL(clicked()), transactionView, SLOT(exportClicked()));
93 
94  // Pass through messages from transactionView
95  connect(transactionView, SIGNAL(message(QString, QString, unsigned int)), this, SIGNAL(message(QString, QString, unsigned int)));
96 }
97 
99 {
100 }
101 
103 {
104  if (gui) {
105  // Clicking on a transaction on the overview page simply sends you to transaction history page
106  connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), gui, SLOT(gotoHistoryPage()));
107 
108  // Receive and report messages
109  connect(this, SIGNAL(message(QString, QString, unsigned int)), gui, SLOT(message(QString, QString, unsigned int)));
110 
111  // Pass through encryption status changed signals
112  connect(this, SIGNAL(encryptionStatusChanged(int)), gui, SLOT(setEncryptionStatus(int)));
113 
114  // Pass through transaction notifications
115  connect(this, SIGNAL(incomingTransaction(QString, int, CAmount, QString, QString, QString)), gui, SLOT(incomingTransaction(QString, int, CAmount, QString, QString, QString)));
116  connect(this, SIGNAL(stakingStatusChanged(bool)), gui, SLOT(setStakingInProgress(bool)));
117  }
118 }
119 
121 {
122  Q_EMIT stakingStatusChanged(stt);
123 }
124 
126 {
127  this->clientModel = clientModel;
128 
132 
133 }
134 
136 {
137  this->walletModel = walletModel;
138 
139  // Put transaction list in tabs
147  if (walletModel) {
148  // Receive and pass through messages from wallet model
149  connect(walletModel, SIGNAL(message(QString, QString, unsigned int)), this, SIGNAL(message(QString, QString, unsigned int)));
150 
151  // Handle changes in encryption status
152  connect(walletModel, SIGNAL(encryptionStatusChanged(int)), this, SIGNAL(encryptionStatusChanged(int)));
154 
155  // Balloon pop-up for new transaction
156  connect(walletModel->getTransactionTableModel(), SIGNAL(rowsInserted(QModelIndex, int, int)),
157  this, SLOT(processNewTransaction(QModelIndex, int, int)));
158 
159  // Ask for passphrase if needed
160  connect(walletModel, SIGNAL(requireUnlock(AskPassphraseDialog::Context)), this, SLOT(unlockWallet(AskPassphraseDialog::Context)));
161 
162  // Show progress dialog
163  connect(walletModel, SIGNAL(showProgress(QString, int)), this, SLOT(showProgress(QString, int)));
164  connect(walletModel, SIGNAL(stakingStatusChanged(bool)), this, SLOT(stakingStatus(bool)));
165  }
166 }
167 
168 void WalletView::processNewTransaction(const QModelIndex& parent, int start, int /*end*/)
169 {
170  // Prevent balloon-spam when initial block download is in progress
172  return;
173 
175  if (!ttm || ttm->processingQueuedTransactions())
176  return;
177 
178  QString date = ttm->index(start, TransactionTableModel::Date, parent).data().toString();
179  qint64 amount = ttm->index(start, TransactionTableModel::Amount, parent).data(Qt::EditRole).toULongLong();
180  QString type = ttm->index(start, TransactionTableModel::Type, parent).data().toString();
181  QString address = ttm->index(start, TransactionTableModel::ToAddress, parent).data().toString();
182  QString confirmations = ttm->index(start, TransactionTableModel::Confirmations, parent).data().toString();
183 
184  Q_EMIT incomingTransaction(date, walletModel->getOptionsModel()->getDisplayUnit(), amount, type, address, confirmations);
185 }
186 
188 {
189  setCurrentWidget(overviewPage);
190  // Refresh UI-elements in case coins were locked/unlocked in CoinControl
192 }
193 
195 {
196  int lastTime = GetAdjustedTime();
197  setCurrentWidget(historyPage);
198  if (GetAdjustedTime() - lastTime < 30) {
200  }
201 }
202 
203 
205 {
206  setCurrentWidget(explorerWindow);
207 }
208 
210 {
211  setCurrentWidget(masternodeListPage);
212 }
213 
215 {
216  setCurrentWidget(receiveCoinsPage);
217 }
218 
220 {
221  setCurrentWidget(optionsPage);
222 }
223 
225 {
226  setCurrentWidget(sendCoinsPage);
227 }
228 
230 {
231  MultiSendDialog* multiSendDialog = new MultiSendDialog(this);
232  multiSendDialog->setModel(walletModel);
233  multiSendDialog->show();
234 }
235 
237 {
238  overviewPage->showBlockSync(fShow);
239 }
240 
242 {
244 }
245 
246 void WalletView::encryptWallet(bool status)
247 {
248  if (!walletModel)
249  return;
252  dlg.exec();
253 
255 }
256 
258 {
259  QString filename = GUIUtil::getSaveFileName(this,
260  tr("Backup Wallet"), QString(),
261  tr("Wallet Data (*.dat)"), NULL);
262 
263  if (filename.isEmpty())
264  return;
265 
266  walletModel->backupWallet(filename);
267 }
268 
270 {
271  if(!walletModel)
272  return;
273 
275 
276  if (encryptionStatus == WalletModel::Locked || encryptionStatus == WalletModel::UnlockedForStakingOnly) {
278  if (!ctx.isValid()) {
279  QMessageBox msgBox;
280  msgBox.setWindowTitle("Mnemonic Recovery Phrase");
281  msgBox.setIcon(QMessageBox::Information);
282  msgBox.setText("Attempt to view Mnemonic Phrase failed or canceled. Wallet locked for security.");
283  msgBox.setStyleSheet(GUIUtil::loadStyleSheet());
284  msgBox.exec();
285  LogPrintf("Attempt to view Mnemonic Phrase failed or canceled. Wallet locked for security.\n");
286  return;
287  } else {
288  SecureString pass;
289  walletModel->setWalletLocked(false, pass);
290  LogPrintf("Attempt to view Mnemonic Phrase successful.\n");
291  }
292  } else {
293  QMessageBox::StandardButton reply;
294  reply = QMessageBox::question(this, "Are You Sure?", "Are you sure you would like to view your Mnemonic Phrase?\nYou will be required to enter your passphrase. Failed or canceled attempts will be logged.", QMessageBox::Yes|QMessageBox::No);
295  if (reply == QMessageBox::Yes) {
298  if (!ctx.isValid()) {
299  QMessageBox msgBox;
300  msgBox.setWindowTitle("Mnemonic Recovery Phrase");
301  msgBox.setIcon(QMessageBox::Information);
302  msgBox.setText("Attempt to view Mnemonic Phrase failed or canceled. Wallet locked for security.");
303  msgBox.setStyleSheet(GUIUtil::loadStyleSheet());
304  msgBox.exec();
305  LogPrintf("Attempt to view Mnemonic Phrase failed or canceled. Wallet locked for security.\n");
306  return;
307  } else {
308  SecureString pass;
309  walletModel->setWalletLocked(false, pass);
310  LogPrintf("Attempt to view Mnemonic Phrase successful.\n");
311  }
312  } else {
313  LogPrintf("Attempt to view Mnemonic Phrase canceled.\n");
314  return;
315  }
316  }
317 
318  QString phrase = "";
319  std::string recoverySeedPhrase = "";
320  if (walletModel->getSeedPhrase(recoverySeedPhrase)) {
321  phrase = QString::fromStdString(recoverySeedPhrase);
322  }
323 
324  QMessageBox msgBox;
325  QPushButton *copyButton = msgBox.addButton(tr("Copy"), QMessageBox::ActionRole);
326  QPushButton *okButton = msgBox.addButton(tr("OK"), QMessageBox::ActionRole);
327  copyButton->setStyleSheet("background:transparent;");
328  copyButton->setIcon(QIcon(":/icons/editcopy"));
329  msgBox.setWindowTitle("Mnemonic Recovery Phrase");
330  msgBox.setText("Below is your Mnemonic Recovery Phrase, consisting of 24 seed words. Please copy/write these words down in order. We strongly recommend keeping multiple copies in different locations.");
331  msgBox.setInformativeText("\n<b>" + phrase + "</b>");
332  msgBox.setStyleSheet(GUIUtil::loadStyleSheet());
333  msgBox.exec();
334 
335  if (msgBox.clickedButton() == copyButton) {
336  //Copy Mnemonic Recovery Phrase to clipboard
337  GUIUtil::setClipboard(phrase);
338  }
339 }
340 
342 {
344  dlg.exec();
345 }
346 
348 {
349  if (!walletModel)
350  return;
351  // Unlock wallet when requested by wallet model
352 
355  dlg.exec();
356  }
357 }
358 
360 {
361  if (!walletModel)
362  return;
363 
365 }
366 
368 {
369  if (!walletModel)
370  return;
371 
373 
374  // Unlock the wallet when requested
375  if (encStatus == walletModel->Locked) {
377  dlg.exec();
378  }
379 
380  else if (encStatus == walletModel->Unlocked || encStatus == walletModel->UnlockedForStakingOnly) {
382  }
383 }
384 
386 {
387  if (!walletModel)
388  return;
390  dlg->setAttribute(Qt::WA_DeleteOnClose);
392  dlg->show();
393 }
394 
396 {
397  if (!walletModel)
398  return;
400  dlg->setAttribute(Qt::WA_DeleteOnClose);
402  dlg->show();
403 }
404 
405 void WalletView::showProgress(const QString& title, int nProgress)
406 {
407  if (nProgress == 0) {
408  progressDialog = new QProgressDialog(title, "", 0, 100);
409  progressDialog->setWindowModality(Qt::ApplicationModal);
410  progressDialog->setMinimumDuration(0);
411  progressDialog->setCancelButton(0);
412  progressDialog->setAutoClose(false);
413  progressDialog->setValue(0);
414  } else if (nProgress == 100) {
415  if (progressDialog) {
416  progressDialog->close();
417  progressDialog->deleteLater();
418  }
419  } else if (progressDialog)
420  progressDialog->setValue(nProgress);
421 }
422 
424 void WalletView::trxAmount(QString amount)
425 {
426  transactionSum->setText(amount);
427 }
WalletView::sendCoinsPage
SendCoinsDialog * sendCoinsPage
Definition: walletview.h:69
signverifymessagedialog.h
TransactionView
Widget showing the transaction list for a wallet, including a filter row.
Definition: transactionview.h:32
WalletModel::getOptionsModel
OptionsModel * getOptionsModel()
Definition: walletmodel.cpp:358
transactiontablemodel.h
AddressBookPage::setModel
void setModel(AddressTableModel *model)
Definition: addressbookpage.cpp:110
AddressBookPage::SendingTab
@ SendingTab
Definition: addressbookpage.h:34
ReceiveCoinsDialog
Dialog for requesting payment of bitcoins.
Definition: receivecoinsdialog.h:33
WalletView::transactionView
TransactionView * transactionView
Definition: walletview.h:73
WalletModel::EncryptionStatus
EncryptionStatus
Definition: walletmodel.h:124
WalletModel::UnlockContext::isValid
bool isValid() const
Definition: walletmodel.h:195
AskPassphraseDialog::Context::Encrypt
@ Encrypt
Wallet needs to be fully unlocked.
WalletView::WalletView
WalletView(QWidget *parent)
Definition: walletview.cpp:38
ClientModel::inInitialBlockDownload
bool inInitialBlockDownload() const
Return true if core is doing initial block download.
Definition: clientmodel.cpp:176
ReceiveCoinsDialog::setModel
void setModel(WalletModel *model)
Definition: receivecoinsdialog.cpp:88
TransactionTableModel::Date
@ Date
Definition: transactiontablemodel.h:32
WalletModel
Interface to Bitcoin wallet from Qt view code.
Definition: walletmodel.h:102
historypage.h
OverviewPage::showBlockSync
void showBlockSync(bool fShow)
Definition: overviewpage.cpp:339
WalletView::explorerWindow
BlockExplorer * explorerWindow
Definition: walletview.h:70
addressbookpage.h
AskPassphraseDialog::Context
Context
Definition: askpassphrasedialog.h:34
sendcoinsdialog.h
walletmodel.h
WalletView::gotoReceiveCoinsPage
void gotoReceiveCoinsPage()
Switch to receive coins page.
Definition: walletview.cpp:214
WalletModel::backupWallet
bool backupWallet(const QString &filename)
Definition: walletmodel.cpp:436
WalletView::overviewPage
OverviewPage * overviewPage
Definition: walletview.h:64
WalletModel::getAddressTableModel
AddressTableModel * getAddressTableModel()
Definition: walletmodel.cpp:363
WalletModel::Unlocked
@ Unlocked
Definition: walletmodel.h:127
MasternodeList::setWalletModel
void setWalletModel(WalletModel *walletModel)
Definition: masternodelist.cpp:71
OverviewPage
Overview ("home") page widget.
Definition: overviewpage.h:33
AskPassphraseDialog
Multifunctional dialog to ask for passphrases.
Definition: askpassphrasedialog.h:19
WalletView::showProgress
void showProgress(const QString &title, int nProgress)
Show progress dialog e.g.
Definition: walletview.cpp:405
optionspage.h
WalletView::clientModel
ClientModel * clientModel
Definition: walletview.h:61
TransactionTableModel::index
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
Definition: transactiontablemodel.cpp:707
WalletModel::getTransactionTableModel
TransactionTableModel * getTransactionTableModel()
Definition: walletmodel.cpp:368
TransactionTableModel::Confirmations
@ Confirmations
Definition: transactiontablemodel.h:36
AskPassphraseDialog::Mode::Decrypt
@ Decrypt
Ask passphrase and decrypt wallet.
HistoryPage::updateTableData
void updateTableData(CWallet *wallet)
Definition: historypage.cpp:192
WalletView::optionsPage
OptionsPage * optionsPage
Definition: walletview.h:67
guiinterface.h
WalletView::gotoSendCoinsPage
void gotoSendCoinsPage(QString addr="")
Switch to send coins page.
Definition: walletview.cpp:224
OptionsPage::setModel
void setModel(WalletModel *model)
Definition: optionspage.cpp:178
WalletView::stakingStatusChanged
void stakingStatusChanged(bool)
overviewpage.h
GUIUtil::setClipboard
void setClipboard(const QString &str)
Definition: guiutil.cpp:785
WalletView::processNewTransaction
void processNewTransaction(const QModelIndex &parent, int start, int)
Show incoming transaction notification for new transactions.
Definition: walletview.cpp:168
OptionsModel::getDisplayUnit
int getDisplayUnit()
Definition: optionsmodel.h:60
MultiSendDialog
Definition: multisenddialog.h:13
AskPassphraseDialog::Context::ChangePass
@ ChangePass
Toggle wallet lock state.
WalletModel::emitBalanceChanged
void emitBalanceChanged()
Definition: walletmodel.cpp:183
WalletView::encryptionStatusChanged
void encryptionStatusChanged(int status)
Encryption status of wallet changed.
WalletView::stakingStatus
void stakingStatus(bool)
Definition: walletview.cpp:120
WalletView::setClientModel
void setClientModel(ClientModel *clientModel)
Set the client model.
Definition: walletview.cpp:125
MasternodeList
Masternode Manager page widget.
Definition: masternodelist.h:36
TransactionTableModel::ToAddress
@ ToAddress
Definition: transactiontablemodel.h:34
WalletView::trxAmount
void trxAmount(QString amount)
Update selected PRCY amount from transactionview.
Definition: walletview.cpp:424
SecureString
std::basic_string< char, std::char_traits< char >, secure_allocator< char > > SecureString
Definition: allocators.h:262
OverviewPage::setClientModel
void setClientModel(ClientModel *clientModel)
Definition: overviewpage.cpp:223
WalletView::updateEncryptionStatus
void updateEncryptionStatus()
Re-Q_EMIT encryption status signal.
Definition: walletview.cpp:241
WalletView::message
void message(const QString &title, const QString &message, unsigned int style)
Fired when a message should be reported to the user.
AskPassphraseDialog::Context::Unlock_Full
@ Unlock_Full
Unlock wallet from menu
WalletModel::getEncryptionStatus
EncryptionStatus getEncryptionStatus() const
Definition: walletmodel.cpp:373
LogPrintf
#define LogPrintf(...)
Definition: logging.h:147
CAmount
int64_t CAmount
Amount in PRCY (Can be negative)
Definition: amount.h:17
AddressBookPage
Widget that shows a list of sending or receiving addresses.
Definition: addressbookpage.h:28
WalletView::toggleLockWallet
void toggleLockWallet()
Toggle wallet lock state.
Definition: walletview.cpp:367
SendCoinsDialog
Dialog for sending bitcoins.
Definition: sendcoinsdialog.h:32
guiutil.h
WalletView::transactionsPage
QWidget * transactionsPage
Definition: walletview.h:65
TransactionTableModel::Amount
@ Amount
Definition: transactiontablemodel.h:35
WalletModel::getSeedPhrase
bool getSeedPhrase(std::string &phrase) const
Definition: walletmodel.cpp:591
WalletModel::Locked
@ Locked
Definition: walletmodel.h:126
walletview.h
HistoryPage
Dialog for options page.
Definition: historypage.h:37
TransactionTableModel::processingQueuedTransactions
bool processingQueuedTransactions()
Definition: transactiontablemodel.h:76
AskPassphraseDialog::Context::ToggleLock
@ ToggleLock
Encrypt unencrypted wallet.
AskPassphraseDialog::Mode::Encrypt
@ Encrypt
Ask passphrase twice and encrypt.
BlockExplorer
Definition: blockexplorer.h:25
GUIUtil::getSaveFileName
QString getSaveFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter, QString *selectedSuffixOut)
Get save filename, mimics QFileDialog::getSaveFileName, except that it appends a default suffix when ...
Definition: guiutil.cpp:239
WalletView::gotoBlockExplorerPage
void gotoBlockExplorerPage()
Switch to explorer page.
Definition: walletview.cpp:204
WalletView::historyPage
HistoryPage * historyPage
Definition: walletview.h:68
WalletView::gotoOptionsPage
void gotoOptionsPage()
Switch to options page.
Definition: walletview.cpp:219
ClientModel
Model for PRCY network client.
Definition: clientmodel.h:44
WalletView::unlockWallet
void unlockWallet(AskPassphraseDialog::Context context)
Ask for passphrase to unlock wallet temporarily.
Definition: walletview.cpp:347
AskPassphraseDialog::Mode::ChangePass
@ ChangePass
Ask old passphrase + new passphrase twice.
bip38tooldialog.h
TransactionTableModel
UI model for the transaction table of a wallet.
Definition: transactiontablemodel.h:21
GetAdjustedTime
int64_t GetAdjustedTime()
Definition: timedata.cpp:30
WalletView::~WalletView
~WalletView()
Definition: walletview.cpp:98
WalletView::showSeedPhrase
void showSeedPhrase()
Return 24 word seed phrase.
Definition: walletview.cpp:269
receivecoinsdialog.h
multisenddialog.h
WalletModel::UnlockContext
Definition: walletmodel.h:189
WalletView::gotoOverviewPage
void gotoOverviewPage()
Switch to overview (home) page.
Definition: walletview.cpp:187
SendCoinsDialog::setClientModel
void setClientModel(ClientModel *clientModel)
Definition: sendcoinsdialog.cpp:99
WalletView::setWalletModel
void setWalletModel(WalletModel *walletModel)
Set the wallet model.
Definition: walletview.cpp:135
WalletView::changePassphrase
void changePassphrase()
Change encrypted wallet passphrase.
Definition: walletview.cpp:341
TransactionTableModel::Type
@ Type
Definition: transactiontablemodel.h:33
WalletView::encryptWallet
void encryptWallet(bool status)
Encrypt the wallet.
Definition: walletview.cpp:246
TransactionView::setModel
void setModel(WalletModel *model)
Definition: transactionview.cpp:186
SendCoinsDialog::setModel
void setModel(WalletModel *model)
Definition: sendcoinsdialog.cpp:107
OptionsPage
Dialog for options page.
Definition: optionspage.h:45
WalletModel::setWalletLocked
bool setWalletLocked(bool locked, const SecureString &passPhrase=SecureString(), bool stakingOnly=false)
Definition: walletmodel.cpp:397
WalletView::walletModel
WalletModel * walletModel
Definition: walletview.h:62
bitcoingui.h
WalletView::backupWallet
void backupWallet()
Backup the wallet.
Definition: walletview.cpp:257
WalletView::receiveCoinsPage
ReceiveCoinsDialog * receiveCoinsPage
Definition: walletview.h:66
transactionview.h
OverviewPage::setWalletModel
void setWalletModel(WalletModel *walletModel)
Definition: overviewpage.cpp:252
WalletView::masternodeListPage
MasternodeList * masternodeListPage
Definition: walletview.h:71
WalletView::transactionSum
QLabel * transactionSum
Definition: walletview.h:76
WalletView::incomingTransaction
void incomingTransaction(const QString &date, int unit, const CAmount &amount, const QString &type, const QString &address, const QString &confirmations)
Notify that a new transaction appeared.
WalletView::gotoMultiSendDialog
void gotoMultiSendDialog()
Show MultiSend Dialog.
Definition: walletview.cpp:229
WalletModel::UnlockedForStakingOnly
@ UnlockedForStakingOnly
Definition: walletmodel.h:128
WalletView::usedSendingAddresses
void usedSendingAddresses()
Show used sending addresses.
Definition: walletview.cpp:385
blockexplorer.h
optionsmodel.h
WalletView::setBitcoinGUI
void setBitcoinGUI(BitcoinGUI *gui)
Definition: walletview.cpp:102
WalletView::usedReceivingAddresses
void usedReceivingAddresses()
Show used receiving addresses.
Definition: walletview.cpp:395
WalletView::lockWallet
void lockWallet()
Lock wallet.
Definition: walletview.cpp:359
GUIUtil::loadStyleSheet
QString loadStyleSheet()
Load global CSS theme.
Definition: guiutil.cpp:721
MasternodeList::setClientModel
void setClientModel(ClientModel *clientModel)
Definition: masternodelist.cpp:66
BitcoinGUI
Bitcoin GUI main class.
Definition: bitcoingui.h:48
WalletView::gotoMasternodePage
void gotoMasternodePage()
Switch to masternode page.
Definition: walletview.cpp:209
WalletModel::requestUnlock
UnlockContext requestUnlock(AskPassphraseDialog::Context context, bool relock=false)
Definition: walletmodel.cpp:546
WalletView::gotoHistoryPage
void gotoHistoryPage()
Switch to history (transactions) page.
Definition: walletview.cpp:194
masternodeconfig.h
AddressBookPage::ForEditing
@ ForEditing
Open address book for editing.
Definition: addressbookpage.h:40
MultiSendDialog::setModel
void setModel(WalletModel *model)
Definition: multisenddialog.cpp:26
clientmodel.h
AskPassphraseDialog::Mode::UnlockStaking
@ UnlockStaking
Ask passphrase and unlock only for staking.
HistoryPage::setModel
void setModel(WalletModel *model)
Definition: historypage.cpp:315
WalletView::progressDialog
QProgressDialog * progressDialog
Definition: walletview.h:75
AddressBookPage::ReceivingTab
@ ReceivingTab
Definition: addressbookpage.h:35
WalletView::showSyncStatus
void showSyncStatus(bool fShow)
Definition: walletview.cpp:236