From 0ee02ba7b03f2e44ca35ef30f2be04b7d4c4b347 Mon Sep 17 00:00:00 2001 From: Nicolas Stepien Date: Wed, 27 Mar 2013 17:24:57 +0100 Subject: [PATCH] Add a checkbox in the Header's menu to toggle auto-hiding. #968 --- src/features.coffee | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) 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.'