Save.
This commit is contained in:
parent
9d91bf0f68
commit
a4562a7800
@ -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();
|
||||
|
@ -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 {
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user