From 545a1f346f844f291984b2f0319acc09a0c13f38 Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Mon, 16 Dec 2013 13:36:19 -0700 Subject: [PATCH] "Fix" Fappe/Werk Tyme and actually fix Werk Tyme. --- CHANGELOG.md | 3 ++ builds/4chan-X.user.js | 59 +++++++++++++++++-------------- builds/crx/script.js | 59 +++++++++++++++++-------------- src/General/Config.coffee | 4 +++ src/Images/FappeTyme.coffee | 40 ++++++++------------- src/Miscellaneous/Keybinds.coffee | 4 +-- 6 files changed, 88 insertions(+), 81 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f73aa8c45..cdd951086 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,9 @@ - You cannot post an image reply immediately after a non-image reply anymore. - Various minor fixes +**Zixaphir**: +- FappeTyme and WerkTyme now persist across sessions. + ### v1.2.43 *2013-11-10* diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 3b7a9a0f7..853becd78 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -252,6 +252,10 @@ MD5: '' }, sauces: "https://www.google.com/searchbyimage?image_url=%TURL\nhttp://iqdb.org/?url=%TURL\n#//tineye.com/search?url=%TURL\n#http://saucenao.com/search.php?url=%TURL\n#http://3d.iqdb.org/?url=%TURL\n#http://regex.info/exif.cgi?imgurl=%URL\n# uploaders:\n#http://imgur.com/upload?url=%URL;text:Upload to imgur\n#http://ompldr.org/upload?url1=%URL;text:Upload to ompldr\n# \"View Same\" in archives:\n#//archive.foolz.us/_/search/image/%MD5/;text:View same on foolz\n#//archive.foolz.us/%board/search/image/%MD5/;text:View same on foolz /%board/\n#//archive.installgentoo.net/%board/image/%MD5;text:View same on installgentoo /%board/", + FappeT: { + fappe: false, + werk: true + }, 'sageEmoji': '4chan SS', 'emojiPos': 'before', 'Custom CSS': false, @@ -7447,36 +7451,32 @@ FappeTyme = { init: function() { - var el, input; + var el, input, lc, type, _i, _len, _ref; if (!(Conf['Fappe Tyme'] || Conf['Werk Tyme']) || g.VIEW === 'catalog' || g.BOARD === 'f') { return; } - if (Conf['Fappe Tyme']) { + _ref = ["Fappe", "Werk"]; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + type = _ref[_i]; + if (!Conf["" + type + " Tyme"]) { + continue; + } + lc = type.toLowerCase(); el = $.el('label', { - innerHTML: " Fappe Tyme", - title: 'Fappe Tyme' + innerHTML: " " + type + " Tyme", + title: "" + type + " Tyme" }); - FappeTyme.fappe = input = el.firstElementChild; - $.on(input, 'change', FappeTyme.cb.fappe); + FappeTyme[lc] = input = el.firstElementChild; + $.on(input, 'change', FappeTyme.cb.toggle.bind(input)); $.event('AddMenuEntry', { type: 'header', el: el, order: 97 }); - } - if (Conf['Werk Tyme']) { - el = $.el('label', { - innerHTML: " Werk Tyme", - title: 'Werk Tyme' - }); - FappeTyme.werk = input = el.firstElementChild; - $.on(input, 'change', FappeTyme.cb.werk); - $.event('AddMenuEntry', { - type: 'header', - el: el, - order: 98 - }); + if (Conf[lc]) { + FappeTyme.cb.set(type); + } } return Post.callbacks.push({ name: 'Fappe Tyme', @@ -7490,13 +7490,14 @@ return $.addClass(this.nodes.root, "noFile"); }, cb: { - fappe: function() { - $.toggleClass(doc, 'fappeTyme'); - return FappeTyme.fappe.checked = $.hasClass(doc, 'fappeTyme'); + set: function(type) { + FappeTyme[type].checked = Conf[type]; + return $["" + (Conf[type] ? 'add' : 'rm') + "Class"](doc, "" + type + "Tyme"); }, - werk: function() { - $.toggleClass(doc, 'werkTyme'); - return FappeTyme.werk.checked = $.hasClass(doc, 'werkTyme'); + toggle: function() { + Conf[this.name] = !Conf[this.name]; + FappeTyme.cb.set(this.name); + return $.cb.checked.call(FappeTyme[this.name]); } } }; @@ -11277,10 +11278,14 @@ Gallery.cb.toggle(); break; case Conf['fappeTyme']: - FappeTyme.cb.fappe(); + FappeTyme.cb.toggle.call({ + name: 'fappe' + }); break; case Conf['werkTyme']: - FappeTyme.cb.werk(); + FappeTyme.cb.toggle.call({ + name: 'werk' + }); break; case Conf['Front page']: if (g.VIEW === 'index') { diff --git a/builds/crx/script.js b/builds/crx/script.js index c6b32ebfa..ea021ed1c 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -230,6 +230,10 @@ MD5: '' }, sauces: "https://www.google.com/searchbyimage?image_url=%TURL\nhttp://iqdb.org/?url=%TURL\n#//tineye.com/search?url=%TURL\n#http://saucenao.com/search.php?url=%TURL\n#http://3d.iqdb.org/?url=%TURL\n#http://regex.info/exif.cgi?imgurl=%URL\n# uploaders:\n#http://imgur.com/upload?url=%URL;text:Upload to imgur\n#http://ompldr.org/upload?url1=%URL;text:Upload to ompldr\n# \"View Same\" in archives:\n#//archive.foolz.us/_/search/image/%MD5/;text:View same on foolz\n#//archive.foolz.us/%board/search/image/%MD5/;text:View same on foolz /%board/\n#//archive.installgentoo.net/%board/image/%MD5;text:View same on installgentoo /%board/", + FappeT: { + fappe: false, + werk: true + }, 'sageEmoji': '4chan SS', 'emojiPos': 'before', 'Custom CSS': false, @@ -7432,36 +7436,32 @@ FappeTyme = { init: function() { - var el, input; + var el, input, lc, type, _i, _len, _ref; if (!(Conf['Fappe Tyme'] || Conf['Werk Tyme']) || g.VIEW === 'catalog' || g.BOARD === 'f') { return; } - if (Conf['Fappe Tyme']) { + _ref = ["Fappe", "Werk"]; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + type = _ref[_i]; + if (!Conf["" + type + " Tyme"]) { + continue; + } + lc = type.toLowerCase(); el = $.el('label', { - innerHTML: " Fappe Tyme", - title: 'Fappe Tyme' + innerHTML: " " + type + " Tyme", + title: "" + type + " Tyme" }); - FappeTyme.fappe = input = el.firstElementChild; - $.on(input, 'change', FappeTyme.cb.fappe); + FappeTyme[lc] = input = el.firstElementChild; + $.on(input, 'change', FappeTyme.cb.toggle.bind(input)); $.event('AddMenuEntry', { type: 'header', el: el, order: 97 }); - } - if (Conf['Werk Tyme']) { - el = $.el('label', { - innerHTML: " Werk Tyme", - title: 'Werk Tyme' - }); - FappeTyme.werk = input = el.firstElementChild; - $.on(input, 'change', FappeTyme.cb.werk); - $.event('AddMenuEntry', { - type: 'header', - el: el, - order: 98 - }); + if (Conf[lc]) { + FappeTyme.cb.set(type); + } } return Post.callbacks.push({ name: 'Fappe Tyme', @@ -7475,13 +7475,14 @@ return $.addClass(this.nodes.root, "noFile"); }, cb: { - fappe: function() { - $.toggleClass(doc, 'fappeTyme'); - return FappeTyme.fappe.checked = $.hasClass(doc, 'fappeTyme'); + set: function(type) { + FappeTyme[type].checked = Conf[type]; + return $["" + (Conf[type] ? 'add' : 'rm') + "Class"](doc, "" + type + "Tyme"); }, - werk: function() { - $.toggleClass(doc, 'werkTyme'); - return FappeTyme.werk.checked = $.hasClass(doc, 'werkTyme'); + toggle: function() { + Conf[this.name] = !Conf[this.name]; + FappeTyme.cb.set(this.name); + return $.cb.checked.call(FappeTyme[this.name]); } } }; @@ -11268,10 +11269,14 @@ Gallery.cb.toggle(); break; case Conf['fappeTyme']: - FappeTyme.cb.fappe(); + FappeTyme.cb.toggle.call({ + name: 'fappe' + }); break; case Conf['werkTyme']: - FappeTyme.cb.werk(); + FappeTyme.cb.toggle.call({ + name: 'werk' + }); break; case Conf['Front page']: if (g.VIEW === 'index') { diff --git a/src/General/Config.coffee b/src/General/Config.coffee index 861f86622..a49f7c8cc 100755 --- a/src/General/Config.coffee +++ b/src/General/Config.coffee @@ -494,6 +494,10 @@ http://iqdb.org/?url=%TURL #//archive.installgentoo.net/%board/image/%MD5;text:View same on installgentoo /%board/ """ + FappeT: + fappe: false + werk: true + 'sageEmoji': '4chan SS' 'emojiPos': 'before' diff --git a/src/Images/FappeTyme.coffee b/src/Images/FappeTyme.coffee index 29ebf2d30..5c8ce0c9c 100755 --- a/src/Images/FappeTyme.coffee +++ b/src/Images/FappeTyme.coffee @@ -2,33 +2,21 @@ FappeTyme = init: -> return if !(Conf['Fappe Tyme'] or Conf['Werk Tyme']) or g.VIEW is 'catalog' or g.BOARD is 'f' - if Conf['Fappe Tyme'] + for type in ["Fappe", "Werk"] when Conf["#{type} Tyme"] + lc = type.toLowerCase() el = $.el 'label', - innerHTML: " Fappe Tyme" - title: 'Fappe Tyme' + innerHTML: " #{type} Tyme" + title: "#{type} Tyme" - FappeTyme.fappe = input = el.firstElementChild - - $.on input, 'change', FappeTyme.cb.fappe + FappeTyme[lc] = input = el.firstElementChild + $.on input, 'change', FappeTyme.cb.toggle.bind input $.event 'AddMenuEntry', type: 'header' el: el order: 97 - if Conf['Werk Tyme'] - el = $.el 'label', - innerHTML: " Werk Tyme" - title: 'Werk Tyme' - - FappeTyme.werk = input = el.firstElementChild - - $.on input, 'change', FappeTyme.cb.werk - - $.event 'AddMenuEntry', - type: 'header' - el: el - order: 98 + FappeTyme.cb.set type if Conf[lc] Post.callbacks.push name: 'Fappe Tyme' @@ -39,9 +27,11 @@ FappeTyme = $.addClass @nodes.root, "noFile" cb: - fappe: -> - $.toggleClass doc, 'fappeTyme' - FappeTyme.fappe.checked = $.hasClass doc, 'fappeTyme' - werk: -> - $.toggleClass doc, 'werkTyme' - FappeTyme.werk.checked = $.hasClass doc, 'werkTyme' \ No newline at end of file + set: (type) -> + FappeTyme[type].checked = Conf[type] + $["#{if Conf[type] then 'add' else 'rm'}Class"] doc, "#{type}Tyme" + + toggle: -> + Conf[@name] = !Conf[@name] + FappeTyme.cb.set @name + $.cb.checked.call FappeTyme[@name] \ No newline at end of file diff --git a/src/Miscellaneous/Keybinds.coffee b/src/Miscellaneous/Keybinds.coffee index 78dbe46ac..dc25fd49f 100755 --- a/src/Miscellaneous/Keybinds.coffee +++ b/src/Miscellaneous/Keybinds.coffee @@ -81,9 +81,9 @@ Keybinds = when Conf['Open Gallery'] Gallery.cb.toggle() when Conf['fappeTyme'] - FappeTyme.cb.fappe() + FappeTyme.cb.toggle.call {name: 'fappe'} when Conf['werkTyme'] - FappeTyme.cb.werk() + FappeTyme.cb.toggle.call {name: 'werk'} # Board Navigation when Conf['Front page'] if g.VIEW is 'index'