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 /src | |
| parent | Let settings dialog to be NON modal (diff) | |
| download | rekonq-898cbf9f8036cbfd040f9c16f3f5013bca6f6ff7.tar.xz | |
Add passwords exceptions management widget
Diffstat (limited to 'src')
| -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();  } | 
