Lets reduce duplicate keystrokes.

This commit is contained in:
Zixaphir 2013-03-16 09:37:39 -07:00
parent c0c53bca13
commit bcd49395a8
2 changed files with 112 additions and 96 deletions

View File

@ -20,7 +20,7 @@
// @icon data:image/gif;base64,R0lGODlhEAAQAKECAAAAAGbMM////////yH5BAEKAAIALAAAAAAQABAAAAIxlI+pq+D9DAgUoFkPDlbs7lGiI2bSVnKglnJMOL6omczxVZK3dH/41AG6Lh7i6qUoAAA7 // @icon data:image/gif;base64,R0lGODlhEAAQAKECAAAAAGbMM////////yH5BAEKAAIALAAAAAAQABAAAAIxlI+pq+D9DAgUoFkPDlbs7lGiI2bSVnKglnJMOL6omczxVZK3dH/41AG6Lh7i6qUoAAA7
// ==/UserScript== // ==/UserScript==
/* 4chan X Beta - Version 3.0.0 - 2013-03-15 /* 4chan X Beta - Version 3.0.0 - 2013-03-16
* http://mayhemydg.github.com/4chan-x/ * http://mayhemydg.github.com/4chan-x/
* *
* Copyright (c) 2009-2011 James Campos <james.r.campos@gmail.com> * Copyright (c) 2009-2011 James Campos <james.r.campos@gmail.com>
@ -7821,7 +7821,7 @@
Main = { Main = {
init: function() { init: function() {
var flatten, initFeature, key, pathname, val; var flatten, initFeature, initFeatures, key, pathname, val;
$.asap((function() { $.asap((function() {
return d.documentElement; return d.documentElement;
}), function() { }), function() {
@ -7886,53 +7886,64 @@
}); });
} }
}; };
initFeature('Polyfill', Polyfill); initFeatures = function(features) {
initFeature('Header', Header); var feature, _results;
initFeature('Settings', Settings); _results = [];
initFeature('Fourchan thingies', Fourchan); for (key in features) {
initFeature('Custom CSS', CustomCSS); feature = features[key];
initFeature('Linkify', Linkify); _results.push(initFeature(key, feature));
initFeature('Resurrect Quotes', Quotify); }
initFeature('Filter', Filter); return _results;
initFeature('Thread Hiding', ThreadHiding); };
initFeature('Reply Hiding', ReplyHiding); initFeatures({
initFeature('Recursive', Recursive); 'Polyfill': Polyfill,
initFeature('Strike-through Quotes', QuoteStrikeThrough); 'Header': Header,
initFeature('Quick Reply', QR); 'Settings': Settings,
initFeature('Menu', Menu); 'Fourchan thingies': Fourchan,
initFeature('Report Link', ReportLink); 'Custom CSS': CustomCSS,
initFeature('Thread Hiding (Menu)', ThreadHiding.menu); 'Linkify': Linkify,
initFeature('Reply Hiding (Menu)', ReplyHiding.menu); 'Resurrect Quotes': Quotify,
initFeature('Delete Link', DeleteLink); 'Filter': Filter,
initFeature('Filter (Menu)', Filter.menu); 'Thread Hiding': ThreadHiding,
initFeature('Download Link', DownloadLink); 'Reply Hiding': ReplyHiding,
initFeature('Archive Link', ArchiveLink); 'Recursive': Recursive,
initFeature('Quote Inlining', QuoteInline); 'Strike-through Quotes': QuoteStrikeThrough,
initFeature('Quote Previewing', QuotePreview); 'Quick Reply': QR,
initFeature('Quote Backlinks', QuoteBacklink); 'Menu': Menu,
initFeature('Mark Quotes of You', QuoteYou); 'Report Link': ReportLink,
initFeature('Mark OP Quotes', QuoteOP); 'Thread Hiding (Menu)': ThreadHiding.menu,
initFeature('Mark Cross-thread Quotes', QuoteCT); 'Reply Hiding (Menu)': ReplyHiding.menu,
initFeature('Anonymize', Anonymize); 'Delete Link': DeleteLink,
initFeature('Time Formatting', Time); 'Filter (Menu)': Filter.menu,
initFeature('Relative Post Dates', RelativeDates); 'Download Link': DownloadLink,
initFeature('File Info Formatting', FileInfo); 'Archive Link': ArchiveLink,
initFeature('Sauce', Sauce); 'Quote Inlining': QuoteInline,
initFeature('Image Expansion', ImageExpand); 'Quote Previewing': QuotePreview,
initFeature('Image Expansion (Menu)', ImageExpand.menu); 'Quote Backlinks': QuoteBacklink,
initFeature('Reveal Spoilers', RevealSpoilers); 'Mark Quotes of You': QuoteYou,
initFeature('Image Replace', ImageReplace); 'Mark OP Quotes': QuoteOP,
initFeature('Image Hover', ImageHover); 'Mark Cross-thread Quotes': QuoteCT,
initFeature('Comment Expansion', ExpandComment); 'Anonymize': Anonymize,
initFeature('Thread Expansion', ExpandThread); 'Time Formatting': Time,
initFeature('Thread Excerpt', ThreadExcerpt); 'Relative Post Dates': RelativeDates,
initFeature('Favicon', Favicon); 'File Info Formatting': FileInfo,
initFeature('Unread', Unread); 'Sauce': Sauce,
initFeature('Thread Stats', ThreadStats); 'Image Expansion': ImageExpand,
initFeature('Thread Updater', ThreadUpdater); 'Image Expansion (Menu)': ImageExpand.menu,
initFeature('Thread Watcher', ThreadWatcher); 'Reveal Spoilers': RevealSpoilers,
initFeature('Index Navigation', Nav); 'Image Replace': ImageReplace,
initFeature('Keybinds', Keybinds); 'Image Hover': ImageHover,
'Comment Expansion': ExpandComment,
'Thread Expansion': ExpandThread,
'Thread Excerpt': ThreadExcerpt,
'Favicon': Favicon,
'Unread': Unread,
'Thread Stats': ThreadStats,
'Thread Updater': ThreadUpdater,
'Thread Watcher': ThreadWatcher,
'Index Navigation': Nav,
'Keybinds': Keybinds
});
$.on(d, 'AddCallback', Main.addCallback); $.on(d, 'AddCallback', Main.addCallback);
$.on(d, '4chanMainInit', Main.initStyle); $.on(d, '4chanMainInit', Main.initStyle);
return $.ready(Main.initReady); return $.ready(Main.initReady);

View File

@ -335,54 +335,59 @@ Main =
# finally # finally
# c.timeEnd "#{name} initialization" # c.timeEnd "#{name} initialization"
initFeatures = (features) ->
for key, feature of features
initFeature key, feature
# c.time 'All initializations' # c.time 'All initializations'
initFeature 'Polyfill', Polyfill initFeatures
initFeature 'Header', Header 'Polyfill': Polyfill
initFeature 'Settings', Settings 'Header': Header
initFeature 'Fourchan thingies', Fourchan 'Settings': Settings
initFeature 'Custom CSS', CustomCSS 'Fourchan thingies': Fourchan
initFeature 'Linkify', Linkify 'Custom CSS': CustomCSS
initFeature 'Resurrect Quotes', Quotify 'Linkify': Linkify
initFeature 'Filter', Filter 'Resurrect Quotes': Quotify
initFeature 'Thread Hiding', ThreadHiding 'Filter': Filter
initFeature 'Reply Hiding', ReplyHiding 'Thread Hiding': ThreadHiding
initFeature 'Recursive', Recursive 'Reply Hiding': ReplyHiding
initFeature 'Strike-through Quotes', QuoteStrikeThrough 'Recursive': Recursive
initFeature 'Quick Reply', QR 'Strike-through Quotes': QuoteStrikeThrough
initFeature 'Menu', Menu 'Quick Reply': QR
initFeature 'Report Link', ReportLink 'Menu': Menu
initFeature 'Thread Hiding (Menu)', ThreadHiding.menu 'Report Link': ReportLink
initFeature 'Reply Hiding (Menu)', ReplyHiding.menu 'Thread Hiding (Menu)': ThreadHiding.menu
initFeature 'Delete Link', DeleteLink 'Reply Hiding (Menu)': ReplyHiding.menu
initFeature 'Filter (Menu)', Filter.menu 'Delete Link': DeleteLink
initFeature 'Download Link', DownloadLink 'Filter (Menu)': Filter.menu
initFeature 'Archive Link', ArchiveLink 'Download Link': DownloadLink
initFeature 'Quote Inlining', QuoteInline 'Archive Link': ArchiveLink
initFeature 'Quote Previewing', QuotePreview 'Quote Inlining': QuoteInline
initFeature 'Quote Backlinks', QuoteBacklink 'Quote Previewing': QuotePreview
initFeature 'Mark Quotes of You', QuoteYou 'Quote Backlinks': QuoteBacklink
initFeature 'Mark OP Quotes', QuoteOP 'Mark Quotes of You': QuoteYou
initFeature 'Mark Cross-thread Quotes', QuoteCT 'Mark OP Quotes': QuoteOP
initFeature 'Anonymize', Anonymize 'Mark Cross-thread Quotes': QuoteCT
initFeature 'Time Formatting', Time 'Anonymize': Anonymize
initFeature 'Relative Post Dates', RelativeDates 'Time Formatting': Time
initFeature 'File Info Formatting', FileInfo 'Relative Post Dates': RelativeDates
initFeature 'Sauce', Sauce 'File Info Formatting': FileInfo
initFeature 'Image Expansion', ImageExpand 'Sauce': Sauce
initFeature 'Image Expansion (Menu)', ImageExpand.menu 'Image Expansion': ImageExpand
initFeature 'Reveal Spoilers', RevealSpoilers 'Image Expansion (Menu)': ImageExpand.menu
initFeature 'Image Replace', ImageReplace 'Reveal Spoilers': RevealSpoilers
initFeature 'Image Hover', ImageHover 'Image Replace': ImageReplace
initFeature 'Comment Expansion', ExpandComment 'Image Hover': ImageHover
initFeature 'Thread Expansion', ExpandThread 'Comment Expansion': ExpandComment
initFeature 'Thread Excerpt', ThreadExcerpt 'Thread Expansion': ExpandThread
initFeature 'Favicon', Favicon 'Thread Excerpt': ThreadExcerpt
initFeature 'Unread', Unread 'Favicon': Favicon
initFeature 'Thread Stats', ThreadStats 'Unread': Unread
initFeature 'Thread Updater', ThreadUpdater 'Thread Stats': ThreadStats
initFeature 'Thread Watcher', ThreadWatcher 'Thread Updater': ThreadUpdater
initFeature 'Index Navigation', Nav 'Thread Watcher': ThreadWatcher
initFeature 'Keybinds', Keybinds 'Index Navigation': Nav
'Keybinds': Keybinds
# c.timeEnd 'All initializations' # c.timeEnd 'All initializations'
$.on d, 'AddCallback', Main.addCallback $.on d, 'AddCallback', Main.addCallback