aboutsummaryrefslogtreecommitdiff
path: root/src/lib/navigation/urllineedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/navigation/urllineedit.cpp')
-rw-r--r--src/lib/navigation/urllineedit.cpp24
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();