From 908a1dbfb08c30ae2a92ce7f6e36a9e88e8b5d09 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Mon, 13 Feb 2012 22:48:51 +0100 Subject: Let rekonq block sparse images (this idea has been copied from Arora) --- src/adblock/adblockmanager.cpp | 29 +++++++++++++++++++++++++++++ src/adblock/adblockmanager.h | 4 ++++ 2 files changed, 33 insertions(+) (limited to 'src/adblock') 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(); -- cgit v1.2.1