1 // Copyright (c) 2011-2015 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.
5 #ifndef BITCOIN_QT_SENDCOINSENTRY_H
6 #define BITCOIN_QT_SENDCOINSENTRY_H
8 #include "walletmodel.h"
10 #include <QStackedWidget>
20 * A single entry in the dialog for sending bitcoins.
21 * Stacked widget, with different UIs for payment requests
22 * with a strong payee identity.
24 class SendCoinsEntry
: public QStackedWidget
29 explicit SendCoinsEntry(const PlatformStyle
*platformStyle
, QWidget
*parent
= 0);
32 void setModel(WalletModel
*model
);
34 SendCoinsRecipient
getValue();
36 /** Return whether the entry is still empty and unedited */
39 void setValue(const SendCoinsRecipient
&value
);
40 void setAddress(const QString
&address
);
42 /** Set up the tab chain manually, as Qt messes up the tab chain by default in some cases
43 * (issue https://bugreports.qt-project.org/browse/QTBUG-10907).
45 QWidget
*setupTabChain(QWidget
*prev
);
53 void removeEntry(SendCoinsEntry
*entry
);
54 void payAmountChanged();
55 void subtractFeeFromAmountChanged();
59 void on_payTo_textChanged(const QString
&address
);
60 void on_addressBookButton_clicked();
61 void on_pasteButton_clicked();
62 void updateDisplayUnit();
65 SendCoinsRecipient recipient
;
66 Ui::SendCoinsEntry
*ui
;
68 const PlatformStyle
*platformStyle
;
70 bool updateLabel(const QString
&address
);
73 #endif // BITCOIN_QT_SENDCOINSENTRY_H