diff --git a/src/features.coffee b/src/features.coffee index 96a2079a7..362a3a1c7 100644 --- a/src/features.coffee +++ b/src/features.coffee @@ -17,12 +17,10 @@ Header = @bar = $ '#header-bar', headerEl @toggle = $ '#toggle-header-bar', @bar - @setBarVisibility Conf['Header auto-hide'] - $.sync 'Header auto-hide', @setBarVisibility @menu = new UI.Menu 'header' - $.on $('.menu-button', @bar), 'click', @menuToggle - $.on $('#toggle-header-bar', @bar), 'click', @toggleBarVisibility + $.on $('.menu-button', @bar), 'click', @menuToggle + $.on @toggle, 'click', @toggleBarVisibility catalogToggler = $.el 'label', innerHTML: " Use catalog board links" @@ -33,6 +31,17 @@ Header = el: catalogToggler order: 50 + @headerToggler = $.el 'label', + innerHTML: " Auto-hide header" + $.on @headerToggler.firstElementChild, 'change', @toggleBarVisibility + $.event 'AddMenuEntry', + type: 'header' + el: @headerToggler + order: 109 + + @setBarVisibility Conf['Header auto-hide'] + $.sync 'Header auto-hide', @setBarVisibility + $.asap (-> d.body), -> return unless Main.isThisPageLegit() # Wait for #boardNavMobile instead of #boardNavDesktop, @@ -120,9 +129,13 @@ Header = $.set 'Header catalog links', @checked setBarVisibility: (hide) -> + @headerToggler.firstElementChild.checked = hide (if hide then $.addClass else $.rmClass) Header.bar, 'autohide' toggleBarVisibility: -> - hide = !$.hasClass Header.bar, 'autohide' + hide = if @nodeName is 'INPUT' + @checked + else + !$.hasClass Header.bar, 'autohide' Header.setBarVisibility hide message = if hide 'The header bar will automatically hide itself.'