From 6cb5eeede6a4cc0d885f64c360bf00a3a36456d5 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Sun, 5 Apr 2015 00:48:17 -0700 Subject: [PATCH] Make toggleable thread watcher remember whether it was hidden. --- src/General/Config.coffee | 2 ++ src/Monitoring/ThreadWatcher.coffee | 23 +++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/General/Config.coffee b/src/General/Config.coffee index 82ead9651..6c05ba079 100755 --- a/src/General/Config.coffee +++ b/src/General/Config.coffee @@ -609,6 +609,8 @@ Config = 'Show number of unread posts in watched threads.' ] + 'Thread Watcher Hidden': true + filter: name: """ # Filter any namefags: diff --git a/src/Monitoring/ThreadWatcher.coffee b/src/Monitoring/ThreadWatcher.coffee index 20285d040..18e7e8fb7 100755 --- a/src/Monitoring/ThreadWatcher.coffee +++ b/src/Monitoring/ThreadWatcher.coffee @@ -17,10 +17,14 @@ ThreadWatcher = @refreshButton = $ '.refresh', @dialog @unreaddb = Unread.db or new DataBoard 'lastReadPosts' + @setHidden(Conf['Toggleable Thread Watcher'] and Conf['Thread Watcher Hidden']) + if Conf['Toggleable Thread Watcher'] + $.sync 'Thread Watcher Hidden', @setHidden + $.on d, 'QRPostSuccessful', @cb.post - $.on sc, 'click', @toggleWatcher + $.on sc, 'click', @toggleHidden $.on @refreshButton, 'click', @fetchAllStatus - $.on $('.move > .close', @dialog), 'click', @toggleWatcher + $.on $('.move > .close', @dialog), 'click', @toggleHidden $.on d, '4chanXInitFinished', @ready @@ -87,18 +91,21 @@ ThreadWatcher = ThreadWatcher.refresh() $.add d.body, ThreadWatcher.dialog - if Conf['Toggleable Thread Watcher'] - ThreadWatcher.dialog.hidden = true - return unless Conf['Auto Watch'] $.get 'AutoWatch', 0, ({AutoWatch}) -> return unless thread = g.BOARD.threads[AutoWatch] ThreadWatcher.add thread $.delete 'AutoWatch' - toggleWatcher: -> - $.toggleClass ThreadWatcher.shortcut, 'disabled' - ThreadWatcher.dialog.hidden = !ThreadWatcher.dialog.hidden + setHidden: (hide) -> + ThreadWatcher.shortcut.classList.toggle 'disabled', hide + ThreadWatcher.dialog.hidden = hide + + toggleHidden: -> + hide = !ThreadWatcher.dialog.hidden + ThreadWatcher.setHidden hide + if Conf['Toggleable Thread Watcher'] + $.set 'Thread Watcher Hidden', hide cb: openAll: ->