From 898cbf9f8036cbfd040f9c16f3f5013bca6f6ff7 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Sun, 25 Mar 2012 16:51:59 +0200 Subject: Add passwords exceptions management widget --- src/CMakeLists.txt | 2 + src/settings/passexceptionswidget.cpp | 70 +++++++++++++++++++++++++++++++++++ src/settings/passexceptionswidget.h | 53 ++++++++++++++++++++++++++ src/settings/password_exceptions.ui | 55 +++++++++++++++++++++++++++ src/settings/privacywidget.cpp | 12 +++++- 5 files changed, 190 insertions(+), 2 deletions(-) create mode 100644 src/settings/passexceptionswidget.cpp create mode 100644 src/settings/passexceptionswidget.h create mode 100644 src/settings/password_exceptions.ui (limited to 'src') 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 +* +* +* 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 . +* +* ============================================================ */ + + +// 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 +* +* +* 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 . +* +* ============================================================ */ + + +#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 + + +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 @@ + + + PassExceptions + + + + 0 + 0 + 400 + 300 + + + + Password Exceptions + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Remove one + + + + + + + Remove all + + + + + + + + + + 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 +#include + // Qt Includes #include @@ -118,5 +125,6 @@ void PrivacyWidget::launchCookieSettings() void PrivacyWidget::showPassExceptions() { - kDebug() << "PASS EXCEPTIONS"; + PassExWidget *widg = new PassExWidget; + widg->show(); } -- cgit v1.2.1