/* * Bittorrent Client using Qt4 and libtorrent. * Copyright (C) 2010 Christophe Dumez * * 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) any later version. * * 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * In addition, as a special exception, the copyright holders give permission to * link this program with the OpenSSL project's "OpenSSL" library (or with * modified versions of it that use the same license as the "OpenSSL" library), * and distribute the linked executables. You must obey the GNU General Public * License in all respects for all of the code used other than "OpenSSL". If you * modify file(s), you may extend this exception to your version of the file(s), * but you are not obligated to do so. If you do not wish to do so, delete this * exception statement from your version. * * Contact : chris@qbittorrent.org */ #ifndef RSSSETTINGS_H #define RSSSETTINGS_H #include "qinisettings.h" class RssSettings { public: static bool isRSSEnabled() { QIniSettings settings("qBittorrent", "qBittorrent"); return settings.value(QString::fromUtf8("Preferences/RSS/RSSEnabled"), false).toBool(); } static void setRSSEnabled(bool enabled) { QIniSettings settings("qBittorrent", "qBittorrent"); settings.setValue(QString::fromUtf8("Preferences/RSS/RSSEnabled"), enabled); } static unsigned int getRSSRefreshInterval() { QIniSettings settings("qBittorrent", "qBittorrent"); return settings.value(QString::fromUtf8("Preferences/RSS/RSSRefresh"), 5).toUInt(); } static void setRSSRefreshInterval(uint interval) { QIniSettings settings("qBittorrent", "qBittorrent"); settings.setValue(QString::fromUtf8("Preferences/RSS/RSSRefresh"), interval); } static int getRSSMaxArticlesPerFeed() { QIniSettings settings("qBittorrent", "qBittorrent"); return settings.value(QString::fromUtf8("Preferences/RSS/RSSMaxArticlesPerFeed"), 50).toInt(); } static void setRSSMaxArticlesPerFeed(int nb) { QIniSettings settings("qBittorrent", "qBittorrent"); settings.setValue(QString::fromUtf8("Preferences/RSS/RSSMaxArticlesPerFeed"), nb); } static bool isRssDownloadingEnabled() { QIniSettings settings("qBittorrent", "qBittorrent"); return settings.value("Preferences/RSS/RssDownloading", true).toBool(); } static void setRssDownloadingEnabled(bool b) { QIniSettings settings("qBittorrent", "qBittorrent"); settings.setValue("Preferences/RSS/RssDownloading", b); } static QStringList getRssFeedsUrls() { QIniSettings settings("qBittorrent", "qBittorrent"); return settings.value("Rss/streamList").toStringList(); } static void setRssFeedsUrls(const QStringList &rssFeeds) { QIniSettings settings("qBittorrent", "qBittorrent"); settings.setValue("Rss/streamList", rssFeeds); } static QStringList getRssFeedsAliases() { QIniSettings settings("qBittorrent", "qBittorrent"); return settings.value("Rss/streamAlias").toStringList(); } static void setRssFeedsAliases(const QStringList &rssAliases) { QIniSettings settings("qBittorrent", "qBittorrent"); settings.setValue("Rss/streamAlias", rssAliases); } static QList getHostNameCookies(const QString &host_name) { QIniSettings qBTRSS("qBittorrent", "qBittorrent-rss"); QMap hosts_table = qBTRSS.value("hosts_cookies", QMap()).toMap(); if(!hosts_table.contains(host_name)) return QList(); QByteArray raw_cookies = hosts_table.value(host_name).toByteArray(); return raw_cookies.split(':'); } static void setHostNameCookies(QString host_name, const QList &cookies) { QIniSettings qBTRSS("qBittorrent", "qBittorrent-rss"); QMap hosts_table = qBTRSS.value("hosts_cookies", QMap()).toMap(); QByteArray raw_cookies = ""; foreach(const QByteArray& cookie, cookies) { raw_cookies += cookie + ":"; } if(raw_cookies.endsWith(":")) raw_cookies.chop(1); hosts_table.insert(host_name, raw_cookies); qBTRSS.setValue("hosts_cookies", hosts_table); } }; #endif // RSSSETTINGS_H