Move IRC updating to the updater's settings. Scroll only on new posts.

This commit is contained in:
Nicolas Stepien 2011-07-24 04:08:03 +02:00
parent bc9093584b
commit 5aa208c279
2 changed files with 13 additions and 11 deletions

View File

@ -89,7 +89,6 @@
},
Monitoring: {
'Thread Updater': [true, 'Update threads'],
'IRC Updating': [false, 'Scroll updated posts into view'],
'Unread Count': [true, 'Show unread post count in tab title'],
'Post in Title': [true, 'Show the op\'s post in the tab title'],
'Thread Stats': [true, 'Display reply and image count'],
@ -139,6 +138,7 @@
updater: {
checkbox: {
'Verbose': [true, 'Show countdown timer, new post count'],
'IRC Updating': [false, 'Scroll updated posts into view'],
'Auto Update': [true, 'Automatically fetch new posts']
},
'Interval': 30
@ -1622,7 +1622,7 @@
return updater.interval = this.value = this.value.match(/\d+/)[0];
},
update: function() {
var arr, body, br, id, input, replies, reply, _i, _len, _ref, _ref2;
var arr, body, br, id, input, length, replies, reply, _i, _len, _ref, _ref2;
if (this.status === 404) {
updater.timer.textContent = '';
updater.count.textContent = 404;
@ -1649,10 +1649,11 @@
while ((reply = replies.pop()) && (reply.id > id)) {
arr.push(reply.parentNode.parentNode.parentNode);
}
length = arr.length;
updater.timer.textContent = '-' + updater.interval;
if (updater.verbose) {
updater.count.textContent = '+' + arr.length;
if (arr.length === 0) {
updater.count.textContent = '+' + length;
if (length === 0) {
updater.count.className = '';
} else {
updater.count.className = 'new';
@ -1661,7 +1662,7 @@
while (reply = arr.pop()) {
$.before(br, reply);
}
if (updater.ircUpd) {
if (updater.ircUpd && length) {
return scrollTo(0, d.body.scrollHeight);
}
}

View File

@ -23,7 +23,6 @@ config =
'Reveal Spoilers': [false, 'Replace spoiler thumbnails by the original thumbnail']
Monitoring:
'Thread Updater': [true, 'Update threads']
'IRC Updating': [false, 'Scroll updated posts into view']
'Unread Count': [true, 'Show unread post count in tab title']
'Post in Title': [true, 'Show the op\'s post in the tab title']
'Thread Stats': [true, 'Display reply and image count']
@ -73,8 +72,9 @@ config =
update: 'u'
updater:
checkbox:
'Verbose': [true, 'Show countdown timer, new post count']
'Auto Update': [true, 'Automatically fetch new posts']
'Verbose': [true, 'Show countdown timer, new post count']
'IRC Updating': [false, 'Scroll updated posts into view']
'Auto Update': [true, 'Automatically fetch new posts']
'Interval': 30
# flatten the config
@ -1346,11 +1346,12 @@ updater =
replies = $$ 'td[id]', body
while (reply = replies.pop()) and (reply.id > id)
arr.push reply.parentNode.parentNode.parentNode #table
length = arr.length
updater.timer.textContent = '-' + updater.interval
if updater.verbose
updater.count.textContent = '+' + arr.length
if arr.length is 0
updater.count.textContent = '+' + length
if length is 0
updater.count.className = ''
else
updater.count.className = 'new'
@ -1358,7 +1359,7 @@ updater =
#XXX add replies in correct order so backlinks resolve
while reply = arr.pop()
$.before br, reply
if updater.ircUpd
if updater.ircUpd && length
scrollTo 0, d.body.scrollHeight
timeout: ->