From ae8aceced59f5d8721e986e7fc1c66c9026e87df Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Mon, 15 Mar 2010 00:38:50 +0100 Subject: Created a new Network Widget containing Cache, Cookies & Proxy Settings. This for multiple purposes: - clean a bit our settings dialog. Network settings are usually the less used - Provide a unique place where managing the settings network related. This to implement (one day) some better Ui to manage them. This commit also fixes all the handling with the network & the adblock widgets related to updating buttons and settings Ui at the beginning. --- src/settings/networkwidget.cpp | 98 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 src/settings/networkwidget.cpp (limited to 'src/settings/networkwidget.cpp') diff --git a/src/settings/networkwidget.cpp b/src/settings/networkwidget.cpp new file mode 100644 index 00000000..2f5948cf --- /dev/null +++ b/src/settings/networkwidget.cpp @@ -0,0 +1,98 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2010 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 "networkwidget.h" +#include "networkwidget.moc" + +// KDE Includes +#include +#include +#include + +// Qt Includes +#include + + +NetworkWidget::NetworkWidget(QWidget *parent) + : QWidget(parent) + , _cacheModule(0) + , _cookiesModule(0) + , _proxyModule(0) + , _changed(false) +{ + QVBoxLayout *l = new QVBoxLayout(this); + l->setMargin(0); + l->setSpacing(0); + + KTabWidget *tabWidget = new KTabWidget(this); + l->addWidget(tabWidget); + + KCModuleInfo cacheInfo("cache.desktop"); + _cacheModule = new KCModuleProxy(cacheInfo,parent); + tabWidget->addTab( _cacheModule, i18n(cacheInfo.moduleName().toLocal8Bit()) ); + + KCModuleInfo cookiesInfo("cookies.desktop"); + _cookiesModule = new KCModuleProxy(cookiesInfo,parent); + tabWidget->addTab( _cookiesModule, i18n(cookiesInfo.moduleName().toLocal8Bit()) ); + + KCModuleInfo proxyInfo("proxy.desktop"); + _proxyModule = new KCModuleProxy(proxyInfo,parent); + tabWidget->addTab( _proxyModule, i18n(proxyInfo.moduleName().toLocal8Bit()) ); + + connect(_cacheModule, SIGNAL( changed(bool) ), this, SLOT( hasChanged() ) ); + connect(_cookiesModule, SIGNAL( changed(bool) ), this, SLOT( hasChanged() ) ); + connect(_proxyModule, SIGNAL( changed(bool) ), this, SLOT( hasChanged() ) ); +} + + +NetworkWidget::~NetworkWidget() +{ + delete _cacheModule; + delete _cookiesModule; + delete _proxyModule; +} + + +void NetworkWidget::save() +{ + _cookiesModule->save(); + _proxyModule->save(); + _cacheModule->save(); +} + + +void NetworkWidget::hasChanged() +{ + _changed = true; + emit changed(true); +} + + +bool NetworkWidget::changed() +{ + return _changed; +} -- cgit v1.2.1 From 288b838f75f91205d81d5d46201eae90e8abd51a Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Wed, 24 Mar 2010 10:51:58 +0100 Subject: This commit should finally fix settings handling --- src/settings/networkwidget.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/settings/networkwidget.cpp') diff --git a/src/settings/networkwidget.cpp b/src/settings/networkwidget.cpp index 2f5948cf..54f6e068 100644 --- a/src/settings/networkwidget.cpp +++ b/src/settings/networkwidget.cpp @@ -82,6 +82,9 @@ void NetworkWidget::save() _cookiesModule->save(); _proxyModule->save(); _cacheModule->save(); + + _changed = false; + emit changed(false); } -- cgit v1.2.1