diff options
Diffstat (limited to 'examples/webenginewidgets/simplebrowser/tabwidget.cpp')
-rw-r--r-- | examples/webenginewidgets/simplebrowser/tabwidget.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/examples/webenginewidgets/simplebrowser/tabwidget.cpp b/examples/webenginewidgets/simplebrowser/tabwidget.cpp index 3c6269f52..a7f855c2a 100644 --- a/examples/webenginewidgets/simplebrowser/tabwidget.cpp +++ b/examples/webenginewidgets/simplebrowser/tabwidget.cpp @@ -80,7 +80,11 @@ void TabWidget::handleCurrentChanged(int index) emit titleChanged(view->title()); emit loadProgress(view->loadProgress()); emit urlChanged(view->url()); - emit iconChanged(view->icon()); + QIcon pageIcon = view->page()->icon(); + if (!pageIcon.isNull()) + emit iconChanged(pageIcon); + else + emit iconChanged(QIcon(QStringLiteral(":defaulticon.png"))); emit webActionEnabledChanged(QWebEnginePage::Back, view->isWebActionEnabled(QWebEnginePage::Back)); emit webActionEnabledChanged(QWebEnginePage::Forward, view->isWebActionEnabled(QWebEnginePage::Forward)); emit webActionEnabledChanged(QWebEnginePage::Stop, view->isWebActionEnabled(QWebEnginePage::Stop)); @@ -89,7 +93,7 @@ void TabWidget::handleCurrentChanged(int index) emit titleChanged(QString()); emit loadProgress(0); emit urlChanged(QUrl()); - emit iconChanged(QIcon()); + emit iconChanged(QIcon(QStringLiteral(":defaulticon.png"))); emit webActionEnabledChanged(QWebEnginePage::Back, false); emit webActionEnabledChanged(QWebEnginePage::Forward, false); emit webActionEnabledChanged(QWebEnginePage::Stop, false); @@ -166,12 +170,14 @@ void TabWidget::setupView(WebView *webView) if (currentIndex() == indexOf(webView)) emit linkHovered(url); }); - connect(webView, &WebView::iconChanged, [this, webView](const QIcon& icon) { + connect(webPage, &WebPage::iconChanged, [this, webView](const QIcon &icon) { int index = indexOf(webView); + QIcon ico = icon.isNull() ? QIcon(QStringLiteral(":defaulticon.png")) : icon; + if (index != -1) - setTabIcon(index, icon); + setTabIcon(index, ico); if (currentIndex() == index) - emit iconChanged(icon); + emit iconChanged(ico); }); connect(webView, &WebView::webActionEnabledChanged, [this, webView](QWebEnginePage::WebAction action, bool enabled) { if (currentIndex() == indexOf(webView)) |