PRCYCoin  2.0.0.7rc1
P2P Digital Currency
importorcreate.cpp
Go to the documentation of this file.
1 #include "importorcreate.h"
2 #include "ui_importorcreate.h"
3 
4 #include "allocators.h"
5 #include "guiconstants.h"
6 #include "guiutil.h"
7 #include "walletmodel.h"
8 
9 #include <QDateTime>
10 #include <QMessageBox>
11 
13  QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint),
14  ui(new Ui::ImportOrCreate)
15 {
16  ui->setupUi(this);
17  connect(ui->btnNext, SIGNAL(clicked()), this, SLOT(on_next()));
18 }
19 
21 {
22  delete ui;
23 }
24 
26 {
27  if (ui->rbCreate->isChecked()) {
28  accept();
29  CHDChain hdChainCurrent;
30  if (!pwalletMain->GetDecryptedHDChain(hdChainCurrent))
31  return;
32 
33  SecureString mnemonic;
34  SecureString mnemonicPass;
35  if (!hdChainCurrent.GetMnemonic(mnemonic, mnemonicPass))
36  return;
37 
38  QString mPhrase = std::string(mnemonic.begin(), mnemonic.end()).c_str();
39  QMessageBox msgBox;
40  QPushButton *copyButton = msgBox.addButton(tr("Copy"), QMessageBox::ActionRole);
41  QPushButton *okButton = msgBox.addButton(tr("OK"), QMessageBox::ActionRole);
42  copyButton->setStyleSheet("background:transparent;");
43  copyButton->setIcon(QIcon(":/icons/editcopy"));
44  msgBox.setWindowTitle("Mnemonic Recovery Phrase");
45  msgBox.setText("Below is your Mnemonic Recovery Phrase, consisting of 24 seed words. Please copy/write these words down in order. We strongly recommend keeping multiple copies in different locations.");
46  msgBox.setInformativeText("\n<b>" + mPhrase + "</b>");
47  msgBox.setStyleSheet(GUIUtil::loadStyleSheet());
48  msgBox.exec();
49 
50  if (msgBox.clickedButton() == copyButton) {
51  //Copy Mnemonic Recovery Phrase to clipboard
52  GUIUtil::setClipboard(std::string(mnemonic.begin(), mnemonic.end()).c_str());
53  }
54 
55  } else {
56  willRecover = true;
57  accept();
58  }
59 }
importorcreate.h
walletmodel.h
ImportOrCreate::on_next
void on_next()
Definition: importorcreate.cpp:25
GUIUtil::setClipboard
void setClipboard(const QString &str)
Definition: guiutil.cpp:785
ImportOrCreate
Definition: importorcreate.h:13
CHDChain::GetMnemonic
bool GetMnemonic(SecureVector &vchMnemonicRet, SecureVector &vchMnemonicPassphraseRet) const
Definition: hdchain.cpp:100
SecureString
std::basic_string< char, std::char_traits< char >, secure_allocator< char > > SecureString
Definition: allocators.h:262
ImportOrCreate::~ImportOrCreate
~ImportOrCreate()
Definition: importorcreate.cpp:20
allocators.h
ImportOrCreate::ImportOrCreate
ImportOrCreate(QWidget *parent=0)
Definition: importorcreate.cpp:12
guiutil.h
ImportOrCreate::ui
Ui::ImportOrCreate * ui
Definition: importorcreate.h:25
Ui
Definition: 2faconfirmdialog.h:7
guiconstants.h
CHDChain
Definition: hdchain.h:11
ImportOrCreate::willRecover
bool willRecover
Definition: importorcreate.h:20
CWallet::GetDecryptedHDChain
bool GetDecryptedHDChain(CHDChain &hdChainRet)
Definition: wallet.cpp:295
GUIUtil::loadStyleSheet
QString loadStyleSheet()
Load global CSS theme.
Definition: guiutil.cpp:721
pwalletMain
CWallet * pwalletMain
Definition: wallet.cpp:49