mirror of
				https://git.wownero.com/wowlet/wowlet.git
				synced 2024-08-15 01:03:14 +00:00 
			
		
		
		
	SeedDialog: add 25 word seed toggle
This commit is contained in:
		
							parent
							
								
									b66aceccc8
								
							
						
					
					
						commit
						0f3c005b60
					
				
					 4 changed files with 41 additions and 20 deletions
				
			
		| 
						 | 
				
			
			@ -4,27 +4,43 @@
 | 
			
		|||
#include "ui_seeddialog.h"
 | 
			
		||||
#include "seeddialog.h"
 | 
			
		||||
 | 
			
		||||
SeedDialog::SeedDialog(const QString &seed, QWidget *parent)
 | 
			
		||||
SeedDialog::SeedDialog(Wallet *wallet, QWidget *parent)
 | 
			
		||||
        : QDialog(parent)
 | 
			
		||||
        , ui(new Ui::SeedDialog)
 | 
			
		||||
{
 | 
			
		||||
    ui->setupUi(this);
 | 
			
		||||
    ui->label_seedIcon->setPixmap(QPixmap(":/assets/images/seed.png").scaledToWidth(64, Qt::SmoothTransformation));
 | 
			
		||||
 | 
			
		||||
    QString seed_14_words = wallet->getCacheAttribute("feather.seed");
 | 
			
		||||
    QString seed_25_words = wallet->getSeed();
 | 
			
		||||
 | 
			
		||||
    if (seed_14_words.isEmpty()) {
 | 
			
		||||
        ui->check_toggleSeedType->hide();
 | 
			
		||||
        this->setSeed(seed_25_words);
 | 
			
		||||
    } else {
 | 
			
		||||
        this->setSeed(seed_14_words);
 | 
			
		||||
        connect(ui->check_toggleSeedType, &QCheckBox::toggled, [this, seed_25_words, seed_14_words](bool toggled){
 | 
			
		||||
            this->setSeed(toggled ? seed_25_words : seed_14_words);
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this->adjustSize();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void SeedDialog::setSeed(const QString &seed) {
 | 
			
		||||
    ui->seed->setPlainText(seed);
 | 
			
		||||
 | 
			
		||||
    int words = seed.split(" ").size();
 | 
			
		||||
    ui->label_warning->setText(QString("<p>Please save these %1 words on paper (order is important). "
 | 
			
		||||
                               "This seed will allow you to recover your wallet in case "
 | 
			
		||||
                               "of computer failure."
 | 
			
		||||
                               "</p>"
 | 
			
		||||
                               "<b>WARNING:</b>"
 | 
			
		||||
                               "<ul>"
 | 
			
		||||
                               "<li>Never disclose your seed.</li>"
 | 
			
		||||
                               "<li>Never type it on a website</li>"
 | 
			
		||||
                               "<li>Do not store it electronically</li>"
 | 
			
		||||
                               "</ul>").arg(words));
 | 
			
		||||
 | 
			
		||||
    this->adjustSize();
 | 
			
		||||
                                       "This seed will allow you to recover your wallet in case "
 | 
			
		||||
                                       "of computer failure."
 | 
			
		||||
                                       "</p>"
 | 
			
		||||
                                       "<b>WARNING:</b>"
 | 
			
		||||
                                       "<ul>"
 | 
			
		||||
                                       "<li>Never disclose your seed.</li>"
 | 
			
		||||
                                       "<li>Never type it on a website</li>"
 | 
			
		||||
                                       "<li>Do not store it electronically</li>"
 | 
			
		||||
                                       "</ul>").arg(words));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SeedDialog::~SeedDialog()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@
 | 
			
		|||
#define FEATHER_SEEDDIALOG_H
 | 
			
		||||
 | 
			
		||||
#include <QDialog>
 | 
			
		||||
#include "libwalletqt/Wallet.h"
 | 
			
		||||
 | 
			
		||||
namespace Ui {
 | 
			
		||||
    class SeedDialog;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,10 +16,12 @@ class SeedDialog : public QDialog
 | 
			
		|||
Q_OBJECT
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    explicit SeedDialog(const QString& seed, QWidget *parent = nullptr);
 | 
			
		||||
    explicit SeedDialog(Wallet *wallet, QWidget *parent = nullptr);
 | 
			
		||||
    ~SeedDialog() override;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void setSeed(const QString &seed);
 | 
			
		||||
 | 
			
		||||
    Ui::SeedDialog *ui;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@
 | 
			
		|||
    <x>0</x>
 | 
			
		||||
    <y>0</y>
 | 
			
		||||
    <width>542</width>
 | 
			
		||||
    <height>244</height>
 | 
			
		||||
    <height>259</height>
 | 
			
		||||
   </rect>
 | 
			
		||||
  </property>
 | 
			
		||||
  <property name="windowTitle">
 | 
			
		||||
| 
						 | 
				
			
			@ -57,6 +57,13 @@
 | 
			
		|||
     </item>
 | 
			
		||||
    </layout>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
    <widget class="QCheckBox" name="check_toggleSeedType">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
      <string>Show 25 word seed</string>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item>
 | 
			
		||||
    <widget class="QLabel" name="label_warning">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -851,12 +851,7 @@ void MainWindow::showWalletInfoDialog() {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void MainWindow::showSeedDialog() {
 | 
			
		||||
    QString seed = m_ctx->currentWallet->getCacheAttribute("feather.seed");
 | 
			
		||||
    if (seed.isEmpty()) {
 | 
			
		||||
        seed = m_ctx->currentWallet->getSeed();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    auto *dialog = new SeedDialog(seed, this);
 | 
			
		||||
    auto *dialog = new SeedDialog(m_ctx->currentWallet, this);
 | 
			
		||||
    dialog->exec();
 | 
			
		||||
    dialog->deleteLater();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue