diff options
author | Jüri Valdmann <juri.valdmann@qt.io> | 2017-06-12 15:57:31 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@qt.io> | 2017-07-19 10:16:37 +0000 |
commit | a71efecbcc6f714d619a922a0eaa665a3c68a3b2 (patch) | |
tree | 8d6770e40c83a0b4ef3f6cbff4f7d8a1adf77324 /examples/webenginewidgets/simplebrowser/webpopupwindow.cpp | |
parent | ae71f77d5f680d8b40c9598321a687318a7ff0b2 (diff) | |
download | qtwebengine-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.cpp | 35 |
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(); } |