diff --git a/src/features.coffee b/src/features.coffee index 93ca86478..1c2c6c46b 100644 --- a/src/features.coffee +++ b/src/features.coffee @@ -4091,11 +4091,10 @@ ThreadUpdater = checked = if Conf[name] then 'checked' else '' html += "
" - checked = if Conf['Auto Update'] then 'checked' else '' html = """
#{html} -
+
""" @@ -4103,6 +4102,7 @@ ThreadUpdater = @dialog = UI.dialog 'updater', 'bottom: 0; right: 0;', html @timer = $ '#update-timer', @dialog @status = $ '#update-status', @dialog + @isUpdating = Conf['Auto Update'] Thread::callbacks.push name: 'Thread Updater' @@ -4123,7 +4123,8 @@ ThreadUpdater = $.on input, 'change', ThreadUpdater.cb.scrollBG ThreadUpdater.cb.scrollBG() when 'Auto Update This' - $.on input, 'change', ThreadUpdater.cb.autoUpdate + $.off input, 'change', $.cb.checked + $.on input, 'change', ThreadUpdater.cb.autoUpdate $.event 'change', null, input when 'Interval' $.on input, 'change', ThreadUpdater.cb.interval @@ -4149,14 +4150,14 @@ ThreadUpdater = if ThreadUpdater.online = navigator.onLine ThreadUpdater.outdateCount = 0 ThreadUpdater.set 'timer', ThreadUpdater.getInterval() - ThreadUpdater.update() if Conf['Auto Update This'] + ThreadUpdater.update() if ThreadUpdater.isUpdating ThreadUpdater.set 'status', null, null else ThreadUpdater.set 'timer', null ThreadUpdater.set 'status', 'Offline', 'warning' ThreadUpdater.cb.autoUpdate() post: (e) -> - return unless Conf['Auto Update This'] and e.detail.threadID is ThreadUpdater.thread.ID + return unless ThreadUpdater.isUpdating and e.detail.threadID is ThreadUpdater.thread.ID ThreadUpdater.outdateCount = 0 setTimeout ThreadUpdater.update, 1000 if ThreadUpdater.seconds > 2 visibility: -> @@ -4170,8 +4171,9 @@ ThreadUpdater = -> true else -> not d.hidden - autoUpdate: -> - if Conf['Auto Update This'] and ThreadUpdater.online + autoUpdate: (e) -> + ThreadUpdater.isUpdating = @checked if e + if ThreadUpdater.isUpdating and ThreadUpdater.online ThreadUpdater.timeoutID = setTimeout ThreadUpdater.timeout, 1000 else clearTimeout ThreadUpdater.timeoutID