qt: use SendCoinsRecipient for payment request information

This brings some symmetry into the design by using the same object
both for incoming URIs that are parsed as for outgoing URIs that
are formatted.
This commit is contained in:
Wladimir J. van der Laan 2013-10-18 13:45:11 +02:00
parent 03535acd05
commit 8a7f37c797
3 changed files with 18 additions and 14 deletions

View file

@ -96,8 +96,9 @@ void ReceiveCoinsDialog::on_receiveButton_clicked()
/* Generate new receiving address */
address = model->getAddressTableModel()->addRow(AddressTableModel::Receive, label, "");
}
ReceiveRequestDialog *dialog = new ReceiveRequestDialog(address, label,
ui->reqAmount->value(), ui->reqMessage->text(), this);
SendCoinsRecipient info(address, label,
ui->reqAmount->value(), ui->reqMessage->text());
ReceiveRequestDialog *dialog = new ReceiveRequestDialog(info, this);
dialog->setModel(model->getOptionsModel());
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->show();

View file

@ -5,6 +5,7 @@
#include "guiconstants.h"
#include "guiutil.h"
#include "optionsmodel.h"
#include "walletmodel.h"
#include <QPixmap>
#include <QClipboard>
@ -63,25 +64,25 @@ void QRImageWidget::copyImage()
QApplication::clipboard()->setImage(exportImage());
}
ReceiveRequestDialog::ReceiveRequestDialog(const QString &addr, const QString &label, quint64 amount, const QString &message, QWidget *parent) :
ReceiveRequestDialog::ReceiveRequestDialog(const SendCoinsRecipient &info, QWidget *parent) :
QDialog(parent),
ui(new Ui::ReceiveRequestDialog),
model(0),
address(addr)
info(info)
{
ui->setupUi(this);
QString target = label;
QString target = info.label;
if(target.isEmpty())
target = addr;
target = info.address;
setWindowTitle(tr("Request payment to %1").arg(target));
ui->lnAddress->setText(addr);
if(amount)
ui->lnReqAmount->setValue(amount);
ui->lnAddress->setText(info.address);
if(info.amount)
ui->lnReqAmount->setValue(info.amount);
ui->lnReqAmount->setReadOnly(true);
ui->lnLabel->setText(label);
ui->lnMessage->setText(message);
ui->lnLabel->setText(info.label);
ui->lnMessage->setText(info.message);
#ifndef USE_QRCODE
ui->btnSaveAs->setVisible(false);
@ -146,7 +147,7 @@ void ReceiveRequestDialog::genCode()
QString ReceiveRequestDialog::getURI()
{
QString ret = QString("bitcoin:%1").arg(address);
QString ret = QString("bitcoin:%1").arg(info.address);
int paramCount = 0;
if (ui->lnReqAmount->validate())

View file

@ -1,6 +1,8 @@
#ifndef QRCODEDIALOG_H
#define QRCODEDIALOG_H
#include "walletmodel.h"
#include <QDialog>
#include <QImage>
#include <QLabel>
@ -34,7 +36,7 @@ class ReceiveRequestDialog : public QDialog
Q_OBJECT
public:
explicit ReceiveRequestDialog(const QString &addr, const QString &label, quint64 amount, const QString &message, QWidget *parent = 0);
explicit ReceiveRequestDialog(const SendCoinsRecipient &info, QWidget *parent = 0);
~ReceiveRequestDialog();
void setModel(OptionsModel *model);
@ -49,7 +51,7 @@ private slots:
private:
Ui::ReceiveRequestDialog *ui;
OptionsModel *model;
QString address;
SendCoinsRecipient info;
void genCode();
QString getURI();