summaryrefslogtreecommitdiff
path: root/src/urlbar
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2011-07-05 00:35:41 +0200
committerAndrea Diamantini <adjam7@gmail.com>2011-07-18 11:32:09 +0200
commit133b8a7106b716937e24c7b47306ff8ac02efd6b (patch)
tree90551bc2d644ce3e8318dfbbd9df842a3d910810 /src/urlbar
parentBetter notify SSL infos (diff)
downloadrekonq-133b8a7106b716937e24c7b47306ff8ac02efd6b.tar.xz
Added SSL Widget, first version
Diffstat (limited to 'src/urlbar')
-rw-r--r--src/urlbar/sslwidget.cpp137
-rw-r--r--src/urlbar/sslwidget.h52
2 files changed, 189 insertions, 0 deletions
diff --git a/src/urlbar/sslwidget.cpp b/src/urlbar/sslwidget.cpp
new file mode 100644
index 00000000..99e778c3
--- /dev/null
+++ b/src/urlbar/sslwidget.cpp
@@ -0,0 +1,137 @@
+/* ============================================================
+*
+* This file is a part of the rekonq project
+*
+* Copyright (C) 2011 by Andrea Diamantini <adjam7 at gmail dot com>
+*
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+* ============================================================ */
+
+
+// Auto Includes
+#include "sslwidget.h"
+#include "sslwidget.moc"
+
+// Local includes
+#include "application.h"
+#include "iconmanager.h"
+#include "mainwindow.h"
+#include "webtab.h"
+
+// KDE Includes
+
+// Qt Includes
+#include <QtGui/QDialogButtonBox>
+#include <QtGui/QFormLayout>
+#include <QtGui/QLabel>
+#include <QtGui/QPushButton>
+
+
+SSLWidget::SSLWidget(const QUrl &url, const WebSslInfo &info, QWidget *parent)
+ : QMenu(parent)
+{
+ setAttribute(Qt::WA_DeleteOnClose);
+ setMinimumWidth(500);
+
+ QFormLayout *layout = new QFormLayout(this);
+
+ QLabel *l;
+
+ // Title
+ QLabel *title = new QLabel(this);
+ title->setText( QL1S("<h4>") + url.toString() + QL1S("</h4>") );
+ title->setAlignment(Qt::AlignCenter);
+ layout->addRow(title);
+
+ QLabel *u = new QLabel(this);
+ u->setText( info.url().toString() );
+ layout->addRow(u);
+
+ QLabel *hAdd = new QLabel(this);
+ hAdd->setText( QL1S("Peer Address: ") + info.peerAddress().toString() );
+ layout->addRow(hAdd);
+
+ QLabel *pAdd = new QLabel(this);
+ pAdd->setText( QL1S("Parent Address: ") + info.parentAddress().toString() );
+ layout->addRow(pAdd);
+
+ QLabel *cip = new QLabel(this);
+ cip->setText( QL1S("Cipher: ") + info.ciphers() );
+ layout->addRow(cip);
+
+ QLabel *pr = new QLabel(this);
+ pr->setText( QL1S("Protocol: ") + info.protocol() );
+ layout->addRow(pr);
+
+ QLabel *epr = new QLabel(this);
+ epr->setText( QL1S("CA errors: ") + info.certificateErrors() );
+ layout->addRow(epr);
+
+ QList<QSslCertificate> caList = info.certificateChain();
+ Q_FOREACH(const QSslCertificate &cert, caList)
+ {
+ QLabel *a = new QLabel(this);
+ a->setText( QL1S("ORGANIZATION: ") + cert.issuerInfo(QSslCertificate::Organization) );
+ layout->addRow(a);
+
+ QLabel *b = new QLabel(this);
+ b->setText( QL1S("CN: ") + cert.issuerInfo(QSslCertificate::CommonName) );
+ layout->addRow(b);
+
+ QLabel *c = new QLabel(this);
+ c->setText( QL1S("LOCALITY NAME: ") + cert.issuerInfo(QSslCertificate::LocalityName) );
+ layout->addRow(c);
+
+ QLabel *d = new QLabel(this);
+ d->setText( QL1S("ORGANIZATION UNIT NAME: ") + cert.issuerInfo(QSslCertificate::OrganizationalUnitName) );
+ layout->addRow(d);
+
+ QLabel *e = new QLabel(this);
+ e->setText( QL1S("COUNTRY NAME: ") + cert.issuerInfo(QSslCertificate::CountryName) );
+ layout->addRow(e);
+
+ QLabel *f = new QLabel(this);
+ f->setText( QL1S("STATE OR PROVINCE NAME: ") + cert.issuerInfo(QSslCertificate::StateOrProvinceName) );
+ layout->addRow(f);
+ }
+
+// ----------------------------------------------------------------
+ l = new QLabel(this);
+ l->setText( QL1S("<h4>") + i18n("Site Information") + QL1S("</h4>") );
+ layout->addRow(l);
+
+ setLayout(layout);
+}
+
+
+void SSLWidget::showAt(const QPoint &pos)
+{
+ adjustSize();
+
+ QPoint p(pos.x() - width(), pos.y() + 10);
+ move(p);
+ show();
+}
+
+
+void SSLWidget::accept()
+{
+
+ close();
+}
diff --git a/src/urlbar/sslwidget.h b/src/urlbar/sslwidget.h
new file mode 100644
index 00000000..4e36d364
--- /dev/null
+++ b/src/urlbar/sslwidget.h
@@ -0,0 +1,52 @@
+/* ============================================================
+*
+* This file is a part of the rekonq project
+*
+* Copyright (C) 2011 by Andrea Diamantini <adjam7 at gmail dot com>
+*
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
+* ============================================================ */
+
+
+#ifndef SSL_WIDGET_H
+#define SSL_WIDGET_H
+
+
+// Local Includes
+#include "websslinfo.h"
+
+// Qt Includes
+#include <QtGui/QMenu>
+#include <QtCore/QUrl>
+
+
+class SSLWidget : public QMenu
+{
+ Q_OBJECT
+
+public:
+ SSLWidget(const QUrl &url, const WebSslInfo &info, QWidget *parent = 0);
+
+ void showAt(const QPoint &pos);
+
+private Q_SLOTS:
+ void accept();
+};
+
+#endif // SSL_WIDGET_H