summaryrefslogtreecommitdiffstats
path: root/examples/qtconcurrent/imagescaling/downloaddialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qtconcurrent/imagescaling/downloaddialog.cpp')
-rw-r--r--examples/qtconcurrent/imagescaling/downloaddialog.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/examples/qtconcurrent/imagescaling/downloaddialog.cpp b/examples/qtconcurrent/imagescaling/downloaddialog.cpp
new file mode 100644
index 0000000000..c3ec550038
--- /dev/null
+++ b/examples/qtconcurrent/imagescaling/downloaddialog.cpp
@@ -0,0 +1,40 @@
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+#include "downloaddialog.h"
+#include "ui_downloaddialog.h"
+
+#include <QUrl>
+
+DownloadDialog::DownloadDialog(QWidget *parent) : QDialog(parent), ui(new Ui::DownloadDialog)
+{
+ ui->setupUi(this);
+
+ ui->urlLineEdit->setPlaceholderText(tr("Enter the URL of an image to download"));
+
+ connect(ui->addUrlButton, &QPushButton::clicked, this, [this] {
+ const auto text = ui->urlLineEdit->text();
+ if (!text.isEmpty()) {
+ ui->urlListWidget->addItem(text);
+ ui->urlLineEdit->clear();
+ }
+ });
+ connect(ui->urlListWidget, &QListWidget::itemSelectionChanged, this, [this] {
+ ui->removeUrlButton->setEnabled(!ui->urlListWidget->selectedItems().empty());
+ });
+ connect(ui->clearUrlsButton, &QPushButton::clicked, ui->urlListWidget, &QListWidget::clear);
+ connect(ui->removeUrlButton, &QPushButton::clicked, this,
+ [this] { qDeleteAll(ui->urlListWidget->selectedItems()); });
+}
+
+DownloadDialog::~DownloadDialog()
+{
+ delete ui;
+}
+
+QList<QUrl> DownloadDialog::getUrls() const
+{
+ QList<QUrl> urls;
+ for (auto row = 0; row < ui->urlListWidget->count(); ++row)
+ urls.push_back(QUrl(ui->urlListWidget->item(row)->text()));
+ return urls;
+}