From bd9c21e493a4d8337930ae9c722753d5b1188840 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Tue, 20 Oct 2020 13:57:06 +0200 Subject: Move styled icons from page to view Styles are bound to widgets, add styled action's icon on QWebEngineView::pageAction(). Change-Id: Ica7b1688c34c51e746a3b4707a6181c0d45c882a Reviewed-by: Qt CI Bot Reviewed-by: Allan Sandfeld Jensen --- src/webenginewidgets/api/qwebenginepage.cpp | 10 ---------- src/webenginewidgets/api/qwebengineview.cpp | 28 ++++++++++++++++++++++++++++ src/webenginewidgets/api/qwebengineview_p.h | 1 + 3 files changed, 29 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 1d2fd9602..26e921773 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -85,7 +85,6 @@ #include #include #endif -#include #include #include @@ -1065,29 +1064,21 @@ QAction *QWebEnginePage::action(WebAction action) const return d->actions[action]; QString text; - QIcon icon; - QStyle *style = d->view ? d->view->style() : qApp->style(); - switch (action) { case Back: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Back); - icon = style->standardIcon(QStyle::SP_ArrowBack); break; case Forward: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Forward); - icon = style->standardIcon(QStyle::SP_ArrowForward); break; case Stop: text = tr("Stop"); - icon = style->standardIcon(QStyle::SP_BrowserStop); break; case Reload: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Reload); - icon = style->standardIcon(QStyle::SP_BrowserReload); break; case ReloadAndBypassCache: text = tr("Reload and Bypass Cache"); - icon = style->standardIcon(QStyle::SP_BrowserReload); break; case Cut: text = RenderViewContextMenuQt::getMenuItemName(RenderViewContextMenuQt::ContextMenuItem::Cut); @@ -1218,7 +1209,6 @@ QAction *QWebEnginePage::action(WebAction action) const QAction *a = new QAction(const_cast(this)); a->setText(text); a->setData(action); - a->setIcon(icon); connect(a, SIGNAL(triggered(bool)), this, SLOT(_q_webActionTriggered(bool))); diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index f0f8b586e..5e8d4559c 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -75,6 +75,7 @@ #if QT_CONFIG(messagebox) # include #endif +#include QT_BEGIN_NAMESPACE @@ -405,6 +406,33 @@ void QWebEngineViewPrivate::bindPageAndWidget( } } +QIcon QWebEngineViewPrivate::webActionIcon(QWebEnginePage::WebAction action) +{ + Q_Q(QWebEngineView); + QIcon icon; + QStyle *style = q->style(); + + switch (action) { + case QWebEnginePage::Back: + icon = style->standardIcon(QStyle::SP_ArrowBack); + break; + case QWebEnginePage::Forward: + icon = style->standardIcon(QStyle::SP_ArrowForward); + break; + case QWebEnginePage::Stop: + icon = style->standardIcon(QStyle::SP_BrowserStop); + break; + case QWebEnginePage::Reload: + icon = style->standardIcon(QStyle::SP_BrowserReload); + break; + case QWebEnginePage::ReloadAndBypassCache: + icon = style->standardIcon(QStyle::SP_BrowserReload); + break; + default: + break; + } + return icon; +} /*! \fn QWebEngineView::renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode) \since 5.6 diff --git a/src/webenginewidgets/api/qwebengineview_p.h b/src/webenginewidgets/api/qwebengineview_p.h index ddebebdf9..ddd4506e2 100644 --- a/src/webenginewidgets/api/qwebengineview_p.h +++ b/src/webenginewidgets/api/qwebengineview_p.h @@ -88,6 +88,7 @@ public: static void bindPageAndView(QWebEnginePage *page, QWebEngineView *view); static void bindPageAndWidget(QWebEnginePage *page, QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget *widget); + QIcon webActionIcon(QWebEnginePage::WebAction action); QWebEnginePage *page; bool m_dragEntered; -- cgit v1.2.3