From b804143cd4cba3f1f18fb4a154159f3e90f4cab7 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Wed, 6 Jul 2016 01:33:19 -0700 Subject: [PATCH] Revert "Remove 'Open Post in New Tab' option. #904" This reverts commit 02e9089f9694b47321b24915448968e0f456e36d. --- src/Posting/QR.coffee | 19 ++++++++++++------- src/config/Config.coffee | 5 +++++ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee index d0e1a0b21..8884e5b3f 100644 --- a/src/Posting/QR.coffee +++ b/src/Posting/QR.coffee @@ -775,28 +775,33 @@ QR = QR.cooldown.add threadID, postID - url = if threadID is postID # new thread + URL = if threadID is postID # new thread "#{window.location.origin}/#{g.BOARD}/thread/#{threadID}" - else if g.VIEW is 'index' and lastPostToThread # replying from the index + else if g.VIEW is 'index' and lastPostToThread and Conf['Open Post in New Tab'] # replying from the index "#{window.location.origin}/#{g.BOARD}/thread/#{threadID}#p#{postID}" - if url + if URL + open = if Conf['Open Post in New Tab'] or postsCount + -> $.open URL + else + -> window.location = URL + if threadID is postID # XXX 4chan sometimes responds before the thread exists. - QR.waitForThread url + QR.waitForThread URL, open else - $.open url + open() QR.status() - waitForThread: (url) -> + waitForThread: (url, cb) -> attempts = 0 check = -> $.ajax url, onloadend: -> attempts++ if attempts >= 6 or @status is 200 - $.open url + cb() else setTimeout check, attempts * $.SECOND , diff --git a/src/config/Config.coffee b/src/config/Config.coffee index 39c34923b..04a0841dd 100644 --- a/src/config/Config.coffee +++ b/src/config/Config.coffee @@ -413,6 +413,11 @@ Config = 'Automatically hide the quick reply when posting.' 1 ] + 'Open Post in New Tab': [ + true + 'Open new threads or replies to a thread from the index in a new tab.' + 1 + ] 'Remember QR Size': [ false 'Remember the size of the Quick reply.'