aboutsummaryrefslogtreecommitdiff
path: root/src/qt/openuridialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/openuridialog.cpp')
-rw-r--r--src/qt/openuridialog.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/qt/openuridialog.cpp b/src/qt/openuridialog.cpp
new file mode 100644
index 0000000000..803a3c9ddb
--- /dev/null
+++ b/src/qt/openuridialog.cpp
@@ -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()));
+}