text: #ifndef SENDCOINSDIALOG_H
  #define SENDCOINSDIALOG_H
  
  #include <QDialog>
  
  namespace Ui {
      class SendCoinsDialog;
  }
  class WalletModel;
  class SendCoinsEntry;
  class SendCoinsRecipient;
  
  QT_BEGIN_NAMESPACE
  class QUrl;
  QT_END_NAMESPACE
  
  /** Dialog for sending blakecoins */
  class SendCoinsDialog : public QDialog
  {
      Q_OBJECT
  
  public:
      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 setAddress(const QString &address);
      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 balance, qint64 unconfirmedBalance, qint64 immatureBalance);
  
  private:
      Ui::SendCoinsDialog *ui;
      WalletModel *model;
      bool fNewRecipientAllowed;
  
  private slots:
      void on_sendButton_clicked();
      void removeEntry(SendCoinsEntry* entry);
      void updateDisplayUnit();
  };
  
  #endif // SENDCOINSDIALOG_H
  