summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/webpopupwindow.cpp')
-rw-r--r--examples/webenginewidgets/simplebrowser/webpopupwindow.cpp35
1 files changed, 14 insertions, 21 deletions
diff --git a/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp b/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp
index 8146dcfb7..63246ac1d 100644
--- a/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp
+++ b/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp
@@ -38,15 +38,17 @@
**
****************************************************************************/
-#include "urllineedit.h"
#include "webpage.h"
#include "webpopupwindow.h"
#include "webview.h"
+#include <QAction>
#include <QIcon>
+#include <QLineEdit>
#include <QVBoxLayout>
WebPopupWindow::WebPopupWindow(QWebEngineProfile *profile)
- : m_addressBar(new UrlLineEdit(this))
+ : m_urlLineEdit(new QLineEdit(this))
+ , m_favAction(new QAction(this))
, m_view(new WebView(this))
{
setAttribute(Qt::WA_DeleteOnClose);
@@ -55,31 +57,29 @@ WebPopupWindow::WebPopupWindow(QWebEngineProfile *profile)
QVBoxLayout *layout = new QVBoxLayout;
layout->setMargin(0);
setLayout(layout);
- layout->addWidget(m_addressBar);
+ layout->addWidget(m_urlLineEdit);
layout->addWidget(m_view);
m_view->setPage(new WebPage(profile, m_view));
m_view->setFocus();
- m_addressBar->setReadOnly(true);
- m_addressBar->setFavIcon(QIcon(QStringLiteral(":defaulticon.png")));
+
+ m_urlLineEdit->setReadOnly(true);
+ m_urlLineEdit->addAction(m_favAction, QLineEdit::LeadingPosition);
connect(m_view, &WebView::titleChanged, this, &QWidget::setWindowTitle);
- connect(m_view, &WebView::urlChanged, this, &WebPopupWindow::setUrl);
- connect(m_view->page(), &WebPage::iconChanged, this, &WebPopupWindow::handleIconChanged);
+ connect(m_view, &WebView::urlChanged, [this](const QUrl &url) {
+ m_urlLineEdit->setText(url.toDisplayString());
+ });
+ connect(m_view, &WebView::favIconChanged, m_favAction, &QAction::setIcon);
connect(m_view->page(), &WebPage::geometryChangeRequested, this, &WebPopupWindow::handleGeometryChangeRequested);
connect(m_view->page(), &WebPage::windowCloseRequested, this, &QWidget::close);
}
-QWebEngineView *WebPopupWindow::view() const
+WebView *WebPopupWindow::view() const
{
return m_view;
}
-void WebPopupWindow::setUrl(const QUrl &url)
-{
- m_addressBar->setUrl(url);
-}
-
void WebPopupWindow::handleGeometryChangeRequested(const QRect &newGeometry)
{
m_view->setMinimumSize(newGeometry.width(), newGeometry.height());
@@ -87,12 +87,5 @@ void WebPopupWindow::handleGeometryChangeRequested(const QRect &newGeometry)
// let the layout do the magic
resize(0, 0);
show();
-}
-
-void WebPopupWindow::handleIconChanged(const QIcon &icon)
-{
- if (icon.isNull())
- m_addressBar->setFavIcon(QIcon(QStringLiteral(":defaulticon.png")));
- else
- m_addressBar->setFavIcon(icon);
+ m_view->setFocus();
}