#include "ui_askpassphrasedialog.h"
#include "guiconstants.h"
+#include "dialogwindowflags.h"
#include "walletmodel.h"
#include <QMessageBox>
#include <QPushButton>
#include <QKeyEvent>
+extern bool fWalletUnlockMintOnly;
+
AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
- QDialog(parent),
+ QDialog(parent, DIALOGWINDOWHINTS),
ui(new Ui::AskPassphraseDialog),
mode(mode),
model(0),
ui->passEdit1->setMaxLength(MAX_PASSPHRASE_SIZE);
ui->passEdit2->setMaxLength(MAX_PASSPHRASE_SIZE);
ui->passEdit3->setMaxLength(MAX_PASSPHRASE_SIZE);
-
+
// Setup Caps Lock detection.
ui->passEdit1->installEventFilter(this);
ui->passEdit2->installEventFilter(this);
setWindowTitle(tr("Encrypt wallet"));
break;
case Unlock: // Ask passphrase
+ case UnlockMining:
ui->warningLabel->setText(tr("This operation needs your wallet passphrase to unlock the wallet."));
ui->passLabel2->hide();
ui->passEdit2->hide();
QDialog::accept(); // Success
}
break;
+ case UnlockMining:
+ if(!model->setWalletLocked(false, oldpass))
+ {
+ QMessageBox::critical(this, tr("Wallet unlock failed"),
+ tr("The passphrase entered for the wallet decryption was incorrect."));
+ }
+ else
+ {
+ QDialog::accept(); // Success
+ fWalletUnlockMintOnly = true;
+ }
+ break;
case Decrypt:
if(!model->setWalletEncrypted(false, oldpass))
{
}
else
{
- QDialog::accept(); // Success
+ QMessageBox::warning(this, tr("Wallet decrypted"),
+ "<qt>" +
+ tr("NovaCoin will close now to finish the decryption process. ") +
+ "</b></qt>");
+ QApplication::quit();
}
break;
case ChangePass:
acceptable = !ui->passEdit2->text().isEmpty() && !ui->passEdit3->text().isEmpty();
break;
case Unlock: // Old passphrase x1
+ case UnlockMining:
case Decrypt:
acceptable = !ui->passEdit1->text().isEmpty();
break;