2 #include "ui_qrcodedialog.h"
10 #if QT_VERSION < 0x050000
26 ui->chkReqPayment->setVisible(enableReq);
27 ui->lblAmount->setVisible(enableReq);
28 ui->lnReqAmount->setVisible(enableReq);
30 ui->lnLabel->setText(label);
32 ui->btnSaveAs->setEnabled(
false);
59 ui->lblQRCode->setText(
"");
61 QRcode *code = QRcode_encodeString(uri.toUtf8().constData(), 0, QR_ECLEVEL_L, QR_MODE_8, 1);
64 ui->lblQRCode->setText(tr(
"Error encoding URI into QR Code."));
67 myImage = QImage(code->width + 8, code->width + 8, QImage::Format_RGB32);
69 unsigned char *p = code->data;
70 for (
int y = 0; y < code->width; y++)
72 for (
int x = 0; x < code->width; x++)
74 myImage.setPixel(x + 4, y + 4, ((*p & 1) ? 0x0 : 0xffffff));
80 ui->lblQRCode->setPixmap(QPixmap::fromImage(
myImage).scaled(300, 300));
82 ui->outUri->setPlainText(uri);
88 QString ret = QString(
"feathercoin:%1").arg(
address);
93 if (
ui->chkReqPayment->isChecked())
95 if (
ui->lnReqAmount->validate())
103 ui->btnSaveAs->setEnabled(
false);
104 ui->lblQRCode->setText(tr(
"The entered amount is invalid, please check."));
109 if (!
ui->lnLabel->text().isEmpty())
111 QString lbl(QUrl::toPercentEncoding(
ui->lnLabel->text()));
112 ret += QString(
"%1label=%2").arg(paramCount == 0 ?
"?" :
"&").arg(lbl);
116 if (!
ui->lnMessage->text().isEmpty())
118 QString msg(QUrl::toPercentEncoding(
ui->lnMessage->text()));
119 ret += QString(
"%1message=%2").arg(paramCount == 0 ?
"?" :
"&").arg(msg);
124 if (ret.length() > MAX_URI_LENGTH)
126 ui->btnSaveAs->setEnabled(
false);
127 ui->lblQRCode->setText(tr(
"Resulting URI too long, try to reduce the text for label / message."));
131 ui->btnSaveAs->setEnabled(
true);
161 ui->lnReqAmount->setValid(
true);
void on_lnReqAmount_textChanged()
QString getSaveFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter, QString *selectedSuffixOut)
Get save filename, mimics QFileDialog::getSaveFileName, except that it appends a default suffix when ...
void on_chkReqPayment_toggled(bool fChecked)
QRCodeDialog(const QString &addr, const QString &label, bool enableReq, QWidget *parent=0)
void on_lnLabel_textChanged()
#define EXPORT_IMAGE_SIZE
void setModel(OptionsModel *model)
void on_lnMessage_textChanged()
Interface from Qt to configuration data structure for Bitcoin client.
static QString format(int unit, qint64 amount, bool plussign=false)
Format as string.
void on_btnSaveAs_clicked()