aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2017-12-20 14:57:07 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2017-12-20 14:57:07 +0100
commitf66090da906348aea769173c2d2333015a898c84 (patch)
tree9a22d7ea632f4b16b604aed4565dbeb28bc4727e /src/lib
parentCan now open links in new tab (diff)
downloadsmolbote-f66090da906348aea769173c2d2333015a898c84.tar.xz
Added SSL cert warnings
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/navigation/urllineedit.cpp24
-rw-r--r--src/lib/navigation/urllineedit.h6
2 files changed, 28 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();
diff --git a/src/lib/navigation/urllineedit.h b/src/lib/navigation/urllineedit.h
index 19be2d2..cef0830 100644
--- a/src/lib/navigation/urllineedit.h
+++ b/src/lib/navigation/urllineedit.h
@@ -15,6 +15,7 @@
#include <QAction>
class QMenu;
+class QLabel;
class UrlLineEdit : public QLineEdit
{
Q_OBJECT
@@ -30,6 +31,7 @@ signals:
public slots:
void setUrl(const QUrl &url);
+ void showSslError(const QString &message);
protected:
void focusInEvent(QFocusEvent *event);
@@ -48,6 +50,10 @@ private:
QAction *m_sslAction = nullptr;
QAction *m_pageAction = nullptr;
+ // ssl menu
+ QMenu *m_sslMenu;
+ QLabel *m_sslLabel;
+
QMenu *m_menu;
QListWidget *listWidget;
};