/* This file is part of cpp-ethereum. cpp-ethereum is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. cpp-ethereum is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with cpp-ethereum. If not, see . */ /** @file BrainWallet.h * @author Gav Wood * @date 2015 */ #include "BrainWallet.h" #include #include #include #include #include #include #include #include #include "ui_BrainWallet.h" using namespace std; using namespace dev; using namespace az; using namespace eth; BrainWallet::BrainWallet(MainFace* _m): Plugin(_m, "BrainWallet") { QAction* a = new QAction("New Brain Wallet...", main()); QMenu* m = _m->findChild("menuTools"); m->addSeparator(); m->addAction(a); connect(a, SIGNAL(triggered()), SLOT(create())); } BrainWallet::~BrainWallet() { } void BrainWallet::create() { QDialog d; Ui_BrainWallet u; u.setupUi(&d); d.setWindowTitle("New Brain Wallet"); connect(u.generate, &QPushButton::clicked, [&](){ boost::random_device d; boost::random::uniform_int_distribution pickWord(0, WordList.size() - 1); QString t; for (int i = 0; i < 13; ++i) t += (t.size() ? " " : "") + QString::fromStdString(WordList[pickWord(d)]); u.seed->setPlainText(t); }); if (d.exec() == QDialog::Accepted) { main()->keyManager().importBrain(u.seed->toPlainText().trimmed().toStdString(), u.name->text().toStdString(), u.hint->toPlainText().toStdString()); main()->noteKeysChanged(); } }