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())) {
|
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 host = page->url().host().contains(QLatin1String("www.")) ? pageUrl.host().mid(4) : pageUrl.host();
|
||||||
const QString hostFilter = QString("@@||%1^$document").arg(host);
|
const QString host_filter = QString("@@||%1^$document").arg(host);
|
||||||
const QString pageFilter = QString("@@|%1|$document").arg(pageUrl.toString());
|
const QString page_filter = QString("@@|%1|$document").arg(pageUrl.toString());
|
||||||
QAction* act = menu->addAction(tr("Disable on %1").arg(host));
|
QAction* act = menu->addAction(tr("Disable on %1").arg(host));
|
||||||
|
|
||||||
act->setCheckable(true);
|
act->setCheckable(true);
|
||||||
act->setChecked(customList->containsFilter(hostFilter));
|
act->setChecked(customList->containsFilter(host_filter));
|
||||||
act->setData(hostFilter);
|
act->setData(host_filter);
|
||||||
connect(act, &QAction::triggered, this, &AdBlockIcon::toggleCustomFilter);
|
connect(act, &QAction::triggered, this, &AdBlockIcon::toggleCustomFilter);
|
||||||
|
|
||||||
act = menu->addAction(tr("Disable only on this page"));
|
act = menu->addAction(tr("Disable only on this page"));
|
||||||
act->setCheckable(true);
|
act->setCheckable(true);
|
||||||
act->setChecked(customList->containsFilter(pageFilter));
|
act->setChecked(customList->containsFilter(page_filter));
|
||||||
act->setData(pageFilter);
|
act->setData(page_filter);
|
||||||
connect(act, &QAction::triggered, this, &AdBlockIcon::toggleCustomFilter);
|
connect(act, &QAction::triggered, this, &AdBlockIcon::toggleCustomFilter);
|
||||||
|
|
||||||
menu->addSeparator();
|
menu->addSeparator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,20 +141,20 @@ void AdBlockIcon::toggleCustomFilter() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const QString filter = action->data().toString();
|
const QString filter = action->data().toString();
|
||||||
AdBlockCustomList* customList = m_manager->customList();
|
AdBlockCustomList* custom_list = m_manager->customList();
|
||||||
|
|
||||||
if (customList->containsFilter(filter)) {
|
if (custom_list->containsFilter(filter)) {
|
||||||
customList->removeFilter(filter);
|
custom_list->removeFilter(filter);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
auto* rule = new AdBlockRule(filter, customList);
|
auto* rule = new AdBlockRule(filter, custom_list);
|
||||||
|
|
||||||
customList->addRule(rule);
|
custom_list->addRule(rule);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AdBlockIcon::animateIcon() {
|
void AdBlockIcon::animateIcon() {
|
||||||
++m_timerTicks;
|
m_timerTicks++;
|
||||||
|
|
||||||
if (m_timerTicks > 10) {
|
if (m_timerTicks > 10) {
|
||||||
stopAnimation();
|
stopAnimation();
|
||||||
|
@ -76,11 +76,13 @@ bool AdBlockManager::block(QWebEngineUrlRequestInfo& request) {
|
|||||||
if (blockedRule != nullptr) {
|
if (blockedRule != nullptr) {
|
||||||
if (request.resourceType() == QWebEngineUrlRequestInfo::ResourceTypeMainFrame) {
|
if (request.resourceType() == QWebEngineUrlRequestInfo::ResourceTypeMainFrame) {
|
||||||
QUrlQuery query;
|
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("rule"), blockedRule->filter());
|
||||||
query.addQueryItem(QSL("subscription"), blockedRule->subscription()->title());
|
query.addQueryItem(QSL("subscription"), blockedRule->subscription()->title());
|
||||||
url.setQuery(query);
|
url.setQuery(query);
|
||||||
|
|
||||||
|
res = true;
|
||||||
request.redirect(url);
|
request.redirect(url);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -25,5 +25,5 @@ AdBlockUrlInterceptor::AdBlockUrlInterceptor(AdBlockManager* manager)
|
|||||||
: UrlInterceptor(manager), m_manager(manager) {}
|
: UrlInterceptor(manager), m_manager(manager) {}
|
||||||
|
|
||||||
void AdBlockUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo& info) {
|
void AdBlockUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo& info) {
|
||||||
info.block(m_manager->block(info));
|
m_manager->block(info);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user