@@ -73,6 +73,8 @@ httpsEverywhere.toolbarButton = {
7373 httpNowhereItem . setAttribute ( 'checked' , showHttpNowhere ? 'true' : 'false' ) ;
7474 toolbarbutton . setAttribute ( 'http_nowhere' ,
7575 showHttpNowhere ? 'true' : 'false' ) ;
76+ var enabled = HTTPSEverywhere . prefs . getBoolPref ( "globalEnabled" ) ;
77+ httpNowhereItem . setAttribute ( 'disabled' , enabled ? 'false' : 'true' ) ;
7678
7779 // show ruleset counter when a tab is changed
7880 tb . updateRulesetsApplied ( ) ;
@@ -228,9 +230,11 @@ httpsEverywhere.toolbarButton = {
228230 * Toggles whether HTTP Nowhere mode is active, updates the toolbar icon.
229231 */
230232 toggleHttpNowhere : function ( ) {
231- var tb = httpsEverywhere . toolbarButton ;
232233 HTTPSEverywhere . toggleHttpNowhere ( ) ;
234+ var tb = httpsEverywhere . toolbarButton ;
233235 var showHttpNowhere = tb . shouldShowHttpNowhere ( ) ;
236+
237+ // Change icon color to red if HTTP nowhere is enabled
234238 var toolbarbutton = document . getElementById ( 'https-everywhere-button' ) ;
235239 toolbarbutton . setAttribute ( 'http_nowhere' ,
236240 showHttpNowhere ? 'true' : 'false' ) ;
@@ -353,6 +357,11 @@ function toggleEnabledState(){
353357 HTTPSEverywhere . toggleEnabledState ( ) ;
354358 reload_window ( ) ;
355359
360+ // Disable/enable toggling HTTP Nowhere mode
361+ var httpNowhereItem = document . getElementById ( 'http-nowhere-item' ) ;
362+ var enabled = HTTPSEverywhere . prefs . getBoolPref ( "globalEnabled" ) ;
363+ httpNowhereItem . setAttribute ( 'disabled' , enabled ? 'false' : 'true' ) ;
364+
356365 // Change icon depending on enabled state
357366 httpsEverywhere . toolbarButton . changeIcon ( ) ;
358367}
0 commit comments