Skip to content

Commit 7a22acb

Browse files
committed
started KeychainBackupWizard
1 parent 82aabbd commit 7a22acb

File tree

4 files changed

+38
-5
lines changed

4 files changed

+38
-5
lines changed

mSIGNA.pro

+2
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ HEADERS = \
9393
src/signatureactions.h \
9494
src/requestpaymentdialog.h \
9595
src/networksettingsdialog.h \
96+
src/keychainbackupwizard.h \
9697
src/keychainbackupdialog.h \
9798
src/viewbip32dialog.h \
9899
src/importbip32dialog.h \
@@ -148,6 +149,7 @@ SOURCES = \
148149
src/signatureactions.cpp \
149150
src/requestpaymentdialog.cpp \
150151
src/networksettingsdialog.cpp \
152+
src/keychainbackupwizard.cpp \
151153
src/keychainbackupdialog.cpp \
152154
src/viewbip32dialog.cpp \
153155
src/importbip32dialog.cpp \

src/mainwindow.cpp

+5-4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
#include "keychainbackupdialog.h"
5858
#include "viewbip32dialog.h"
5959
#include "importbip32dialog.h"
60+
#include "keychainbackupwizard.h"
6061
#include "viewbip39dialog.h"
6162
#include "importbip39dialog.h"
6263
#include "passphrasedialog.h"
@@ -698,9 +699,9 @@ void MainWindow::newKeychain()
698699
secure_bytes_t seed = getRandomBytes(32);
699700

700701
// Prompt user to write down and verify word list
701-
ViewBIP39Dialog viewDlg(name, seed, this);
702-
viewDlg.exec();
703-
702+
KeychainBackupWizard backupWizard(name, seed, this);
703+
if (!backupWizard.exec()) return;
704+
/*
704705
while (true)
705706
{
706707
try
@@ -717,7 +718,7 @@ void MainWindow::newKeychain()
717718
showError(e.what());
718719
}
719720
}
720-
721+
*/
721722
CoinDB::VaultLock lock(synchedVault);
722723
if (!synchedVault.isVaultOpen()) throw std::runtime_error("No vault is open.");
723724
synchedVault.getVault()->newKeychain(name.toStdString(), seed);

src/viewbip39dialog.cpp

+27-1
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,42 @@
2222

2323
ViewBIP39Dialog::ViewBIP39Dialog(const QString& name, const secure_bytes_t& seed, QWidget* parent)
2424
: QDialog(parent)
25+
{
26+
init(QString(), name, seed);
27+
}
28+
29+
ViewBIP39Dialog::ViewBIP39Dialog(const QString& prompt, const QString& name, const secure_bytes_t& seed, QWidget* parent)
30+
: QDialog(parent)
31+
{
32+
init(prompt, name, seed);
33+
}
34+
35+
void ViewBIP39Dialog::init(const QString& prompt, const QString& name, const secure_bytes_t& seed)
2536
{
2637
setWindowTitle(tr("Wordlist for ") + name);
2738

39+
// Buttons
40+
QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok
41+
| QDialogButtonBox::Cancel);
42+
43+
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
44+
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
45+
2846
QLineEdit* wordlistEdit = new QLineEdit();
2947
wordlistEdit->setReadOnly(true);
3048
wordlistEdit->setText(Coin::BIP39::toWordlist(seed).c_str());
3149

3250
QVBoxLayout* mainLayout = new QVBoxLayout();
33-
mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
51+
//mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
52+
53+
if (!prompt.isEmpty())
54+
{
55+
QLabel* promptLabel= new QLabel(prompt);
56+
mainLayout->addWidget(promptLabel);
57+
}
58+
3459
mainLayout->addWidget(wordlistEdit);
60+
mainLayout->addWidget(buttonBox);
3561
setLayout(mainLayout);
3662

3763
resize(1000, 100);

src/viewbip39dialog.h

+4
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,9 @@ class ViewBIP39Dialog : public QDialog
2020

2121
public:
2222
ViewBIP39Dialog(const QString& name, const secure_bytes_t& seed, QWidget* parent = NULL);
23+
ViewBIP39Dialog(const QString& prompt, const QString& name, const secure_bytes_t& seed, QWidget* parent = NULL);
24+
25+
protected:
26+
void init(const QString& prompt, const QString& name, const secure_bytes_t& seed);
2327
};
2428

0 commit comments

Comments
 (0)