#define SENDCOINSDIALOG_H
#include <QDialog>
+#include <QString>
namespace Ui {
class SendCoinsDialog;
}
class WalletModel;
+class SendCoinsEntry;
+class SendCoinsRecipient;
+class CoinControlDialog;
+QT_BEGIN_NAMESPACE
+class QUrl;
+QT_END_NAMESPACE
+
+/** Dialog for sending bitcoins */
class SendCoinsDialog : public QDialog
{
Q_OBJECT
public:
- explicit SendCoinsDialog(QWidget *parent = 0, const QString &address = "");
+ explicit SendCoinsDialog(QWidget *parent = 0);
~SendCoinsDialog();
void setModel(WalletModel *model);
+ /** Set up the tab chain manually, as Qt messes up the tab chain by default in some cases (issue https://bugreports.qt-project.org/browse/QTBUG-10907).
+ */
+ QWidget *setupTabChain(QWidget *prev);
+
+ void pasteEntry(const SendCoinsRecipient &rv);
+ bool handleURI(const QString &uri);
+
+public slots:
+ void clear();
+ void reject();
+ void accept();
+ SendCoinsEntry *addEntry();
+ void updateRemoveEnabled();
+ void setBalance(qint64 total, qint64 watchOnly, qint64 stake, qint64 unconfirmedBalance, qint64 immatureBalance);
+
+ void on_addressBookButton_clicked();
+ void on_pasteButton_clicked();
+
private:
Ui::SendCoinsDialog *ui;
WalletModel *model;
+ bool fNewRecipientAllowed;
+ CoinControlDialog *coinControl;
private slots:
- void on_payTo_textChanged(const QString &address);
- void on_buttonBox_rejected();
- void on_addressBookButton_clicked();
- void on_pasteButton_clicked();
void on_sendButton_clicked();
+ void removeEntry(SendCoinsEntry* entry);
+ void updateDisplayUnit();
+ void coinControlFeatureChanged(bool);
+ void coinControlButtonClicked();
+ void coinControlChangeChecked(int);
+ void coinControlUpdateLabels();
+ void coinControlClipboardQuantity();
+ void coinControlClipboardAmount();
+ void coinControlClipboardFee();
+ void coinControlClipboardAfterFee();
+ void coinControlClipboardBytes();
+ void coinControlClipboardPriority();
+ void coinControlClipboardLowOutput();
+ void coinControlClipboardChange();
};
#endif // SENDCOINSDIALOG_H