@ -26,6 +26,9 @@
@@ -26,6 +26,9 @@
# include <QScrollBar>
# include <QSettings>
# include <QTextDocument>
# include <QTimer>
# define SEND_CONFIRM_DELAY 3
SendCoinsDialog : : SendCoinsDialog ( const PlatformStyle * platformStyle , QWidget * parent ) :
QDialog ( parent ) ,
@ -311,10 +314,10 @@ void SendCoinsDialog::on_sendButton_clicked()
@@ -311,10 +314,10 @@ void SendCoinsDialog::on_sendButton_clicked()
questionString . append ( QString ( " <span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span> " )
. arg ( alternativeUnits . join ( " " + tr ( " or " ) + " <br /> " ) ) ) ;
QMessageBox : : StandardButton retval = QMessageBox : : question ( this , tr ( " Confirm send coins " ) ,
questionString . arg ( formatted . join ( " <br /> " ) ) ,
QMessageBox : : Yes | QMessageBox : : Cancel ,
QMessageBox : : Cancel ) ;
SendConfirmationDialog confirmationDialog ( tr ( " Confirm send coins " ) ,
questionString . arg ( formatted . join ( " <br /> " ) ) , SEND_CONFIRM_DELAY , this ) ;
confirmationDialog . exec ( ) ;
QMessageBox : : StandardButton retval = ( QMessageBox : : StandardButton ) confirmationDialog . result ( ) ;
if ( retval ! = QMessageBox : : Yes )
{
@ -828,3 +831,45 @@ void SendCoinsDialog::coinControlUpdateLabels()
@@ -828,3 +831,45 @@ void SendCoinsDialog::coinControlUpdateLabels()
ui - > labelCoinControlInsuffFunds - > hide ( ) ;
}
}
SendConfirmationDialog : : SendConfirmationDialog ( const QString & title , const QString & text , int secDelay ,
QWidget * parent ) :
QMessageBox ( QMessageBox : : Question , title , text , QMessageBox : : Yes | QMessageBox : : Cancel , parent ) , secDelay ( secDelay )
{
setDefaultButton ( QMessageBox : : Cancel ) ;
yesButton = button ( QMessageBox : : Yes ) ;
updateYesButton ( ) ;
connect ( & countDownTimer , SIGNAL ( timeout ( ) ) , this , SLOT ( countDown ( ) ) ) ;
}
int SendConfirmationDialog : : exec ( )
{
updateYesButton ( ) ;
countDownTimer . start ( 1000 ) ;
return QMessageBox : : exec ( ) ;
}
void SendConfirmationDialog : : countDown ( )
{
secDelay - - ;
updateYesButton ( ) ;
if ( secDelay < = 0 )
{
countDownTimer . stop ( ) ;
}
}
void SendConfirmationDialog : : updateYesButton ( )
{
if ( secDelay > 0 )
{
yesButton - > setEnabled ( false ) ;
yesButton - > setText ( tr ( " Yes " ) + " ( " + QString : : number ( secDelay ) + " ) " ) ;
}
else
{
yesButton - > setEnabled ( true ) ;
yesButton - > setText ( tr ( " Yes " ) ) ;
}
}