mirror of
https://git.wownero.com/wowlet/wowlet.git
synced 2024-08-15 01:03:14 +00:00
Merge pull request 'Receive: Fix qr code segfault' (#152) from tobtoht/feather:qr_code_crash into master
Reviewed-on: https://git.wownero.com/feather/feather/pulls/152
This commit is contained in:
commit
d58259cefe
3 changed files with 18 additions and 12 deletions
|
@ -633,8 +633,7 @@ bool Wallet::refresh(bool historyAndSubaddresses /* = true */)
|
||||||
m_subaddress->refresh(currentSubaddressAccount());
|
m_subaddress->refresh(currentSubaddressAccount());
|
||||||
m_subaddressAccount->getAll();
|
m_subaddressAccount->getAll();
|
||||||
}
|
}
|
||||||
if (result)
|
|
||||||
emit updated();
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,15 +51,12 @@ void ReceiveWidget::setModel(SubaddressModel * model, Subaddress * subaddress) {
|
||||||
ui->addresses->header()->setSectionResizeMode(SubaddressModel::Label, QHeaderView::ResizeToContents);
|
ui->addresses->header()->setSectionResizeMode(SubaddressModel::Label, QHeaderView::ResizeToContents);
|
||||||
ui->addresses->header()->setMinimumSectionSize(200);
|
ui->addresses->header()->setMinimumSectionSize(200);
|
||||||
|
|
||||||
connect(ui->addresses->selectionModel(), &QItemSelectionModel::currentRowChanged, [=](QModelIndex current, QModelIndex prev){
|
connect(ui->addresses->selectionModel(), &QItemSelectionModel::currentChanged, [=](QModelIndex current, QModelIndex prev){
|
||||||
if (current.isValid())
|
this->updateQrCode();
|
||||||
this->setQrCode(current.model()->data(current.siblingAtColumn(SubaddressModel::Address), Qt::UserRole).toString());
|
});
|
||||||
else
|
connect(m_model, &SubaddressModel::modelReset, [this](){
|
||||||
ui->qrCode->clear();
|
this->updateQrCode();
|
||||||
});
|
});
|
||||||
// connect(m_model, &SubaddressModel::modelReset, [this](){
|
|
||||||
// ui->btn_generateSubaddress->setEnabled(m_model->unusedLookahead() < SUBADDRESS_LOOKAHEAD_MINOR);
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReceiveWidget::copyAddress() {
|
void ReceiveWidget::copyAddress() {
|
||||||
|
@ -129,7 +126,14 @@ void ReceiveWidget::showHeaderMenu(const QPoint& position)
|
||||||
m_headerMenu->exec(QCursor::pos());
|
m_headerMenu->exec(QCursor::pos());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReceiveWidget::setQrCode(const QString &address){
|
void ReceiveWidget::updateQrCode(){
|
||||||
|
QModelIndex index = ui->addresses->currentIndex();
|
||||||
|
if (!index.isValid()) {
|
||||||
|
ui->qrCode->clear();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString address = index.model()->data(index.siblingAtColumn(SubaddressModel::Address), Qt::UserRole).toString();
|
||||||
const QrCode qrc(address, QrCode::Version::AUTO, QrCode::ErrorCorrectionLevel::MEDIUM);
|
const QrCode qrc(address, QrCode::Version::AUTO, QrCode::ErrorCorrectionLevel::MEDIUM);
|
||||||
|
|
||||||
int width = ui->qrCode->width() - 4;
|
int width = ui->qrCode->width() - 4;
|
||||||
|
@ -140,6 +144,9 @@ void ReceiveWidget::setQrCode(const QString &address){
|
||||||
|
|
||||||
void ReceiveWidget::showQrCodeDialog() {
|
void ReceiveWidget::showQrCodeDialog() {
|
||||||
QModelIndex index = ui->addresses->currentIndex();
|
QModelIndex index = ui->addresses->currentIndex();
|
||||||
|
if (!index.isValid()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
QString address = index.model()->data(index.siblingAtColumn(SubaddressModel::Address), Qt::UserRole).toString();
|
QString address = index.model()->data(index.siblingAtColumn(SubaddressModel::Address), Qt::UserRole).toString();
|
||||||
QrCode qr(address, QrCode::Version::AUTO, QrCode::ErrorCorrectionLevel::HIGH);
|
QrCode qr(address, QrCode::Version::AUTO, QrCode::ErrorCorrectionLevel::HIGH);
|
||||||
auto *dialog = new QrCodeDialog(this, qr, "Address");
|
auto *dialog = new QrCodeDialog(this, qr, "Address");
|
||||||
|
|
|
@ -54,7 +54,7 @@ private:
|
||||||
SubaddressModel * m_model;
|
SubaddressModel * m_model;
|
||||||
SubaddressProxyModel * m_proxyModel;
|
SubaddressProxyModel * m_proxyModel;
|
||||||
|
|
||||||
void setQrCode(const QString &address);
|
void updateQrCode();
|
||||||
void showQrCodeDialog();
|
void showQrCodeDialog();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue