diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2012-03-25 16:51:59 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2012-04-12 02:30:01 +0200 |
commit | 898cbf9f8036cbfd040f9c16f3f5013bca6f6ff7 (patch) | |
tree | 9fe7f606a255869682f1e7089ef149f8b8a36437 | |
parent | Let settings dialog to be NON modal (diff) | |
download | rekonq-898cbf9f8036cbfd040f9c16f3f5013bca6f6ff7.tar.xz |
Add passwords exceptions management widget
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/settings/passexceptionswidget.cpp | 70 | ||||
-rw-r--r-- | src/settings/passexceptionswidget.h | 53 | ||||
-rw-r--r-- | src/settings/password_exceptions.ui | 55 | ||||
-rw-r--r-- | src/settings/privacywidget.cpp | 12 |
5 files changed, 190 insertions, 2 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 14547b2b..ac4fa87b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -54,6 +54,7 @@ SET( rekonq_KDEINIT_SRCS settings/privacywidget.cpp settings/tabswidget.cpp settings/webkitwidget.cpp + settings/passexceptionswidget.cpp #---------------------------------------- bookmarks/bookmarkmanager.cpp bookmarks/bookmarkspanel.cpp @@ -116,6 +117,7 @@ KDE4_ADD_UI_FILES( rekonq_KDEINIT_SRCS settings/settings_webkit.ui settings/settings_advanced.ui settings/settings_privacy.ui + settings/password_exceptions.ui # ---------------------------------------- adblock/settings_adblock.ui adblock/blocked_elements.ui diff --git a/src/settings/passexceptionswidget.cpp b/src/settings/passexceptionswidget.cpp new file mode 100644 index 00000000..8813c178 --- /dev/null +++ b/src/settings/passexceptionswidget.cpp @@ -0,0 +1,70 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2012 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/>. +* +* ============================================================ */ + + +// Self Includes +#include "passexceptionswidget.h" +#include "passexceptionswidget.moc" + +// Auto Includes +#include "rekonq.h" + + +PassExWidget::PassExWidget(QWidget *parent) + : QWidget(parent) +{ + setupUi(this); + + setAttribute(Qt::WA_DeleteOnClose, true); + + connect(removeOneButton, SIGNAL(clicked()), this, SLOT(removeOne())); + connect(removeAllButton, SIGNAL(clicked()), this, SLOT(removeAll())); + + QStringList exList = ReKonfig::walletBlackList(); + Q_FOREACH(const QString &str, exList) + { + QListWidgetItem *item = new QListWidgetItem(str, listWidget); + listWidget->addItem(item); + } +} + + +void PassExWidget::removeOne() +{ + QString item = listWidget->takeItem(listWidget->currentRow())->text(); + + QStringList exList = ReKonfig::walletBlackList(); + exList.removeOne(item); + ReKonfig::setWalletBlackList(exList); +} + + +void PassExWidget::removeAll() +{ + listWidget->clear(); + + QStringList clearList; + ReKonfig::setWalletBlackList(clearList); +} diff --git a/src/settings/passexceptionswidget.h b/src/settings/passexceptionswidget.h new file mode 100644 index 00000000..6b02c4e6 --- /dev/null +++ b/src/settings/passexceptionswidget.h @@ -0,0 +1,53 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2012 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 PASS_EX_WIDGET_H +#define PASS_EX_WIDGET_H + + +// Rekonq Includes +#include "rekonq_defines.h" + +// Ui Includes +#include "ui_password_exceptions.h" + +// Qt Includes +#include <QWidget> + + +class PassExWidget : public QWidget, private Ui::PassExceptions +{ + Q_OBJECT + +public: + PassExWidget(QWidget *parent = 0); + +private Q_SLOTS: + void removeOne(); + void removeAll(); +}; + +#endif // PASS_EX_WIDGET_H diff --git a/src/settings/password_exceptions.ui b/src/settings/password_exceptions.ui new file mode 100644 index 00000000..97cf621b --- /dev/null +++ b/src/settings/password_exceptions.ui @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PassExceptions</class> + <widget class="QWidget" name="PassExceptions"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Password Exceptions</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QListWidget" name="listWidget"/> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="removeOneButton"> + <property name="text"> + <string>Remove one</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="removeAllButton"> + <property name="text"> + <string>Remove all</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/src/settings/privacywidget.cpp b/src/settings/privacywidget.cpp index 105fab60..5fcd6b83 100644 --- a/src/settings/privacywidget.cpp +++ b/src/settings/privacywidget.cpp @@ -24,13 +24,20 @@ * ============================================================ */ -// Local Includes +// Self Includes #include "privacywidget.h" #include "privacywidget.moc" +// Local Includes +#include "passexceptionswidget.h" + // Auto Includes #include "rekonq.h" +// KDE Includes +#include <KDialog> +#include <KPushButton> + // Qt Includes #include <QProcess> @@ -118,5 +125,6 @@ void PrivacyWidget::launchCookieSettings() void PrivacyWidget::showPassExceptions() { - kDebug() << "PASS EXCEPTIONS"; + PassExWidget *widg = new PassExWidget; + widg->show(); } |