summaryrefslogtreecommitdiff
path: root/examples/webenginewidgets/simplebrowser/webpopupwindow.cpp
diff options
context:
space:
mode:
authorJüri Valdmann <juri.valdmann@qt.io>2017-06-12 15:57:31 +0200
committerKai Koehne <kai.koehne@qt.io>2017-07-19 10:16:37 +0000
commita71efecbcc6f714d619a922a0eaa665a3c68a3b2 (patch)
tree8d6770e40c83a0b4ef3f6cbff4f7d8a1adf77324 /examples/webenginewidgets/simplebrowser/webpopupwindow.cpp
parentae71f77d5f680d8b40c9598321a687318a7ff0b2 (diff)
downloadqtwebengine-a71efecbcc6f714d619a922a0eaa665a3c68a3b2.tar.gz
Update Simple Browser example
- Accept downloads and add a downloads list. - Fix toolbar icons being pixelated on hidpi screens by - enabling attribute AA_UseHighDpiPixmaps, and - replacing the 22x22 icons with 32x32 versions. - Move favicon selection to WebView to reduce duplication. - Replace UrlLineEdit with a standard QLineEdit using a QAction for the favicon and setClearButtonEnabled(true) for the clear button. - Fix bug where the "File -> New Tab" action would create background tabs because the QAction::triggered(bool) signal was connected to the TabWidget::createTab(bool) slot with the bool argument having a completely different meaning between the two. - Make the toolbar unmovable. Nobody wants to move the toolbar. - Add tooltips to toolbar buttons. - Add tooltips to the tab bar (page titles). - Stop adding icons to menu items only to disable them right after. Task-number: QTBUG-60655 Change-Id: I10cc0fa82dbf39281bbdbbf9ef901e1b26402f80 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
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();
}