From f66090da906348aea769173c2d2333015a898c84 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Wed, 20 Dec 2017 14:57:07 +0100 Subject: Added SSL cert warnings --- src/lib/navigation/urllineedit.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/lib/navigation/urllineedit.cpp') diff --git a/src/lib/navigation/urllineedit.cpp b/src/lib/navigation/urllineedit.cpp index cf33939..5d20cef 100644 --- a/src/lib/navigation/urllineedit.cpp +++ b/src/lib/navigation/urllineedit.cpp @@ -15,14 +15,28 @@ #include +// ssl menu +#include + UrlLineEdit::UrlLineEdit(QWidget *parent) : QLineEdit(parent) { setPlaceholderText(tr("Enter address")); - // test action - m_sslAction = addAction(style()->standardIcon(QStyle::SP_ComputerIcon), QLineEdit::LeadingPosition); + // ssl menu + m_sslMenu = new QMenu(this); + m_sslLabel = new QLabel(m_sslMenu); + QWidgetAction *sslErrorAction = new QWidgetAction(m_sslMenu); + sslErrorAction->setDefaultWidget(m_sslLabel); + m_sslMenu->addAction(sslErrorAction); + + m_sslAction = addAction(style()->standardIcon(QStyle::SP_DriveNetIcon), QLineEdit::LeadingPosition); m_sslAction->setToolTip(tr("TODO: Display SSL Status popup here")); + m_sslAction->setMenu(m_sslMenu); + + connect(m_sslAction, &QAction::triggered, this, [this]() { + m_sslMenu->exec(this->mapToGlobal(QPoint(0, height()))); + }); QAction *completerAction = addAction(style()->standardIcon(QStyle::SP_TitleBarMinButton), QLineEdit::TrailingPosition); @@ -105,6 +119,12 @@ void UrlLineEdit::setUrl(const QUrl &url) setText(urlText); } +void UrlLineEdit::showSslError(const QString &message) +{ + m_sslLabel->setText(message); + m_sslAction->trigger(); +} + void UrlLineEdit::focusInEvent(QFocusEvent *event) { clearTextFormat(); -- cgit v1.2.1