diff --git a/src/css/popup-fenix.css b/src/css/popup-fenix.css index 252e371e0..60cd39def 100644 --- a/src/css/popup-fenix.css +++ b/src/css/popup-fenix.css @@ -211,7 +211,7 @@ body.needSave #revertRules { font-size: 1.6em; } -#basicTools:not(.canPick) .needPick { +#basicTools .needPick:not(.canPick) { visibility: hidden; } diff --git a/src/js/commands.js b/src/js/commands.js index 0c862d078..2f29b23d9 100644 --- a/src/js/commands.js +++ b/src/js/commands.js @@ -139,6 +139,8 @@ vAPI.commands.onCommand.addListener(async command => { switch ( command ) { case 'launch-element-picker': + if ( µb.userFiltersAreEnabled() === false ) { break; } + /* fall through */ case 'launch-element-zapper': { µb.epickerArgs.mouse = false; µb.elementPickerExec( diff --git a/src/js/contextmenu.js b/src/js/contextmenu.js index abf0582b9..788b62bb3 100644 --- a/src/js/contextmenu.js +++ b/src/js/contextmenu.js @@ -200,7 +200,11 @@ let currentBits = 0; const update = function(tabId = undefined) { let newBits = 0; - if ( µb.userSettings.contextMenuEnabled && tabId !== undefined ) { + if ( + µb.userSettings.contextMenuEnabled && + µb.userFiltersAreEnabled() && + tabId !== undefined + ) { const pageStore = µb.pageStoreFromTabId(tabId); if ( pageStore && pageStore.getNetFilteringSwitch() ) { if ( pageStore.shouldApplySpecificCosmeticFilters(0) ) { diff --git a/src/js/messaging.js b/src/js/messaging.js index 52242b360..c5e229606 100644 --- a/src/js/messaging.js +++ b/src/js/messaging.js @@ -369,6 +369,7 @@ const popupDataFromTabId = function(tabId, tabTitle) { fontSize: µbhs.popupFontSize, godMode: µbhs.filterAuthorMode, netFilteringSwitch: false, + userFiltersAreEnabled: µb.userFiltersAreEnabled(), rawURL: tabContext.rawURL, pageURL: tabContext.normalURL, pageHostname: rootHostname, diff --git a/src/js/popup-fenix.js b/src/js/popup-fenix.js index b44b923b9..815fc89f0 100644 --- a/src/js/popup-fenix.js +++ b/src/js/popup-fenix.js @@ -614,11 +614,11 @@ const renderPopup = function() { } } - dom.cl.toggle( - '#basicTools', - 'canPick', - popupData.canElementPicker === true && isFiltering - ); + const canPick = popupData.canElementPicker && isFiltering; + + dom.cl.toggle('#gotoZap', 'canPick', canPick); + dom.cl.toggle('#gotoPick', 'canPick', canPick && popupData.userFiltersAreEnabled); + dom.cl.toggle('#gotoReport', 'canPick', canPick); let blocked, total; if ( popupData.pageCounts !== undefined ) { @@ -675,7 +675,7 @@ const renderPopup = function() { total ? Math.min(total, 99).toLocaleString() : '' ); - // Unprocesseed request(s) warning + // Unprocessed request(s) warning dom.cl.toggle(dom.root, 'warn', popupData.hasUnprocessedRequest === true); dom.cl.toggle(dom.html, 'colorBlind', popupData.colorBlindFriendly === true); diff --git a/src/js/storage.js b/src/js/storage.js index 151717c23..7847c43b9 100644 --- a/src/js/storage.js +++ b/src/js/storage.js @@ -628,6 +628,10 @@ onBroadcast(msg => { ); }; +µb.userFiltersAreEnabled = function() { + return this.selectedFilterLists.includes(this.userFiltersPath); +}; + /******************************************************************************/ µb.autoSelectRegionalFilterLists = function(lists) {