airgap: allow showing address QR code

This commit is contained in:
tobtoht 2023-12-06 20:29:24 +01:00
parent 9056047b1b
commit 7c89a7d5bb
No known key found for this signature in database
GPG key ID: E45B10DD027D2472
3 changed files with 22 additions and 10 deletions

View file

@ -6,6 +6,7 @@
#include "utils/Utils.h"
#include "components.h"
#include "dialog/QrCodeDialog.h"
AddressCheckerIndexDialog::AddressCheckerIndexDialog(Wallet *wallet, QWidget *parent)
: WindowModalDialog(parent)
@ -14,20 +15,30 @@ AddressCheckerIndexDialog::AddressCheckerIndexDialog(Wallet *wallet, QWidget *pa
{
ui->setupUi(this);
connect(ui->btn_showAddress, &QPushButton::clicked, [this] {
this->showAddress(ui->line_index->text().toUInt());
connect(ui->btn_showQRcode, &QPushButton::clicked, [this]{
QString address = this->address();
QrCode qr(address, QrCode::Version::AUTO, QrCode::ErrorCorrectionLevel::HIGH);
QrCodeDialog dialog{this, &qr, "Address"};
dialog.exec();
});
connect(ui->line_index, &QLineEdit::textChanged, [this]{
ui->address->setText(this->address());
});
auto indexValidator = new U32Validator(this);
ui->line_index->setValidator(indexValidator);
ui->line_index->setText("0");
this->showAddress(0);
this->adjustSize();
}
void AddressCheckerIndexDialog::showAddress(uint32_t index) {
ui->address->setText(m_wallet->address(m_wallet->currentSubaddressAccount(), index));
uint32_t AddressCheckerIndexDialog::index() {
return ui->line_index->text().toUInt();
}
QString AddressCheckerIndexDialog::address() {
return m_wallet->address(m_wallet->currentSubaddressAccount(), this->index());
}
AddressCheckerIndexDialog::~AddressCheckerIndexDialog() = default;

View file

@ -20,7 +20,8 @@ class AddressCheckerIndexDialog : public WindowModalDialog
~AddressCheckerIndexDialog() override;
private:
void showAddress(uint32_t index);
uint32_t index();
QString address();
QScopedPointer<Ui::AddressCheckerIndexDialog> ui;
Wallet *m_wallet;

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>712</width>
<height>127</height>
<width>458</width>
<height>99</height>
</rect>
</property>
<property name="windowTitle">
@ -34,9 +34,9 @@
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_showAddress">
<widget class="QPushButton" name="btn_showQRcode">
<property name="text">
<string>Show address</string>
<string>Show QR code</string>
</property>
</widget>
</item>