diff --git a/src/lib/popupwindow/popuplocationbar.h b/src/lib/popupwindow/popuplocationbar.h --- a/src/lib/popupwindow/popuplocationbar.h +++ b/src/lib/popupwindow/popuplocationbar.h @@ -46,6 +46,7 @@ public Q_SLOTS: void showUrl(const QUrl &url); void showSiteIcon(); + void setPrivacyState(bool state); private: PopupWebView* m_view; diff --git a/src/lib/popupwindow/popuplocationbar.cpp b/src/lib/popupwindow/popuplocationbar.cpp --- a/src/lib/popupwindow/popuplocationbar.cpp +++ b/src/lib/popupwindow/popuplocationbar.cpp @@ -106,5 +106,14 @@ void PopupLocationBar::showSiteIcon() { - m_siteIcon->setIcon(m_view->icon()); + QIcon icon = IconProvider::emptyWebIcon(); + if (property("secured").toBool()) { + icon = QIcon::fromTheme(QSL("document-encrypted"), icon); + } + m_siteIcon->setIcon(QIcon(icon.pixmap(16))); +} + +void PopupLocationBar::setPrivacyState(bool state) +{ + setProperty("secured", QVariant(state)); } diff --git a/src/lib/popupwindow/popupwindow.cpp b/src/lib/popupwindow/popupwindow.cpp --- a/src/lib/popupwindow/popupwindow.cpp +++ b/src/lib/popupwindow/popupwindow.cpp @@ -143,6 +143,7 @@ connect(m_view, &WebView::loadStarted, this, &PopupWindow::loadStarted); connect(m_view, &WebView::loadProgress, this, &PopupWindow::loadProgress); connect(m_view, &WebView::loadFinished, this, &PopupWindow::loadFinished); + connect(m_view, &WebView::privacyChanged, m_locationBar, &PopupLocationBar::setPrivacyState); auto pageChanged = [this](WebPage *page) { connect(page, &WebPage::linkHovered, this, &PopupWindow::showStatusBarMessage);