diff --git a/src/firsttimewizard.cpp b/src/firsttimewizard.cpp index 52fdff3..3ca417b 100644 --- a/src/firsttimewizard.cpp +++ b/src/firsttimewizard.cpp @@ -66,17 +66,20 @@ NewOrRestorePage::NewOrRestorePage(FirstTimeWizard *parent) : QWizardPage(parent } NewSeedPage::NewSeedPage(FirstTimeWizard *parent) : QWizardPage(parent) { + this->parent = parent; + setTitle("Your new wallet"); QWidget* pageWidget = new QWidget(); - Ui_NewSeedForm form; form.setupUi(pageWidget); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(pageWidget); setLayout(layout); +} +void NewSeedPage::initializePage() { // Call the library to create a new wallet. char* resp = litelib_initialize_new(parent->dangerous, parent->server.toStdString().c_str()); QString reply = litelib_process_response(resp); @@ -112,11 +115,21 @@ RestoreSeedPage::RestoreSeedPage(FirstTimeWizard *parent) : QWizardPage(parent) setTitle("Restore wallet from seed"); QWidget* pageWidget = new QWidget(); - Ui_RestoreSeedForm form; form.setupUi(pageWidget); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(pageWidget); setLayout(layout); +} + +bool RestoreSeedPage::validatePage() { + // 1. Validate that we do have 24 words + QString seed = form.txtSeed->toPlainText(); + if (seed.trimmed().split(QRegExp("[ \n\r]+")).length() != 24) { + QMessageBox::warning(this, tr("Failed to restore wallet"), + tr("Zecwallet needs 24 words to restore wallet"), + QMessageBox::Ok); + return false; + } } \ No newline at end of file diff --git a/src/firsttimewizard.h b/src/firsttimewizard.h index 830fe42..8f894d7 100644 --- a/src/firsttimewizard.h +++ b/src/firsttimewizard.h @@ -3,6 +3,9 @@ #include "precompiled.h" +#include "ui_newseed.h" +#include "ui_restoreseed.h" + class FirstTimeWizard: public QWizard { public: @@ -35,14 +38,24 @@ public: class NewSeedPage: public QWizardPage { public: NewSeedPage(FirstTimeWizard* parent); + protected: - bool validatePage(); + virtual void initializePage(); + virtual bool validatePage(); + +private: + FirstTimeWizard* parent; + Ui_NewSeedForm form; }; class RestoreSeedPage: public QWizardPage { public: RestoreSeedPage(FirstTimeWizard* parent); +protected: + bool validatePage(); +private: + Ui_RestoreSeedForm form; };