@@ -26,12 +26,12 @@ SettingsWalletRepairWidget::SettingsWalletRepairWidget(PIVXGUI* _window, QWidget
2626 // Labels
2727 setCssProperty ({ui->labelMessageSalvage , ui->labelMessageRescan , ui->labelMessageRecover1 ,
2828 ui->labelMessageRecover2 , ui->labelMessageUpgrade , ui->labelMessageRebuild ,
29- ui->labelMessageDelete }, " text-main-settings" );
29+ ui->labelMessageDelete , ui-> labelMessageRewind }, " text-main-settings" );
3030
3131 // Buttons
3232 setCssProperty ({ui->pushButtonSalvage , ui->pushButtonRescan , ui->pushButtonRecover1 ,
3333 ui->pushButtonRecover2 , ui->pushButtonUpgrade , ui->pushButtonRebuild ,
34- ui->pushButtonDelete }, " btn-primary" );
34+ ui->pushButtonDelete , ui-> pushButtonRewind }, " btn-primary" );
3535
3636 // Wallet Repair Buttons
3737 connect (ui->pushButtonSalvage , &QPushButton::clicked, this , &SettingsWalletRepairWidget::walletSalvage);
@@ -41,6 +41,7 @@ SettingsWalletRepairWidget::SettingsWalletRepairWidget(PIVXGUI* _window, QWidget
4141 connect (ui->pushButtonUpgrade , &QPushButton::clicked, this , &SettingsWalletRepairWidget::walletUpgrade);
4242 connect (ui->pushButtonRebuild , &QPushButton::clicked, this , &SettingsWalletRepairWidget::walletReindex);
4343 connect (ui->pushButtonDelete , &QPushButton::clicked, this , &SettingsWalletRepairWidget::walletResync);
44+ connect (ui->pushButtonRewind , &QPushButton::clicked, this , &SettingsWalletRepairWidget::walletRewind);
4445}
4546
4647/* * Restart wallet with "-salvagewallet" */
@@ -100,6 +101,25 @@ void SettingsWalletRepairWidget::walletResync()
100101 buildParameterlist (RESYNC);
101102}
102103
104+ /* * Restart wallet with "-rewindblockindex" */
105+ void SettingsWalletRepairWidget::walletRewind ()
106+ {
107+ QString rewindWarning = tr (" This will rewind your blocks to the most recent checkpoint.<br /><br />" );
108+ rewindWarning += tr (" Do you want to continue?.<br />" );
109+ QMessageBox::StandardButton retval = QMessageBox::question (this , tr (" Confirm resync Blockchain" ),
110+ rewindWarning,
111+ QMessageBox::Yes | QMessageBox::Cancel,
112+ QMessageBox::Cancel);
113+
114+ if (retval != QMessageBox::Yes) {
115+ // Rewind canceled
116+ return ;
117+ }
118+
119+ // Restart and rewind
120+ buildParameterlist (REWIND);
121+ }
122+
103123/* * Build command-line parameter list for restart */
104124void SettingsWalletRepairWidget::buildParameterlist (QString arg)
105125{
0 commit comments