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();  }  | 
