diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-12-20 14:57:07 +0100 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-12-20 14:57:07 +0100 |
commit | f66090da906348aea769173c2d2333015a898c84 (patch) | |
tree | 9a22d7ea632f4b16b604aed4565dbeb28bc4727e /src/lib/navigation/urllineedit.cpp | |
parent | Can now open links in new tab (diff) | |
download | smolbote-f66090da906348aea769173c2d2333015a898c84.tar.xz |
Added SSL cert warnings
Diffstat (limited to 'src/lib/navigation/urllineedit.cpp')
-rw-r--r-- | src/lib/navigation/urllineedit.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
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 <QWidgetAction> +// ssl menu +#include <QLabel> + 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(); |