mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-14 22:58:13 +01:00
qt: add Open URI dialog
This commit is contained in:
52
src/qt/openuridialog.cpp
Normal file
52
src/qt/openuridialog.cpp
Normal file
@@ -0,0 +1,52 @@
|
||||
// Copyright (c) 2011-2013 The Bitcoin developers
|
||||
// Distributed under the MIT/X11 software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include "openuridialog.h"
|
||||
#include "ui_openuridialog.h"
|
||||
|
||||
#include "guiutil.h"
|
||||
#include "walletmodel.h"
|
||||
|
||||
#include <QUrl>
|
||||
|
||||
OpenURIDialog::OpenURIDialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::OpenURIDialog)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
#if QT_VERSION >= 0x040700
|
||||
ui->uriEdit->setPlaceholderText("bitcoin:");
|
||||
#endif
|
||||
}
|
||||
|
||||
OpenURIDialog::~OpenURIDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
QString OpenURIDialog::getURI()
|
||||
{
|
||||
return ui->uriEdit->text();
|
||||
}
|
||||
|
||||
void OpenURIDialog::accept()
|
||||
{
|
||||
SendCoinsRecipient rcp;
|
||||
if(GUIUtil::parseBitcoinURI(getURI(), &rcp))
|
||||
{
|
||||
/* Only accept value URIs */
|
||||
QDialog::accept();
|
||||
} else {
|
||||
ui->uriEdit->setValid(false);
|
||||
}
|
||||
}
|
||||
|
||||
void OpenURIDialog::on_selectFileButton_clicked()
|
||||
{
|
||||
QString filename = GUIUtil::getOpenFileName(this, tr("Select payment request file to open"), "", "", NULL);
|
||||
if(filename.isEmpty())
|
||||
return;
|
||||
QUrl fileUri = QUrl::fromLocalFile(filename);
|
||||
ui->uriEdit->setText("bitcoin:?request=" + QUrl::toPercentEncoding(fileUri.toString()));
|
||||
}
|
||||
Reference in New Issue
Block a user