diff --git a/src/librssguard/network-web/adblock/adblockicon.cpp b/src/librssguard/network-web/adblock/adblockicon.cpp index 7d45e10c3..bcbca676a 100644 --- a/src/librssguard/network-web/adblock/adblockicon.cpp +++ b/src/librssguard/network-web/adblock/adblockicon.cpp @@ -107,19 +107,21 @@ void AdBlockIcon::createMenu(QMenu* menu) { if (!pageUrl.host().isEmpty() && m_enabled && m_manager->canRunOnScheme(pageUrl.scheme())) { const QString host = page->url().host().contains(QLatin1String("www.")) ? pageUrl.host().mid(4) : pageUrl.host(); - const QString hostFilter = QString("@@||%1^$document").arg(host); - const QString pageFilter = QString("@@|%1|$document").arg(pageUrl.toString()); + const QString host_filter = QString("@@||%1^$document").arg(host); + const QString page_filter = QString("@@|%1|$document").arg(pageUrl.toString()); QAction* act = menu->addAction(tr("Disable on %1").arg(host)); act->setCheckable(true); - act->setChecked(customList->containsFilter(hostFilter)); - act->setData(hostFilter); + act->setChecked(customList->containsFilter(host_filter)); + act->setData(host_filter); connect(act, &QAction::triggered, this, &AdBlockIcon::toggleCustomFilter); + act = menu->addAction(tr("Disable only on this page")); act->setCheckable(true); - act->setChecked(customList->containsFilter(pageFilter)); - act->setData(pageFilter); + act->setChecked(customList->containsFilter(page_filter)); + act->setData(page_filter); connect(act, &QAction::triggered, this, &AdBlockIcon::toggleCustomFilter); + menu->addSeparator(); } } @@ -139,20 +141,20 @@ void AdBlockIcon::toggleCustomFilter() { } const QString filter = action->data().toString(); - AdBlockCustomList* customList = m_manager->customList(); + AdBlockCustomList* custom_list = m_manager->customList(); - if (customList->containsFilter(filter)) { - customList->removeFilter(filter); + if (custom_list->containsFilter(filter)) { + custom_list->removeFilter(filter); } else { - auto* rule = new AdBlockRule(filter, customList); + auto* rule = new AdBlockRule(filter, custom_list); - customList->addRule(rule); + custom_list->addRule(rule); } } void AdBlockIcon::animateIcon() { - ++m_timerTicks; + m_timerTicks++; if (m_timerTicks > 10) { stopAnimation(); diff --git a/src/librssguard/network-web/adblock/adblockmanager.cpp b/src/librssguard/network-web/adblock/adblockmanager.cpp index 12fb7ed33..2a17449aa 100644 --- a/src/librssguard/network-web/adblock/adblockmanager.cpp +++ b/src/librssguard/network-web/adblock/adblockmanager.cpp @@ -76,11 +76,13 @@ bool AdBlockManager::block(QWebEngineUrlRequestInfo& request) { if (blockedRule != nullptr) { if (request.resourceType() == QWebEngineUrlRequestInfo::ResourceTypeMainFrame) { QUrlQuery query; - QUrl url(QSL("rssguard:adblockedpage")); + QUrl url(QSL("%1://%2").arg(APP_LOW_NAME, ADBLOCK_ADBLOCKED_PAGE)); query.addQueryItem(QSL("rule"), blockedRule->filter()); query.addQueryItem(QSL("subscription"), blockedRule->subscription()->title()); url.setQuery(query); + + res = true; request.redirect(url); } else { diff --git a/src/librssguard/network-web/adblock/adblockurlinterceptor.cpp b/src/librssguard/network-web/adblock/adblockurlinterceptor.cpp index 46fc7fbe4..610df7e34 100644 --- a/src/librssguard/network-web/adblock/adblockurlinterceptor.cpp +++ b/src/librssguard/network-web/adblock/adblockurlinterceptor.cpp @@ -25,5 +25,5 @@ AdBlockUrlInterceptor::AdBlockUrlInterceptor(AdBlockManager* manager) : UrlInterceptor(manager), m_manager(manager) {} void AdBlockUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo& info) { - info.block(m_manager->block(info)); + m_manager->block(info); }