diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2012-02-13 22:48:51 +0100 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2012-03-13 10:24:42 +0100 |
commit | 908a1dbfb08c30ae2a92ce7f6e36a9e88e8b5d09 (patch) | |
tree | c9bcf7d01b3553ad934bea9e1279a02e409accfb /src/adblock | |
parent | Add adblock icon to inform users that some contents was hidden (diff) | |
download | rekonq-908a1dbfb08c30ae2a92ce7f6e36a9e88e8b5d09.tar.xz |
Let rekonq block sparse images (this idea has been copied from Arora)
Diffstat (limited to 'src/adblock')
-rw-r--r-- | src/adblock/adblockmanager.cpp | 29 | ||||
-rw-r--r-- | src/adblock/adblockmanager.h | 4 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/adblock/adblockmanager.cpp b/src/adblock/adblockmanager.cpp index b435d437..27fb4020 100644 --- a/src/adblock/adblockmanager.cpp +++ b/src/adblock/adblockmanager.cpp @@ -62,6 +62,12 @@ AdBlockManager::~AdBlockManager() } +bool AdBlockManager::isEnabled() +{ + return _isAdblockEnabled; +} + + void AdBlockManager::loadSettings() { // first, check this... @@ -347,3 +353,26 @@ void AdBlockManager::showSettings() dialog->deleteLater(); } + + +void AdBlockManager::addCustomRule(const QString &stringRule) +{ + // save rule in local filters + QString localRulesFilePath = KStandardDirs::locateLocal("appdata" , QL1S("adblockrules_local")); + + QFile ruleFile(localRulesFilePath); + if (!ruleFile.open(QFile::WriteOnly | QFile::Text)) + { + kDebug() << "Unable to open rule file" << localRulesFilePath; + return; + } + + QTextStream out(&ruleFile); + out << stringRule << '\n'; + + // load it + AdBlockRule rule(stringRule); + _blackList << rule; + + // TODO: update page? +} diff --git a/src/adblock/adblockmanager.h b/src/adblock/adblockmanager.h index f853a8ed..2e7f7836 100644 --- a/src/adblock/adblockmanager.h +++ b/src/adblock/adblockmanager.h @@ -154,9 +154,13 @@ public: AdBlockManager(QObject *parent = 0); ~AdBlockManager(); + bool isEnabled(); + QNetworkReply *block(const QNetworkRequest &request, WebPage *page); void applyHidingRules(WebPage *page); + void addCustomRule(const QString &); + public Q_SLOTS: void loadSettings(); void showSettings(); |