mirror of
				https://git.wownero.com/wowlet/wowlet.git
				synced 2024-08-15 01:03:14 +00:00 
			
		
		
		
	PasswordDialog: misc improvements
This commit is contained in:
		
							parent
							
								
									519df3f5a1
								
							
						
					
					
						commit
						1e4a442b16
					
				
					 10 changed files with 131 additions and 85 deletions
				
			
		| 
						 | 
					@ -31,7 +31,7 @@ if(DEBUG)
 | 
				
			||||||
    set(CMAKE_VERBOSE_MAKEFILE ON)
 | 
					    set(CMAKE_VERBOSE_MAKEFILE ON)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(MONERO_HEAD "d029a63fb75c581fa060447b41d385c595144774")
 | 
					set(MONERO_HEAD "2390030d10b69c357165f82aaf417391a9e11019")
 | 
				
			||||||
set(BUILD_GUI_DEPS ON)
 | 
					set(BUILD_GUI_DEPS ON)
 | 
				
			||||||
set(ARCH "x86-64")
 | 
					set(ARCH "x86-64")
 | 
				
			||||||
set(BUILD_64 ON)
 | 
					set(BUILD_64 ON)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								monero
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								monero
									
										
									
									
									
								
							| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
Subproject commit d029a63fb75c581fa060447b41d385c595144774
 | 
					Subproject commit 2390030d10b69c357165f82aaf417391a9e11019
 | 
				
			||||||
| 
						 | 
					@ -610,7 +610,7 @@ void AppContext::onSetRestoreHeight(unsigned int height){
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this->currentWallet->setWalletCreationHeight(height);
 | 
					    this->currentWallet->setWalletCreationHeight(height);
 | 
				
			||||||
    this->currentWallet->setPassword(this->walletPassword);  // trigger .keys write
 | 
					    this->currentWallet->setPassword(this->currentWallet->getPassword());  // trigger .keys write
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // nuke wallet cache
 | 
					    // nuke wallet cache
 | 
				
			||||||
    const auto fn = this->currentWallet->path();
 | 
					    const auto fn = this->currentWallet->path();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,17 +5,39 @@
 | 
				
			||||||
#include "ui_passwordchangedialog.h"
 | 
					#include "ui_passwordchangedialog.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QPushButton>
 | 
					#include <QPushButton>
 | 
				
			||||||
 | 
					#include <QMessageBox>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PasswordChangeDialog::PasswordChangeDialog(QWidget *parent)
 | 
					PasswordChangeDialog::PasswordChangeDialog(QWidget *parent, Wallet *wallet)
 | 
				
			||||||
        : QDialog(parent)
 | 
					        : QDialog(parent)
 | 
				
			||||||
        , ui(new Ui::PasswordChangeDialog)
 | 
					        , ui(new Ui::PasswordChangeDialog)
 | 
				
			||||||
 | 
					        , m_wallet(wallet)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    ui->setupUi(this);
 | 
					    ui->setupUi(this);
 | 
				
			||||||
    ui->icon->setPixmap(QPixmap(":/assets/images/lock.png").scaledToWidth(32, Qt::SmoothTransformation));
 | 
					
 | 
				
			||||||
 | 
					    bool noPassword = wallet->getPassword().isEmpty();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QString warning_str = noPassword ? "Your wallet is not password protected. Use this dialog to add a password to your wallet." :
 | 
				
			||||||
 | 
					                         "Your wallet is password protected and encrypted. Use this dialog to change your password.";
 | 
				
			||||||
 | 
					    ui->label_warning->setText(warning_str);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QPixmap pixmap = noPassword ? QPixmap(":/assets/images/unlock.png") : QPixmap(":/assets/images/lock.png");
 | 
				
			||||||
 | 
					    ui->icon->setPixmap(pixmap.scaledToWidth(32, Qt::SmoothTransformation));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (noPassword) {
 | 
				
			||||||
 | 
					        ui->label_currentPassword->hide();
 | 
				
			||||||
 | 
					        ui->lineEdit_currentPassword->hide();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    connect(ui->lineEdit_newPassword, &QLineEdit::textChanged, this, &PasswordChangeDialog::passwordsMatch);
 | 
					    connect(ui->lineEdit_newPassword, &QLineEdit::textChanged, this, &PasswordChangeDialog::passwordsMatch);
 | 
				
			||||||
    connect(ui->lineEdit_confirmPassword, &QLineEdit::textChanged, this, &PasswordChangeDialog::passwordsMatch);
 | 
					    connect(ui->lineEdit_confirmPassword, &QLineEdit::textChanged, this, &PasswordChangeDialog::passwordsMatch);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    connect(ui->btn_Cancel, &QPushButton::clicked, [this]{
 | 
				
			||||||
 | 
					       this->reject();
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    connect(ui->btn_OK, &QPushButton::clicked, this, &PasswordChangeDialog::setPassword);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ui->label_match->setVisible(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this->adjustSize();
 | 
					    this->adjustSize();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,15 +46,28 @@ PasswordChangeDialog::~PasswordChangeDialog()
 | 
				
			||||||
    delete ui;
 | 
					    delete ui;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QString PasswordChangeDialog::getCurrentPassword() {
 | 
					 | 
				
			||||||
    return ui->lineEdit_currentPassword->text();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
QString PasswordChangeDialog::getNewPassword() {
 | 
					 | 
				
			||||||
    return ui->lineEdit_newPassword->text();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void PasswordChangeDialog::passwordsMatch() {
 | 
					void PasswordChangeDialog::passwordsMatch() {
 | 
				
			||||||
    bool match = ui->lineEdit_newPassword->text() == ui->lineEdit_confirmPassword->text();
 | 
					    bool match = ui->lineEdit_newPassword->text() == ui->lineEdit_confirmPassword->text();
 | 
				
			||||||
    ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(match);
 | 
					    ui->btn_OK->setEnabled(match);
 | 
				
			||||||
 | 
					    ui->label_match->setHidden(match);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PasswordChangeDialog::setPassword() {
 | 
				
			||||||
 | 
					    QString currentPassword = ui->lineEdit_currentPassword->text();
 | 
				
			||||||
 | 
					    QString newPassword = ui->lineEdit_newPassword->text();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (currentPassword != m_wallet->getPassword()) {
 | 
				
			||||||
 | 
					        QMessageBox::warning(this, "Error", "Incorrect password");
 | 
				
			||||||
 | 
					        ui->lineEdit_currentPassword->setText("");
 | 
				
			||||||
 | 
					        ui->lineEdit_currentPassword->setFocus();
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (m_wallet->setPassword(newPassword)) {
 | 
				
			||||||
 | 
					        QMessageBox::information(this, "Information", "Password changed successfully");
 | 
				
			||||||
 | 
					        this->accept();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else {
 | 
				
			||||||
 | 
					        QMessageBox::warning(this, "Error", QString("Error: %1").arg(m_wallet->errorString()));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@
 | 
				
			||||||
#define FEATHER_PASSWORDCHANGEDIALOG_H
 | 
					#define FEATHER_PASSWORDCHANGEDIALOG_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QDialog>
 | 
					#include <QDialog>
 | 
				
			||||||
 | 
					#include "libwalletqt/Wallet.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace Ui {
 | 
					namespace Ui {
 | 
				
			||||||
    class PasswordChangeDialog;
 | 
					    class PasswordChangeDialog;
 | 
				
			||||||
| 
						 | 
					@ -15,16 +16,15 @@ class PasswordChangeDialog : public QDialog
 | 
				
			||||||
Q_OBJECT
 | 
					Q_OBJECT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit PasswordChangeDialog(QWidget *parent = nullptr);
 | 
					    explicit PasswordChangeDialog(QWidget *parent, Wallet *wallet);
 | 
				
			||||||
    ~PasswordChangeDialog() override;
 | 
					    ~PasswordChangeDialog() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QString getCurrentPassword();
 | 
					 | 
				
			||||||
    QString getNewPassword();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    Ui::PasswordChangeDialog *ui;
 | 
					    Ui::PasswordChangeDialog *ui;
 | 
				
			||||||
 | 
					    Wallet *m_wallet;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void passwordsMatch();
 | 
					    void passwordsMatch();
 | 
				
			||||||
 | 
					    void setPassword();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif //FEATHER_PASSWORDCHANGEDIALOG_H
 | 
					#endif //FEATHER_PASSWORDCHANGEDIALOG_H
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,8 +6,8 @@
 | 
				
			||||||
   <rect>
 | 
					   <rect>
 | 
				
			||||||
    <x>0</x>
 | 
					    <x>0</x>
 | 
				
			||||||
    <y>0</y>
 | 
					    <y>0</y>
 | 
				
			||||||
    <width>500</width>
 | 
					    <width>556</width>
 | 
				
			||||||
    <height>237</height>
 | 
					    <height>309</height>
 | 
				
			||||||
   </rect>
 | 
					   </rect>
 | 
				
			||||||
  </property>
 | 
					  </property>
 | 
				
			||||||
  <property name="sizePolicy">
 | 
					  <property name="sizePolicy">
 | 
				
			||||||
| 
						 | 
					@ -30,7 +30,7 @@
 | 
				
			||||||
      </widget>
 | 
					      </widget>
 | 
				
			||||||
     </item>
 | 
					     </item>
 | 
				
			||||||
     <item>
 | 
					     <item>
 | 
				
			||||||
      <widget class="QLabel" name="label_2">
 | 
					      <widget class="QLabel" name="label_warning">
 | 
				
			||||||
       <property name="text">
 | 
					       <property name="text">
 | 
				
			||||||
        <string>Your wallet is password protected and encrypted. Use this dialog to change your password.</string>
 | 
					        <string>Your wallet is password protected and encrypted. Use this dialog to change your password.</string>
 | 
				
			||||||
       </property>
 | 
					       </property>
 | 
				
			||||||
| 
						 | 
					@ -41,6 +41,22 @@
 | 
				
			||||||
     </item>
 | 
					     </item>
 | 
				
			||||||
    </layout>
 | 
					    </layout>
 | 
				
			||||||
   </item>
 | 
					   </item>
 | 
				
			||||||
 | 
					   <item>
 | 
				
			||||||
 | 
					    <spacer name="verticalSpacer">
 | 
				
			||||||
 | 
					     <property name="orientation">
 | 
				
			||||||
 | 
					      <enum>Qt::Vertical</enum>
 | 
				
			||||||
 | 
					     </property>
 | 
				
			||||||
 | 
					     <property name="sizeType">
 | 
				
			||||||
 | 
					      <enum>QSizePolicy::Fixed</enum>
 | 
				
			||||||
 | 
					     </property>
 | 
				
			||||||
 | 
					     <property name="sizeHint" stdset="0">
 | 
				
			||||||
 | 
					      <size>
 | 
				
			||||||
 | 
					       <width>20</width>
 | 
				
			||||||
 | 
					       <height>10</height>
 | 
				
			||||||
 | 
					      </size>
 | 
				
			||||||
 | 
					     </property>
 | 
				
			||||||
 | 
					    </spacer>
 | 
				
			||||||
 | 
					   </item>
 | 
				
			||||||
   <item>
 | 
					   <item>
 | 
				
			||||||
    <layout class="QGridLayout" name="gridLayout">
 | 
					    <layout class="QGridLayout" name="gridLayout">
 | 
				
			||||||
     <item row="1" column="0">
 | 
					     <item row="1" column="0">
 | 
				
			||||||
| 
						 | 
					@ -65,7 +81,7 @@
 | 
				
			||||||
      </widget>
 | 
					      </widget>
 | 
				
			||||||
     </item>
 | 
					     </item>
 | 
				
			||||||
     <item row="0" column="0">
 | 
					     <item row="0" column="0">
 | 
				
			||||||
      <widget class="QLabel" name="label">
 | 
					      <widget class="QLabel" name="label_currentPassword">
 | 
				
			||||||
       <property name="text">
 | 
					       <property name="text">
 | 
				
			||||||
        <string>Current Password:</string>
 | 
					        <string>Current Password:</string>
 | 
				
			||||||
       </property>
 | 
					       </property>
 | 
				
			||||||
| 
						 | 
					@ -88,15 +104,46 @@
 | 
				
			||||||
    </layout>
 | 
					    </layout>
 | 
				
			||||||
   </item>
 | 
					   </item>
 | 
				
			||||||
   <item>
 | 
					   <item>
 | 
				
			||||||
    <widget class="QDialogButtonBox" name="buttonBox">
 | 
					    <layout class="QHBoxLayout" name="horizontalLayout_2">
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="QLabel" name="label_match">
 | 
				
			||||||
 | 
					       <property name="enabled">
 | 
				
			||||||
 | 
					        <bool>false</bool>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>Passwords do not match</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <spacer name="horizontalSpacer">
 | 
				
			||||||
       <property name="orientation">
 | 
					       <property name="orientation">
 | 
				
			||||||
        <enum>Qt::Horizontal</enum>
 | 
					        <enum>Qt::Horizontal</enum>
 | 
				
			||||||
       </property>
 | 
					       </property>
 | 
				
			||||||
     <property name="standardButtons">
 | 
					       <property name="sizeHint" stdset="0">
 | 
				
			||||||
      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
 | 
					        <size>
 | 
				
			||||||
 | 
					         <width>40</width>
 | 
				
			||||||
 | 
					         <height>20</height>
 | 
				
			||||||
 | 
					        </size>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </spacer>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="btn_Cancel">
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>Cancel</string>
 | 
				
			||||||
       </property>
 | 
					       </property>
 | 
				
			||||||
      </widget>
 | 
					      </widget>
 | 
				
			||||||
     </item>
 | 
					     </item>
 | 
				
			||||||
 | 
					     <item>
 | 
				
			||||||
 | 
					      <widget class="QPushButton" name="btn_OK">
 | 
				
			||||||
 | 
					       <property name="text">
 | 
				
			||||||
 | 
					        <string>OK</string>
 | 
				
			||||||
 | 
					       </property>
 | 
				
			||||||
 | 
					      </widget>
 | 
				
			||||||
 | 
					     </item>
 | 
				
			||||||
 | 
					    </layout>
 | 
				
			||||||
 | 
					   </item>
 | 
				
			||||||
  </layout>
 | 
					  </layout>
 | 
				
			||||||
 </widget>
 | 
					 </widget>
 | 
				
			||||||
 <tabstops>
 | 
					 <tabstops>
 | 
				
			||||||
| 
						 | 
					@ -105,38 +152,5 @@
 | 
				
			||||||
  <tabstop>lineEdit_confirmPassword</tabstop>
 | 
					  <tabstop>lineEdit_confirmPassword</tabstop>
 | 
				
			||||||
 </tabstops>
 | 
					 </tabstops>
 | 
				
			||||||
 <resources/>
 | 
					 <resources/>
 | 
				
			||||||
 <connections>
 | 
					 <connections/>
 | 
				
			||||||
  <connection>
 | 
					 | 
				
			||||||
   <sender>buttonBox</sender>
 | 
					 | 
				
			||||||
   <signal>accepted()</signal>
 | 
					 | 
				
			||||||
   <receiver>PasswordChangeDialog</receiver>
 | 
					 | 
				
			||||||
   <slot>accept()</slot>
 | 
					 | 
				
			||||||
   <hints>
 | 
					 | 
				
			||||||
    <hint type="sourcelabel">
 | 
					 | 
				
			||||||
     <x>248</x>
 | 
					 | 
				
			||||||
     <y>254</y>
 | 
					 | 
				
			||||||
    </hint>
 | 
					 | 
				
			||||||
    <hint type="destinationlabel">
 | 
					 | 
				
			||||||
     <x>157</x>
 | 
					 | 
				
			||||||
     <y>274</y>
 | 
					 | 
				
			||||||
    </hint>
 | 
					 | 
				
			||||||
   </hints>
 | 
					 | 
				
			||||||
  </connection>
 | 
					 | 
				
			||||||
  <connection>
 | 
					 | 
				
			||||||
   <sender>buttonBox</sender>
 | 
					 | 
				
			||||||
   <signal>rejected()</signal>
 | 
					 | 
				
			||||||
   <receiver>PasswordChangeDialog</receiver>
 | 
					 | 
				
			||||||
   <slot>reject()</slot>
 | 
					 | 
				
			||||||
   <hints>
 | 
					 | 
				
			||||||
    <hint type="sourcelabel">
 | 
					 | 
				
			||||||
     <x>316</x>
 | 
					 | 
				
			||||||
     <y>260</y>
 | 
					 | 
				
			||||||
    </hint>
 | 
					 | 
				
			||||||
    <hint type="destinationlabel">
 | 
					 | 
				
			||||||
     <x>286</x>
 | 
					 | 
				
			||||||
     <y>274</y>
 | 
					 | 
				
			||||||
    </hint>
 | 
					 | 
				
			||||||
   </hints>
 | 
					 | 
				
			||||||
  </connection>
 | 
					 | 
				
			||||||
 </connections>
 | 
					 | 
				
			||||||
</ui>
 | 
					</ui>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -179,6 +179,11 @@ bool Wallet::setPassword(const QString &password)
 | 
				
			||||||
    return m_walletImpl->setPassword(password.toStdString());
 | 
					    return m_walletImpl->setPassword(password.toStdString());
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString Wallet::getPassword()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return QString::fromStdString(m_walletImpl->getPassword());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QString Wallet::address(quint32 accountIndex, quint32 addressIndex) const
 | 
					QString Wallet::address(quint32 accountIndex, quint32 addressIndex) const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return QString::fromStdString(m_walletImpl->address(accountIndex, addressIndex));
 | 
					    return QString::fromStdString(m_walletImpl->address(accountIndex, addressIndex));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -134,6 +134,9 @@ public:
 | 
				
			||||||
    //! changes the password using existing parameters (path, seed, seed lang)
 | 
					    //! changes the password using existing parameters (path, seed, seed lang)
 | 
				
			||||||
    Q_INVOKABLE bool setPassword(const QString &password);
 | 
					    Q_INVOKABLE bool setPassword(const QString &password);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //! get current wallet password
 | 
				
			||||||
 | 
					    Q_INVOKABLE QString getPassword();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //! returns wallet's public address
 | 
					    //! returns wallet's public address
 | 
				
			||||||
    Q_INVOKABLE QString address(quint32 accountIndex, quint32 addressIndex) const;
 | 
					    Q_INVOKABLE QString address(quint32 accountIndex, quint32 addressIndex) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -670,6 +670,7 @@ void MainWindow::onWalletOpened() {
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this->touchbarShowWallet();
 | 
					    this->touchbarShowWallet();
 | 
				
			||||||
 | 
					    this->updatePasswordIcon();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MainWindow::onBalanceUpdated(double balance, double unlocked, const QString &balance_str, const QString &unlocked_str) {
 | 
					void MainWindow::onBalanceUpdated(double balance, double unlocked, const QString &balance_str, const QString &unlocked_str) {
 | 
				
			||||||
| 
						 | 
					@ -896,28 +897,15 @@ void MainWindow::showConnectionStatusDialog() {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MainWindow::showPasswordDialog() {
 | 
					void MainWindow::showPasswordDialog() {
 | 
				
			||||||
    auto *pdialog = new PasswordChangeDialog(this);
 | 
					    auto *pdialog = new PasswordChangeDialog(this, m_ctx->currentWallet);
 | 
				
			||||||
    int ret = pdialog->exec();
 | 
					    pdialog->exec();
 | 
				
			||||||
    if (!ret) return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    QApplication::setActiveWindow(this);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    QString currentPassword = pdialog->getCurrentPassword();
 | 
					 | 
				
			||||||
    QString newPassword = pdialog->getNewPassword();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (currentPassword != m_ctx->walletPassword) {
 | 
					 | 
				
			||||||
        QMessageBox::warning(this, "Error", "Incorrect password");
 | 
					 | 
				
			||||||
        return;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (m_ctx->currentWallet->setPassword(newPassword)) {
 | 
					 | 
				
			||||||
        QMessageBox::information(this, "Information", "Password changed successfully");
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    else {
 | 
					 | 
				
			||||||
        QMessageBox::warning(this, "Error", QString("Error: %1").arg(m_ctx->currentWallet->errorString()));
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    pdialog->deleteLater();
 | 
					    pdialog->deleteLater();
 | 
				
			||||||
 | 
					    this->updatePasswordIcon();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void MainWindow::updatePasswordIcon() {
 | 
				
			||||||
 | 
					    QIcon icon = m_ctx->currentWallet->getPassword().isEmpty() ? QIcon(":/assets/images/unlock.svg") : QIcon(":/assets/images/lock.svg");
 | 
				
			||||||
 | 
					    m_statusBtnPassword->setIcon(icon);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MainWindow::showRestoreHeightDialog() {
 | 
					void MainWindow::showRestoreHeightDialog() {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -162,6 +162,7 @@ private:
 | 
				
			||||||
    void createUnsignedTxDialog(UnsignedTransaction *tx);
 | 
					    void createUnsignedTxDialog(UnsignedTransaction *tx);
 | 
				
			||||||
    void touchbarShowWizard();
 | 
					    void touchbarShowWizard();
 | 
				
			||||||
    void touchbarShowWallet();
 | 
					    void touchbarShowWallet();
 | 
				
			||||||
 | 
					    void updatePasswordIcon();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WalletWizard *createWizard(WalletWizard::Page startPage);
 | 
					    WalletWizard *createWizard(WalletWizard::Page startPage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue