diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2010-05-14 01:24:35 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2010-05-14 01:24:55 +0200 |
commit | 343a67e61ed6c85fc37a91cffa1926412cb097b7 (patch) | |
tree | 52f9e86dffece69c7dfb5bfe54a7a086cdc3f2fe | |
parent | Merge commit 'refs/merge-requests/2256' of git://gitorious.org/rekonq/mainlin... (diff) | |
parent | Move adblock rules conf file to appdata, to maintain central config file tiny (diff) | |
download | rekonq-343a67e61ed6c85fc37a91cffa1926412cb097b7.tar.xz |
Merge branch 'FixBlocks'
WARNING:
as we have a new adblock file, adblock will not work until
rekonq doesn't update subscriptions.
In some test installations, you can force rekonq doing it by removing
your $KDEHOME/share/config/rekonqrc file :)
-rw-r--r-- | src/adblock/adblockmanager.cpp | 11 | ||||
-rw-r--r-- | src/adblock/adblocknetworkreply.cpp | 5 | ||||
-rw-r--r-- | src/adblock/adblocknetworkreply.h | 2 | ||||
-rw-r--r-- | src/adblock/adblockrule.cpp | 37 | ||||
-rw-r--r-- | src/adblock/adblockrule.h | 3 | ||||
-rw-r--r-- | src/rekonq.kcfg | 167 | ||||
-rw-r--r-- | src/settings/adblockwidget.cpp | 6 |
7 files changed, 103 insertions, 128 deletions
diff --git a/src/adblock/adblockmanager.cpp b/src/adblock/adblockmanager.cpp index e195c705..48e2369d 100644 --- a/src/adblock/adblockmanager.cpp +++ b/src/adblock/adblockmanager.cpp @@ -56,6 +56,9 @@ AdBlockManager::AdBlockManager(QObject *parent) AdBlockManager::~AdBlockManager() { + _whiteList.clear(); + _blackList.clear(); + _hideList.clear(); } @@ -77,9 +80,9 @@ void AdBlockManager::loadSettings(bool checkUpdateDate) // just to be sure.. _isHideAdsEnabled = ReKonfig::hideAdsEnabled(); - - // local settings - KSharedConfig::Ptr config = KGlobal::config(); + + // read settings + KSharedConfig::Ptr config = KSharedConfig::openConfig("adblock", KConfig::SimpleConfig, "appdata"); KConfigGroup rulesGroup(config, "rules"); QStringList rules; rules = rulesGroup.readEntry("local-rules" , QStringList()); @@ -303,7 +306,7 @@ void AdBlockManager::saveRules(const QStringList &rules) QStringList titles = ReKonfig::subscriptionTitles(); QString title = titles.at(_index) + "-rules"; - KSharedConfig::Ptr config = KGlobal::config(); + KSharedConfig::Ptr config = KSharedConfig::openConfig("adblock", KConfig::SimpleConfig, "appdata"); KConfigGroup cg(config , "rules"); cg.writeEntry(title, cleanedRules); } diff --git a/src/adblock/adblocknetworkreply.cpp b/src/adblock/adblocknetworkreply.cpp index 13677daa..24f3a86f 100644 --- a/src/adblock/adblocknetworkreply.cpp +++ b/src/adblock/adblocknetworkreply.cpp @@ -75,6 +75,11 @@ AdBlockNetworkReply::AdBlockNetworkReply(const QNetworkRequest &request, const Q } +void AdBlockNetworkReply::abort() +{ +} + + qint64 AdBlockNetworkReply::readData(char *data, qint64 maxSize) { Q_UNUSED(data); diff --git a/src/adblock/adblocknetworkreply.h b/src/adblock/adblocknetworkreply.h index 14a0672c..16ba945a 100644 --- a/src/adblock/adblocknetworkreply.h +++ b/src/adblock/adblocknetworkreply.h @@ -71,7 +71,7 @@ class REKONQ_TESTS_EXPORT AdBlockNetworkReply : public QNetworkReply public: AdBlockNetworkReply(const QNetworkRequest &request, const QString &urlString, QObject *parent = 0); - void abort() {}; + void abort(); protected: qint64 readData(char *data, qint64 maxSize); diff --git a/src/adblock/adblockrule.cpp b/src/adblock/adblockrule.cpp index 7c91a692..6ff98f03 100644 --- a/src/adblock/adblockrule.cpp +++ b/src/adblock/adblockrule.cpp @@ -61,7 +61,6 @@ AdBlockRule::AdBlockRule(const QString &filter) - : m_optionMatchRule(false) { bool isRegExpRule = false; @@ -91,7 +90,6 @@ AdBlockRule::AdBlockRule(const QString &filter) if (options.contains(QL1S("match-case"))) { m_regExp.setCaseSensitivity(Qt::CaseSensitive); - m_optionMatchRule = true; } } @@ -101,40 +99,7 @@ AdBlockRule::AdBlockRule(const QString &filter) // return true means "matched rule", so stop url! bool AdBlockRule::match(const QString &encodedUrl) const { - bool matched = m_regExp.indexIn(encodedUrl) != -1; - -// TODO: Reimplement this in rekonq 0.5 :) -// -// if (matched && !m_options.isEmpty()) -// { -// // we only support domain right now -// if (m_options.count() == 1) -// { -// foreach (const QString &option, m_options) -// { -// if (option.startsWith( QL1S("domain=") )) -// { -// QUrl url = QUrl::fromEncoded(encodedUrl.toUtf8()); -// QString host = url.host(); -// QStringList domainOptions = option.mid(7).split( QL1C('|') ); -// foreach (QString domainOption, domainOptions) -// { -// bool negate = domainOption.at(0) == QL1C('~'); -// if (negate) -// domainOption = domainOption.mid(1); -// bool hostMatched = domainOption == host; -// if (hostMatched && !negate) -// return true; -// if (!hostMatched && negate) -// return true; -// } -// } -// } -// } -// return false; -// } - - return matched; + return m_regExp.indexIn(encodedUrl) != -1; } diff --git a/src/adblock/adblockrule.h b/src/adblock/adblockrule.h index 6f042fe2..28084004 100644 --- a/src/adblock/adblockrule.h +++ b/src/adblock/adblockrule.h @@ -79,9 +79,6 @@ private: QString convertPatternToRegExp(const QString &wildcardPattern); QRegExp m_regExp; - - // Rule Options - bool m_optionMatchRule; }; diff --git a/src/rekonq.kcfg b/src/rekonq.kcfg index 3658b324..86e47534 100644 --- a/src/rekonq.kcfg +++ b/src/rekonq.kcfg @@ -34,18 +34,20 @@ </entry> </group> + <!-- New Tab Page Settings --> - <group name="NewTabPage"> +<group name="NewTabPage"> <entry name="previewNames" type="StringList"> <default>KDE Homepage,UserBase,rekonq site</default> </entry> <entry name="previewUrls" type="StringList"> <default>http://www.kde.org,http://userbase.kde.org,http://rekonq.sourceforge.net</default> </entry> - </group> +</group> + <!-- General Settings --> - <group name="General"> +<group name="General"> <entry name="startupBehaviour" type="Int"> <default>1</default> </entry> @@ -67,10 +69,11 @@ <entry name="searchEngine" type="Int"> <default>0</default> </entry> - </group> +</group> + <!-- Tabs Settings --> - <group name="Tabs"> +<group name="Tabs"> <entry name="openTabNoWindow" type="Bool"> <default>true</default> </entry> @@ -89,99 +92,101 @@ <entry name="closeTabSelectPrevious" type="Bool"> <default>false</default> </entry> - </group> +</group> <!-- Fonts Settings --> - <group name="Fonts"> +<group name="Fonts"> <entry name="standardFont" type="Font"> - <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::StandardFont))</default> + <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::StandardFont))</default> </entry> <entry name="fixedFont" type="Font"> - <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::FixedFont))</default> + <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::FixedFont))</default> </entry> <entry name="fontSize" type="Int"> - <default>16</default> + <default>16</default> </entry> <entry name="minFontSize" type="Int"> - <default>8</default> + <default>8</default> </entry> - </group> +</group> + <!-- Privacy Settings --> - <group name="Privacy"> - <entry name="expireHistory" type="Int"> - <default>1</default> - </entry> - </group> +<group name="Privacy"> + <entry name="expireHistory" type="Int"> + <default>1</default> + </entry> +</group> + <!-- WebKit Settings --> - <group name="Webkit"> - <entry name="autoLoadImages" type="Bool"> - <default>true</default> - </entry> - <entry name="dnsPrefetch" type="Bool"> - <default>true</default> - </entry> - <entry name="javascriptEnabled" type="Bool"> - <default>true</default> - </entry> - <entry name="javaEnabled" type="Bool"> - <default>true</default> - </entry> - <entry name="pluginsEnabled" type="Int"> - <default>0</default> - </entry> - <entry name="javascriptCanOpenWindows" type="Bool"> - <default>true</default> - </entry> - <entry name="javascriptCanAccessClipboard" type="Bool"> - <default>false</default> - </entry> - <entry name="linksIncludedInFocusChain" type="Bool"> - <default>true</default> - </entry> - <entry name="zoomTextOnly" type="Bool"> - <default>false</default> - </entry> - <entry name="printElementBackgrounds" type="Bool"> - <default>true</default> - </entry> - <entry name="offlineStorageDatabaseEnabled" type="Bool"> - <default>true</default> - </entry> - <entry name="offlineWebApplicationCacheEnabled" type="Bool"> - <default>true</default> - </entry> - <entry name="localStorageEnabled" type="Bool"> - <default>true</default> - </entry> - <entry name="userCSS" type="Url"> - <default></default> - </entry> - </group> +<group name="Webkit"> + <entry name="autoLoadImages" type="Bool"> + <default>true</default> + </entry> + <entry name="dnsPrefetch" type="Bool"> + <default>true</default> + </entry> + <entry name="javascriptEnabled" type="Bool"> + <default>true</default> + </entry> + <entry name="javaEnabled" type="Bool"> + <default>true</default> + </entry> + <entry name="pluginsEnabled" type="Int"> + <default>0</default> + </entry> + <entry name="javascriptCanOpenWindows" type="Bool"> + <default>true</default> + </entry> + <entry name="javascriptCanAccessClipboard" type="Bool"> + <default>false</default> + </entry> + <entry name="linksIncludedInFocusChain" type="Bool"> + <default>true</default> + </entry> + <entry name="zoomTextOnly" type="Bool"> + <default>false</default> + </entry> + <entry name="printElementBackgrounds" type="Bool"> + <default>true</default> + </entry> + <entry name="offlineStorageDatabaseEnabled" type="Bool"> + <default>true</default> + </entry> + <entry name="offlineWebApplicationCacheEnabled" type="Bool"> + <default>true</default> + </entry> + <entry name="localStorageEnabled" type="Bool"> + <default>true</default> + </entry> + <entry name="userCSS" type="Url"> + <default></default> + </entry> +</group> <!-- AdBlock Settings --> - <group name="AdBlock"> - <entry name="adBlockEnabled" type="Bool"> - <default>true</default> - </entry> - <entry name="hideAdsEnabled" type="Bool"> - <default>true</default> - </entry> - <entry name="subscriptionTitles" type="StringList"> - <default>EasyList</default> - </entry> - <entry name="subscriptionLocations" type="StringList"> - <default>https://easylist-downloads.adblockplus.org/easylist.txt</default> - </entry> - <entry name="lastUpdate" type="DateTime"> - <default>QDateTime(QDate(2009,03,13))</default> - </entry> - <entry name="updateInterval" type="Int"> - <default>7</default> - </entry> - </group> +<group name="AdBlock"> + <entry name="adBlockEnabled" type="Bool"> + <default>true</default> + </entry> + <entry name="hideAdsEnabled" type="Bool"> + <default>true</default> + </entry> + <entry name="subscriptionTitles" type="StringList"> + <default>EasyList</default> + </entry> + <entry name="subscriptionLocations" type="StringList"> + <default>https://easylist-downloads.adblockplus.org/easylist.txt</default> + </entry> + <entry name="lastUpdate" type="DateTime"> + <default>QDateTime(QDate(2009,03,13))</default> + </entry> + <entry name="updateInterval" type="Int"> + <default>7</default> + </entry> +</group> </kcfg> diff --git a/src/settings/adblockwidget.cpp b/src/settings/adblockwidget.cpp index 59cb8a81..412f03d9 100644 --- a/src/settings/adblockwidget.cpp +++ b/src/settings/adblockwidget.cpp @@ -126,7 +126,7 @@ void AdBlockWidget::load() } // load local rules - KSharedConfig::Ptr config = KGlobal::config(); + KSharedConfig::Ptr config = KSharedConfig::openConfig("adblock", KConfig::SimpleConfig, "appdata"); KConfigGroup localGroup(config, "rules"); QStringList rules = localGroup.readEntry("local-rules" , QStringList()); foreach(const QString &rule, rules) @@ -138,7 +138,7 @@ void AdBlockWidget::load() void AdBlockWidget::loadRules(QTreeWidgetItem *item) { - KSharedConfig::Ptr config = KGlobal::config(); + KSharedConfig::Ptr config = KSharedConfig::openConfig("adblock", KConfig::SimpleConfig, "appdata"); KConfigGroup localGroup(config, "rules"); QString str = item->text(0) + "-rules"; @@ -157,7 +157,7 @@ void AdBlockWidget::save() int n; // local rules - KSharedConfig::Ptr config = KGlobal::config(); + KSharedConfig::Ptr config = KSharedConfig::openConfig("adblock", KConfig::SimpleConfig, "appdata"); KConfigGroup localGroup(config , "rules"); QStringList localRules; |