aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2021-04-20 09:34:29 +0200
committerEike Ziller <eike.ziller@qt.io>2021-04-20 09:38:43 +0000
commit0bc8d6d33bc36871f9ed9ce264b90bef95ca540e (patch)
tree6d772c07e3eacf4bee6edc5dabfd227ad9fe8875
parentaa4ad4b8525a61598978fa0eb97f5a671a2fb20c (diff)
TestBrowser: Add Browse button
For opening local files. Change-Id: I556954542894a4f399b46664f60dc94e21cabb64 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
-rw-r--r--tests/manual/browser/main.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/tests/manual/browser/main.cpp b/tests/manual/browser/main.cpp
index 4ad7735..2f28a7d 100644
--- a/tests/manual/browser/main.cpp
+++ b/tests/manual/browser/main.cpp
@@ -27,12 +27,14 @@
#include <QAction>
#include <QApplication>
+#include <QFileDialog>
#include <QHBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QLoggingCategory>
#include <QNetworkAccessManager>
#include <QNetworkReply>
+#include <QPushButton>
#include <QStatusBar>
#include <QVBoxLayout>
#include <QWidget>
@@ -71,6 +73,8 @@ BrowserWindow::BrowserWindow()
urlLayout->addWidget(new QLabel(tr("URL:")));
auto urlInput = new QLineEdit;
urlLayout->addWidget(urlInput);
+ auto browseButton = new QPushButton(tr("Browse..."));
+ urlLayout->addWidget(browseButton);
centerLayout->addLayout(urlLayout);
auto htmlWidget = new QLiteHtmlWidget;
@@ -101,12 +105,14 @@ BrowserWindow::BrowserWindow()
connect(htmlWidget, &QLiteHtmlWidget::linkHighlighted, statusBar, [statusBar](const QUrl &url) {
statusBar->showMessage(url.toString());
});
- connect(urlInput, &QLineEdit::returnPressed, htmlWidget, [this, htmlWidget, urlInput] {
+
+ const auto loadUrl = [this, htmlWidget, urlInput, browseButton] {
urlInput->setEnabled(false);
+ browseButton->setEnabled(false);
const QUrl url = QUrl(urlInput->text().trimmed());
qCDebug(log) << "Url requested:" << url;
QNetworkReply *reply = m_nam.get(QNetworkRequest(url));
- connect(reply, &QNetworkReply::finished, this, [htmlWidget, urlInput, reply] {
+ connect(reply, &QNetworkReply::finished, this, [htmlWidget, urlInput, browseButton, reply] {
qCDebug(log) << "Url finished:" << reply->url() << reply->error();
if (reply->error() == QNetworkReply::NoError) {
const QByteArray data = reply->readAll();
@@ -114,8 +120,17 @@ BrowserWindow::BrowserWindow()
htmlWidget->setHtml(QString::fromUtf8(data));
}
urlInput->setEnabled(true);
+ browseButton->setEnabled(true);
reply->deleteLater();
});
+ };
+ connect(urlInput, &QLineEdit::returnPressed, this, loadUrl);
+ connect(browseButton, &QPushButton::clicked, this, [this, urlInput, loadUrl] {
+ const QUrl url = QFileDialog::getOpenFileUrl(this, tr("Open File"));
+ if (url.isValid()) {
+ urlInput->setText(url.toString());
+ loadUrl();
+ }
});
QAction *action;