diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2012-07-31 23:32:55 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2012-12-10 02:48:04 +0100 |
commit | ca30cfc23ec5fcfc0eec5a9874a6d70702c2f926 (patch) | |
tree | 0d9731a3a4569355ea367d9db94188b843ba9005 /src/useragent/useragentwidget.cpp | |
parent | Restore sync manager (diff) | |
download | rekonq-ca30cfc23ec5fcfc0eec5a9874a6d70702c2f926.tar.xz |
Restored User Agent Manager and cleaned up
Diffstat (limited to 'src/useragent/useragentwidget.cpp')
-rw-r--r-- | src/useragent/useragentwidget.cpp | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/useragent/useragentwidget.cpp b/src/useragent/useragentwidget.cpp new file mode 100644 index 00000000..92ba3ce4 --- /dev/null +++ b/src/useragent/useragentwidget.cpp @@ -0,0 +1,96 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2010-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/>. +* +* ============================================================ */ + + +// Self Includes +#include "useragentwidget.h" +#include "useragentwidget.moc" + +// KDE Includes +#include <KProtocolManager> + + +UserAgentWidget::UserAgentWidget(QWidget *parent) + : QWidget(parent) +{ + setupUi(this); + + connect(deleteButton, SIGNAL(clicked()), this, SLOT(deleteUserAgent())); + connect(deleteAllButton, SIGNAL(clicked()), this, SLOT(deleteAll())); + + KConfig config("kio_httprc", KConfig::NoGlobals); + + QStringList hosts = config.groupList(); + Q_FOREACH(const QString & host, hosts) + { + QStringList tmp; + tmp << host; + + KConfigGroup hostGroup(&config, host); + tmp << hostGroup.readEntry(QL1S("UserAgent"), QString()); + + QTreeWidgetItem *item = new QTreeWidgetItem(sitePolicyTreeWidget, tmp); + sitePolicyTreeWidget->addTopLevelItem(item); + } +} + + +void UserAgentWidget::deleteUserAgent() +{ + QTreeWidgetItem *item = sitePolicyTreeWidget->currentItem(); + if (!item) + return; + + sitePolicyTreeWidget->takeTopLevelItem(sitePolicyTreeWidget->indexOfTopLevelItem(item)); + + QString host = item->text(0); + + KConfig config("kio_httprc", KConfig::NoGlobals); + KConfigGroup group(&config, host); + if (group.exists()) + { + group.deleteGroup(); + KProtocolManager::reparseConfiguration(); + } +} + + +void UserAgentWidget::deleteAll() +{ + sitePolicyTreeWidget->clear(); + + KConfig config("kio_httprc", KConfig::NoGlobals); + + QStringList list = config.groupList(); + Q_FOREACH(const QString & groupName, list) + { + KConfigGroup group(&config, groupName); + group.deleteGroup(); + } + KConfigGroup group(&config, QString()); + group.deleteGroup(); + + KProtocolManager::reparseConfiguration(); +} |