28 #include <QActionGroup> 29 #include <QApplication> 31 #include <QFileDialog> 32 #include <QHBoxLayout> 33 #include <QProgressDialog> 34 #include <QPushButton> 35 #include <QVBoxLayout> 38 QStackedWidget(parent),
41 platformStyle(_platformStyle)
47 QVBoxLayout *vbox =
new QVBoxLayout();
48 QHBoxLayout *hbox_buttons =
new QHBoxLayout();
51 QPushButton *exportButton =
new QPushButton(tr(
"&Export"),
this);
52 exportButton->setToolTip(tr(
"Export the data in the current tab to a file"));
56 hbox_buttons->addStretch();
57 hbox_buttons->addWidget(exportButton);
58 vbox->addLayout(hbox_buttons);
154 QModelIndex index = ttm->
index(start, 0, parent);
188 signVerifyMessageDialog->setAttribute(Qt::WA_DeleteOnClose);
200 signVerifyMessageDialog->setAttribute(Qt::WA_DeleteOnClose);
212 if (from_clipboard) {
213 std::string raw = QApplication::clipboard()->text().toStdString();
222 tr(
"Load Transaction Data"), QString(),
223 tr(
"Partially Signed Transaction (*.psbt)"),
nullptr);
224 if (filename.isEmpty())
return;
229 std::ifstream in(filename.toLocal8Bit().data(), std::ios::binary);
230 data = std::string(std::istreambuf_iterator<char>{in}, {});
242 dlg->setAttribute(Qt::WA_DeleteOnClose);
275 tr(
"Backup Wallet"), QString(),
276 tr(
"Wallet Data (*.dat)"),
nullptr);
278 if (filename.isEmpty())
282 Q_EMIT
message(tr(
"Backup Failed"), tr(
"There was an error trying to save the wallet data to %1.").arg(filename),
286 Q_EMIT
message(tr(
"Backup Successful"), tr(
"The wallet data was successfully saved to %1.").arg(filename),
329 if (nProgress == 0) {
330 progressDialog =
new QProgressDialog(title, tr(
"Cancel"), 0, 100);
336 }
else if (nProgress == 100) {
QWidget * transactionsPage
void showTab_SM(bool fShow)
Dialog for requesting payment of bitcoins.
void setWalletModel(WalletModel *walletModel)
interfaces::Wallet & wallet() const
virtual bool isInitialBlockDownload()=0
Is initial block download.
QString getOpenFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter, QString *selectedSuffixOut)
Get open filename, convenience wrapper for QFileDialog::getOpenFileName.
void gotoVerifyMessageTab(QString addr="")
Show Sign/Verify Message dialog and switch to verify message tab.
OverviewPage * overviewPage
TransactionView * transactionView
Dialog showing transaction details.
void setPrivacy(bool privacy)
void usedSendingAddresses()
Show used sending addresses.
void setAddress_VM(const QString &address)
void setModel(AddressTableModel *model)
void changePassphrase()
Change encrypted wallet passphrase.
ClientModel * clientModel
void setPrivacy(bool privacy)
void focusTransaction(const QModelIndex &)
Ask passphrase twice and encrypt.
virtual bool backupWallet(const std::string &filename)=0
Back up wallet.
void requestedSyncWarningInfo()
User has requested more information about the out of sync state.
WalletModel * walletModel
std::vector< unsigned char > DecodeBase64(const char *p, bool *pf_invalid)
void showProgress(const QString &title, int nProgress)
QString HtmlEscape(const QString &str, bool fMultiLine)
bool handlePaymentRequest(const SendCoinsRecipient &recipient)
A version of CTransaction with the PSBT format.
Open address book for editing.
void outOfSyncWarningClicked()
Notify that the out of sync warning icon has been pressed.
const PlatformStyle * platformStyle
AddressTableModel * getAddressTableModel()
void gotoSendCoinsPage(QString addr="")
Switch to send coins page.
void openWithPSBT(PartiallySignedTransaction psbtx)
void updateEncryptionStatus()
Re-emit encryption status signal.
void outOfSyncWarningClicked()
void bringToFront(QWidget *w)
EncryptionStatus getEncryptionStatus() const
int getDisplayUnit() const
void processNewTransaction(const QModelIndex &parent, int start, int)
Show incoming transaction notification for new transactions.
SendCoinsDialog * sendCoinsPage
void setModel(WalletModel *model)
WalletModel * getWalletModel()
bool processingQueuedTransactions() const
void gotoHistoryPage()
Switch to history (transactions) page.
Ask passphrase and unlock.
void usedReceivingAddresses()
Show used receiving addresses.
void setClientModel(ClientModel *client_model)
void setWalletModel(WalletModel *walletModel)
Set the wallet model.
void setAddress(const QString &address)
void setClientModel(ClientModel *clientModel)
void message(const QString &title, const QString &message, unsigned int style)
Fired when a message should be reported to the user.
Widget showing the transaction list for a wallet, including a filter row.
void message(const QString &title, const QString &message, unsigned int style)
Fired when a message should be reported to the user.
interfaces::Node & node() const
const std::streamsize MAX_FILE_SIZE_PSBT
void unlockWallet()
Ask for passphrase to unlock wallet temporarily.
Dialog for sending bitcoins.
void encryptionStatusChanged()
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
QString getWalletName() const
TransactionTableModel * getTransactionTableModel()
Widget that shows a list of sending or receiving addresses.
UI model for the transaction table of a wallet.
void PolishProgressDialog(QProgressDialog *dialog)
Model for Bitcoin network client.
void setModel(WalletModel *model)
void backupWallet()
Backup the wallet.
bool handlePaymentRequest(const SendCoinsRecipient &recipient)
void transactionClicked(const QModelIndex &index)
void gotoOverviewPage()
Switch to overview (home) page.
void encryptionStatusChanged()
Encryption status of wallet changed.
void showOutOfSyncWarning(bool fShow)
bool DecodeRawPSBT(PartiallySignedTransaction &psbt, const std::string &tx_data, std::string &error)
Decode a raw (binary blob) PSBT into a PartiallySignedTransaction.
AddressBookPage * usedSendingAddressesPage
void setModel(WalletModel *model)
void gotoSignMessageTab(QString addr="")
Show Sign/Verify Message dialog and switch to sign message tab.
Interface to Bitcoin wallet from Qt view code.
void showProgress(const QString &title, int nProgress)
Show progress dialog e.g.
Multifunctional dialog to ask for passphrases.
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 ...
void gotoLoadPSBT(bool from_clipboard=false)
Load Partially Signed Bitcoin Transaction.
void message(const QString &title, const QString &message, unsigned int style)
WalletView(const PlatformStyle *platformStyle, QWidget *parent)
void setClientModel(ClientModel *clientModel)
Set the client model.
void setClientModel(ClientModel *clientModel)
Label of address related to transaction.
std::streampos GetFileSize(const char *path, std::streamsize max)
Get the size of a file by scanning it.
void encryptWallet()
Encrypt the wallet.
void hdEnabledStatusChanged()
HD-Enabled status of wallet changed (only possible during startup)
virtual void abortRescan()=0
Abort a rescan.
Ask old passphrase + new passphrase twice.
QVariant data(const QModelIndex &index, int role) const override
ReceiveCoinsDialog * receiveCoinsPage
void gotoReceiveCoinsPage()
Switch to receive coins page.
void message(const QString &title, const QString &message, unsigned int style)
void coinsSent(const uint256 &txid)
void setModel(WalletModel *model)
bool error(const char *fmt, const Args &... args)
void transactionClicked()
Overview ("home") page widget.
void showOutOfSyncWarning(bool fShow)
void incomingTransaction(const QString &date, int unit, const CAmount &amount, const QString &type, const QString &address, const QString &label, const QString &walletName)
Notify that a new transaction appeared.
QProgressDialog * progressDialog
void showTab_VM(bool fShow)
OptionsModel * getOptionsModel()
Predefined combinations for certain default usage cases.
void setAddress_SM(const QString &address)
AddressBookPage * usedReceivingAddressesPage
void setModel(WalletModel *model)