summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2020-10-20 13:57:06 +0200
committerMichal Klocek <michal.klocek@qt.io>2020-11-23 12:54:56 +0100
commitbd9c21e493a4d8337930ae9c722753d5b1188840 (patch)
tree4bd56a8a734c7168982910ac8b92944418c9d843 /src
parent1358c8b7526adf48e10185271c7b1cc685c48bcd (diff)
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 <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp10
-rw-r--r--src/webenginewidgets/api/qwebengineview.cpp28
-rw-r--r--src/webenginewidgets/api/qwebengineview_p.h1
3 files changed, 29 insertions, 10 deletions
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 <QPrinter>
#include <QThread>
#endif
-#include <QStyle>
#include <QTimer>
#include <QUrl>
@@ -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<QWebEnginePage*>(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 <QMessageBox>
#endif
+#include <QStyle>
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;