From 2b62ce1231b6f5b1eb8734f1c2450373dbcba00c Mon Sep 17 00:00:00 2001 From: James Campos Date: Mon, 20 Feb 2012 14:16:48 -0800 Subject: [PATCH] build on ahodesuka's work --- 4chan_x.user.js | 29 +++++++++++++++-------------- script.coffee | 16 +++++++++------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/4chan_x.user.js b/4chan_x.user.js index 14d46fec2..341bf5cdb 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -100,7 +100,7 @@ Imaging: { 'Image Auto-Gif': [false, 'Animate gif thumbnails'], 'Image Expansion': [true, 'Expand images'], - 'Expand All (Unscrolled)': [false, 'Expand all images will only expand those which you have not scrolled past'], + 'Expand From Current': [true, 'Expand images from current position to thread end'], 'Image Hover': [false, 'Show full image on mouseover'], 'Sauce': [true, 'Add sauce to images'], 'Reveal Spoilers': [false, 'Replace spoiler thumbnails by the original thumbnail'] @@ -3388,24 +3388,25 @@ return imgExpand.toggle(this); }, all: function() { - var thumb, _i, _j, _len, _len2, _ref, _ref2; + var i, thumb, thumbs, _i, _j, _len, _len2, _len3, _ref; imgExpand.on = this.checked; if (imgExpand.on) { - _ref = $$('img[md5]'); - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - thumb = _ref[_i]; - if (conf['Expand All (Unscrolled)']) { - if (thumb.getBoundingClientRect().bottom >= 0) { - imgExpand.expand(thumb); - } - } else { - imgExpand.expand(thumb); + thumbs = $$('img[md5]'); + if (conf['Expand From Current']) { + for (i = 0, _len = thumbs.length; i < _len; i++) { + thumb = thumbs[i]; + if (thumb.getBoundingClientRect().top > 0) break; } + thumbs = thumbs.slice(i); + } + for (_i = 0, _len2 = thumbs.length; _i < _len2; _i++) { + thumb = thumbs[_i]; + imgExpand.expand(thumb); } } else { - _ref2 = $$('img[md5][hidden]'); - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - thumb = _ref2[_j]; + _ref = $$('img[md5][hidden]'); + for (_j = 0, _len3 = _ref.length; _j < _len3; _j++) { + thumb = _ref[_j]; imgExpand.contract(thumb); } } diff --git a/script.coffee b/script.coffee index a4ea526a9..c7c429310 100644 --- a/script.coffee +++ b/script.coffee @@ -22,7 +22,7 @@ config = Imaging: 'Image Auto-Gif': [false, 'Animate gif thumbnails'] 'Image Expansion': [true, 'Expand images'] - 'Expand All (Unscrolled)': [false, 'Expand all images will only expand those which you have not scrolled past'] + 'Expand From Current': [true, 'Expand images from current position to thread end'] 'Image Hover': [false, 'Show full image on mouseover'] 'Sauce': [true, 'Add sauce to images'] 'Reveal Spoilers': [false, 'Replace spoiler thumbnails by the original thumbnail'] @@ -2664,12 +2664,14 @@ imgExpand = all: -> imgExpand.on = @checked if imgExpand.on #expand - for thumb in $$ 'img[md5]' - if conf['Expand All (Unscrolled)'] - if thumb.getBoundingClientRect().bottom >= 0 - imgExpand.expand thumb - else - imgExpand.expand thumb + thumbs = $$ 'img[md5]' + if conf['Expand From Current'] + for thumb, i in thumbs + if thumb.getBoundingClientRect().top > 0 + break + thumbs = thumbs[i...] + for thumb in thumbs + imgExpand.expand thumb else #contract for thumb in $$ 'img[md5][hidden]' imgExpand.contract thumb