/
githubmirror
/
bitcoin
Обзор
Документация
Войти
/
githubmirror
/
bitcoin
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/qt/receiverequestdialog.cpp
111 строк
3 KB
MarcoFalke
scripted-diff: [doc] Unify stale copyright headers
17 дек 2025, 00:21
17 дек 2025, 00:21
fa5f297
Код
Авторство
О чём код?
// Copyright (c) 2011-present The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include <qt/receiverequestdialog.h> #include <qt/forms/ui_receiverequestdialog.h> #include <qt/bitcoinunits.h> #include <qt/guiutil.h> #include <qt/optionsmodel.h> #include <qt/qrimagewidget.h> #include <qt/walletmodel.h> #include <QDialog> #include <QString> #include <bitcoin-build-config.h> // IWYU pragma: keep ReceiveRequestDialog::ReceiveRequestDialog(QWidget* parent) : QDialog(parent, GUIUtil::dialog_flags), ui(new Ui::ReceiveRequestDialog) { ui->setupUi(this); GUIUtil::handleCloseWindowShortcut(this); } ReceiveRequestDialog::~ReceiveRequestDialog() { delete ui; } void ReceiveRequestDialog::setModel(WalletModel *_model) { this->model = _model; if (_model) connect(_model->getOptionsModel(), &OptionsModel::displayUnitChanged, this, &ReceiveRequestDialog::updateDisplayUnit); // update the display unit if necessary update(); } void ReceiveRequestDialog::setInfo(const SendCoinsRecipient &_info) { this->info = _info; setWindowTitle(tr("Request payment to %1").arg(info.label.isEmpty() ? info.address : info.label)); QString uri = GUIUtil::formatBitcoinURI(info); #ifdef USE_QRCODE if (ui->qr_code->setQR(uri, info.address)) { connect(ui->btnSaveAs, &QPushButton::clicked, ui->qr_code, &QRImageWidget::saveImage); } else { ui->btnSaveAs->setEnabled(false); } #else ui->btnSaveAs->hide(); ui->qr_code->hide(); #endif ui->uri_content->setText("<a href=\"" + uri + "\">" + GUIUtil::HtmlEscape(uri) + "</a>"); ui->address_content->setText(info.address); if (!info.amount) { ui->amount_tag->hide(); ui->amount_content->hide(); } // Amount is set in updateDisplayUnit() slot. updateDisplayUnit(); if (!info.label.isEmpty()) { ui->label_content->setText(info.label); } else { ui->label_tag->hide(); ui->label_content->hide(); } if (!info.message.isEmpty()) { ui->message_content->setText(info.message); } else { ui->message_tag->hide(); ui->message_content->hide(); } if (!model->getWalletName().isEmpty()) { ui->wallet_content->setText(model->getWalletName()); } else { ui->wallet_tag->hide(); ui->wallet_content->hide(); } ui->btnVerify->setVisible(model->wallet().hasExternalSigner()); connect(ui->btnVerify, &QPushButton::clicked, [this] { model->displayAddress(info.address.toStdString()); }); } void ReceiveRequestDialog::updateDisplayUnit() { if (!model) return; ui->amount_content->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), info.amount)); } void ReceiveRequestDialog::on_btnCopyURI_clicked() { GUIUtil::setClipboard(GUIUtil::formatBitcoinURI(info)); } void ReceiveRequestDialog::on_btnCopyAddress_clicked() { GUIUtil::setClipboard(info.address); }