1 #include <qt/receivetokenpage.h> 2 #include <qt/forms/ui_receivetokenpage.h> 3 4 #include <qt/guiutil.h> 5 #include <qt/guiconstants.h> 6 #include <qt/receiverequestdialog.h> 7 #include <qt/platformstyle.h> 8 ReceiveTokenPage(const PlatformStyle * _platformStyle,QWidget * parent)9ReceiveTokenPage::ReceiveTokenPage(const PlatformStyle *_platformStyle, QWidget *parent) : 10 QDialog(parent), 11 ui(new Ui::ReceiveTokenPage), 12 platformStyle(_platformStyle) 13 { 14 ui->setupUi(this); 15 connect(ui->copyAddressButton, &QToolButton::clicked, this, &ReceiveTokenPage::on_copyAddressClicked); 16 ui->copyAddressButton->setVisible(false); 17 setAddress(""); 18 } 19 ~ReceiveTokenPage()20ReceiveTokenPage::~ReceiveTokenPage() 21 { 22 delete ui; 23 } 24 setAddress(QString address)25void ReceiveTokenPage::setAddress(QString address) 26 { 27 m_address = address; 28 createQRCode(); 29 } 30 setSymbol(QString symbol)31void ReceiveTokenPage::setSymbol(QString symbol) 32 { 33 QString addressText = symbol.isEmpty() ? "" : (QString("%1 %2:").arg(symbol, tr("Address"))); 34 ui->labelTokenAddressText->setText(addressText); 35 setWindowTitle(QString("%1 %2").arg(symbol, tr("Receive"))); 36 } 37 on_copyAddressClicked()38void ReceiveTokenPage::on_copyAddressClicked() 39 { 40 if(!m_address.isEmpty()) 41 GUIUtil::setClipboard(m_address); 42 } 43 createQRCode()44void ReceiveTokenPage::createQRCode() 45 { 46 SendCoinsRecipient info; 47 if(!m_address.isEmpty()) 48 { 49 info.address = m_address; 50 QString uri = GUIUtil::formatBitcoinURI(info); 51 if(ui->lblQRCode->setQR(uri)) 52 { 53 ui->widgetQRMargin->setVisible(true); 54 ui->lblQRCode->setScaledContents(true); 55 } 56 else 57 { 58 ui->widgetQRMargin->setVisible(false); 59 } 60 ui->labelTokenAddress->setText(m_address); 61 ui->copyAddressButton->setVisible(true); 62 } 63 else 64 { 65 ui->lblQRCode->clear(); 66 ui->labelTokenAddress->setText(""); 67 ui->labelTokenAddressText->setText(""); 68 ui->copyAddressButton->setVisible(false); 69 } 70 } 71