Dogecoin Core  1.14.2
P2P Digital Currency
sendcoinsdialog.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2016 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_QT_SENDCOINSDIALOG_H
6 #define BITCOIN_QT_SENDCOINSDIALOG_H
7 
8 #include "walletmodel.h"
9 
10 #include <QDialog>
11 #include <QMessageBox>
12 #include <QString>
13 #include <QTimer>
14 
15 class ClientModel;
16 class OptionsModel;
17 class PlatformStyle;
18 class SendCoinsEntry;
19 class SendCoinsRecipient;
20 
21 namespace Ui {
22  class SendCoinsDialog;
23 }
24 
25 QT_BEGIN_NAMESPACE
26 class QUrl;
27 QT_END_NAMESPACE
28 
30 class SendCoinsDialog : public QDialog
31 {
32  Q_OBJECT
33 
34 public:
35  explicit SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *parent = 0);
37 
39  void setModel(WalletModel *model);
40 
43  QWidget *setupTabChain(QWidget *prev);
44 
45  void setAddress(const QString &address);
46  void pasteEntry(const SendCoinsRecipient &rv);
47  bool handlePaymentRequest(const SendCoinsRecipient &recipient);
48 
49 public Q_SLOTS:
50  void clear();
51  void reject();
52  void accept();
54  void updateTabsAndLabels();
55  void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance,
56  const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
57 
58 private:
59  Ui::SendCoinsDialog *ui;
65 
66  // Process WalletModel::SendCoinsReturn and generate a pair consisting
67  // of a message and message flags for use in Q_EMIT message().
68  // Additional parameter msgArg can be used via .arg(msgArg).
69  void processSendCoinsReturn(const WalletModel::SendCoinsReturn &sendCoinsReturn, const QString &msgArg = QString());
70  void minimizeFeeSection(bool fMinimize);
72 
73 private Q_SLOTS:
74  void on_sendButton_clicked();
77  void removeEntry(SendCoinsEntry* entry);
78  void updateDisplayUnit();
79  void coinControlFeatureChanged(bool);
81  void coinControlChangeChecked(int);
82  void coinControlChangeEdited(const QString &);
91  void setMinimumFee();
93  void updateMinFeeLabel();
94  void updateSmartFeeLabel();
96 
97 Q_SIGNALS:
98  // Fired when a message should be reported to the user
99  void message(const QString &title, const QString &message, unsigned int style);
100 };
101 
102 
103 
104 class SendConfirmationDialog : public QMessageBox
105 {
106  Q_OBJECT
107 
108 public:
109  SendConfirmationDialog(const QString &title, const QString &text, int secDelay = 0, QWidget *parent = 0);
110  int exec();
111 
112 private Q_SLOTS:
113  void countDown();
114  void updateYesButton();
115 
116 private:
117  QAbstractButton *yesButton;
119  int secDelay;
120 };
121 
122 #endif // BITCOIN_QT_SENDCOINSDIALOG_H
int64_t CAmount
Amount in satoshis (Can be negative)
Definition: amount.h:15
Model for Bitcoin network client.
Definition: clientmodel.h:42
Interface from Qt to configuration data structure for Bitcoin client.
Definition: optionsmodel.h:23
Dialog for sending bitcoins.
WalletModel * model
void updateGlobalFeeVariables()
void setBalance(const CAmount &balance, const CAmount &unconfirmedBalance, const CAmount &immatureBalance, const CAmount &watchOnlyBalance, const CAmount &watchUnconfBalance, const CAmount &watchImmatureBalance)
ClientModel * clientModel
void coinControlChangeEdited(const QString &)
void coinControlChangeChecked(int)
void coinControlClipboardFee()
Ui::SendCoinsDialog * ui
void on_buttonChooseFee_clicked()
void processSendCoinsReturn(const WalletModel::SendCoinsReturn &sendCoinsReturn, const QString &msgArg=QString())
void setClientModel(ClientModel *clientModel)
void updateFeeSectionControls()
SendCoinsEntry * addEntry()
void pasteEntry(const SendCoinsRecipient &rv)
void updateFeeMinimizedLabel()
const PlatformStyle * platformStyle
void coinControlClipboardQuantity()
void coinControlButtonClicked()
void coinControlClipboardAfterFee()
QWidget * setupTabChain(QWidget *prev)
Set up the tab chain manually, as Qt messes up the tab chain by default in some cases (issue https://...
void setModel(WalletModel *model)
void coinControlClipboardLowOutput()
bool handlePaymentRequest(const SendCoinsRecipient &recipient)
void coinControlClipboardAmount()
void setAddress(const QString &address)
void coinControlClipboardChange()
void removeEntry(SendCoinsEntry *entry)
void coinControlClipboardBytes()
void message(const QString &title, const QString &message, unsigned int style)
void on_buttonMinimizeFee_clicked()
void coinControlUpdateLabels()
void coinControlFeatureChanged(bool)
void minimizeFeeSection(bool fMinimize)
SendCoinsDialog(const PlatformStyle *platformStyle, QWidget *parent=0)
A single entry in the dialog for sending bitcoins.
QAbstractButton * yesButton
SendConfirmationDialog(const QString &title, const QString &text, int secDelay=0, QWidget *parent=0)
Interface to Bitcoin wallet from Qt view code.
Definition: walletmodel.h:99