2011-05-08 22:23:31 +02:00
# ifndef SENDCOINSDIALOG_H
# define SENDCOINSDIALOG_H
2013-10-30 15:37:41 +01:00
# include "walletmodel.h"
2011-05-08 22:23:31 +02:00
# include <QDialog>
2013-07-22 08:50:39 +02:00
# include <QVariant>
2013-10-30 15:37:41 +01:00
# include <QPair>
2011-05-08 22:23:31 +02:00
2011-05-12 14:44:52 +02:00
namespace Ui {
class SendCoinsDialog ;
}
2011-07-16 19:01:05 +02:00
class SendCoinsEntry ;
2011-08-07 16:04:48 +02:00
class SendCoinsRecipient ;
QT_BEGIN_NAMESPACE
class QUrl ;
QT_END_NAMESPACE
2011-05-12 14:44:52 +02:00
2011-11-13 13:19:52 +01:00
/** Dialog for sending bitcoins */
2011-05-08 22:23:31 +02:00
class SendCoinsDialog : public QDialog
{
Q_OBJECT
2011-05-12 14:44:52 +02:00
2011-05-08 22:23:31 +02:00
public :
2011-07-16 19:01:05 +02:00
explicit SendCoinsDialog ( QWidget * parent = 0 ) ;
2011-05-12 14:44:52 +02:00
~ SendCoinsDialog ( ) ;
2011-05-08 22:23:31 +02:00
2011-06-30 18:05:29 +02:00
void setModel ( WalletModel * model ) ;
2011-05-30 20:20:12 +02:00
2012-09-22 07:32:28 +02:00
/** 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).
2011-11-13 13:19:52 +01:00
*/
2011-07-16 19:01:05 +02:00
QWidget * setupTabChain ( QWidget * prev ) ;
2013-01-25 18:46:53 +01:00
void setAddress ( const QString & address ) ;
2011-08-07 16:04:48 +02:00
void pasteEntry ( const SendCoinsRecipient & rv ) ;
2013-07-22 08:50:39 +02:00
bool handlePaymentRequest ( const SendCoinsRecipient & recipient ) ;
2011-08-07 16:04:48 +02:00
2011-07-07 17:33:15 +02:00
public slots :
void clear ( ) ;
void reject ( ) ;
void accept ( ) ;
2011-08-07 16:04:48 +02:00
SendCoinsEntry * addEntry ( ) ;
2011-07-16 19:01:05 +02:00
void updateRemoveEnabled ( ) ;
2012-02-14 12:08:00 +01:00
void setBalance ( qint64 balance , qint64 unconfirmedBalance , qint64 immatureBalance ) ;
2011-07-07 17:33:15 +02:00
2011-05-12 14:44:52 +02:00
private :
Ui : : SendCoinsDialog * ui ;
2011-06-30 18:05:29 +02:00
WalletModel * model ;
2011-12-24 05:27:12 +01:00
bool fNewRecipientAllowed ;
2011-05-12 17:55:24 +02:00
2013-10-30 15:37:41 +01:00
// Process WalletModel::SendCoinsReturn and generate a pair consisting
// of a message and message flags for use in emit message().
// Additional parameter msgArg can be used via .arg(msgArg).
void processSendCoinsReturn ( const WalletModel : : SendCoinsReturn & sendCoinsReturn , const QString & msgArg = QString ( ) ) ;
2011-05-12 17:55:24 +02:00
private slots :
void on_sendButton_clicked ( ) ;
2011-07-16 19:01:05 +02:00
void removeEntry ( SendCoinsEntry * entry ) ;
2012-06-09 15:41:21 +02:00
void updateDisplayUnit ( ) ;
2013-10-24 15:49:13 +02:00
signals :
// Fired when a message should be reported to the user
void message ( const QString & title , const QString & message , unsigned int style ) ;
2011-05-08 22:23:31 +02:00
} ;
# endif // SENDCOINSDIALOG_H