From c0598f53c11f3b63e2562f8b6dfd28fb7ee1b732 Mon Sep 17 00:00:00 2001 From: Jeff Sandberg Date: Fri, 5 Feb 2021 20:53:42 -0700 Subject: [PATCH 1/3] Add randomizeFilename toggle to QuickReply Adds a button to the QuickReply that allows for toggling of randomize filename. If a file is present when it is clicked, the filename is randomized. This is destructive, the original filename is not restored if toggled off --- src/Posting/QR.coffee | 21 +++++++++++++++++++++ src/Posting/QR.post.coffee | 8 ++++++-- src/Posting/QR/QuickReply.html | 1 + 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee index 48ca1077ea..9af47d6756 100644 --- a/src/Posting/QR.coffee +++ b/src/Posting/QR.coffee @@ -215,6 +215,21 @@ QR = QR.setCustomCooldown enabled $.set 'customCooldownEnabled', enabled + setRandomizedFilename: (enabled) -> + Conf['Randomize Filename'] = enabled + QR.nodes.randomizedFilename.classList.toggle 'disabled', !enabled + if enabled + for post in QR.posts when post.file + post.randomizeFilename() + post.saveFilename() + post.showFileData() + + toggleRandomizedFilename: -> + enabled = $.hasClass QR.nodes.randomizedFilename, 'disabled' + QR.setRandomizedFilename enabled + $.set 'Randomize Filename', enabled + + error: (err, focusOverride) -> QR.open() if typeof err is 'string' @@ -528,6 +543,7 @@ QR = setNode 'urlButton', '#url-button' setNode 'pasteArea', '#paste-area' setNode 'customCooldown', '#custom-cooldown-button' + setNode 'randomizedFilename', '#randomize-filename-button' setNode 'dumpButton', '#dump-button' setNode 'status', '[type=submit]' setNode 'flashTag', '[name=filetag]' @@ -548,6 +564,10 @@ QR = QR.setCustomCooldown customCooldownEnabled $.sync 'customCooldownEnabled', QR.setCustomCooldown + $.get 'Randomize Filename', Conf['Randomize Filename'], ({'Randomize Filename': randomizeFilenameEnabled}) -> + QR.setRandomizedFilename randomizeFilenameEnabled + $.sync 'Randomize Filename', QR.setRandomizedFilename + QR.flagsInput() $.on nodes.autohide, 'change', QR.toggleHide @@ -568,6 +588,7 @@ QR = $.on nodes.fileRM, 'click', -> QR.selected.rmFile() $.on nodes.urlButton, 'click', -> QR.handleUrl '' $.on nodes.customCooldown, 'click', QR.toggleCustomCooldown + $.on nodes.randomizedFilename, 'click', QR.toggleRandomizedFilename $.on nodes.dumpButton, 'click', -> nodes.el.classList.toggle 'dump' $.on nodes.fileInput, 'change', QR.handleFiles diff --git a/src/Posting/QR.post.coffee b/src/Posting/QR.post.coffee index 8eab7d5e28..1e1923db80 100644 --- a/src/Posting/QR.post.coffee +++ b/src/Posting/QR.post.coffee @@ -202,10 +202,14 @@ QR.post = class error.parentNode.previousElementSibling.click() return + + randomizeFilename: -> + @filename = "#{Date.now() - Math.floor(Math.random() * 365 * $.DAY)}" + @filename += ext[0] if ext = @file.name.match QR.validExtension + setFile: (@file) -> if Conf['Randomize Filename'] and g.BOARD.ID isnt 'f' - @filename = "#{Date.now() - Math.floor(Math.random() * 365 * $.DAY)}" - @filename += ext[0] if ext = @file.name.match QR.validExtension + @randomizeFilename() else @filename = @file.name @filesize = $.bytesToString @file.size diff --git a/src/Posting/QR/QuickReply.html b/src/Posting/QR/QuickReply.html index 51a58f961f..1fbfdbb363 100644 --- a/src/Posting/QR/QuickReply.html +++ b/src/Posting/QR/QuickReply.html @@ -45,6 +45,7 @@ + From c1cc2f393049e315923efcf176037e2ad6eb325f Mon Sep 17 00:00:00 2001 From: Jeff Sandberg Date: Sat, 6 Feb 2021 12:26:06 -0700 Subject: [PATCH 2/3] Adds a setting to toggle QR randomize filename button Allows the user to control if they want to see the randomize filename button on their QR. Button appearance is independent of the actual randomize filename setting Allows the user to control if they want to see the randomize filename button on their QR. Button appearance is independent of the actual randomize filename setting --- src/Posting/QR.coffee | 8 +++++--- src/Posting/QR/QuickReply.html | 4 ++-- src/config/Config.coffee | 5 +++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee index 9af47d6756..a5ea102706 100644 --- a/src/Posting/QR.coffee +++ b/src/Posting/QR.coffee @@ -564,9 +564,11 @@ QR = QR.setCustomCooldown customCooldownEnabled $.sync 'customCooldownEnabled', QR.setCustomCooldown - $.get 'Randomize Filename', Conf['Randomize Filename'], ({'Randomize Filename': randomizeFilenameEnabled}) -> - QR.setRandomizedFilename randomizeFilenameEnabled - $.sync 'Randomize Filename', QR.setRandomizedFilename + if Conf['Randomize Filename Button'] + QR.nodes.randomizedFilename.hidden = false + $.get 'Randomize Filename', Conf['Randomize Filename'], ({'Randomize Filename': randomizeFilenameEnabled}) -> + QR.setRandomizedFilename randomizeFilenameEnabled + $.sync 'Randomize Filename', QR.setRandomizedFilename QR.flagsInput() diff --git a/src/Posting/QR/QuickReply.html b/src/Posting/QR/QuickReply.html index 1fbfdbb363..14b1fd99e0 100644 --- a/src/Posting/QR/QuickReply.html +++ b/src/Posting/QR/QuickReply.html @@ -45,7 +45,7 @@ - + @@ -63,4 +63,4 @@ - + diff --git a/src/config/Config.coffee b/src/config/Config.coffee index 6f89a2f2d0..dbb2b45f2b 100644 --- a/src/config/Config.coffee +++ b/src/config/Config.coffee @@ -491,6 +491,11 @@ Config = 'Set the filename to a random timestamp within the past year. Disabled on /f/.' 1 ] + 'Randomize Filename Button': [ + false + 'Show a button on the Quick Reply to randomize the filename.' + 1 + ] 'Show New Thread Option in Threads': [ true 'Show the option to post a new / different thread from inside a thread.' From 1dac7d6632695841efea96e10e1d3c28c338f689 Mon Sep 17 00:00:00 2001 From: Jeff Sandberg Date: Sat, 6 Feb 2021 12:27:16 -0700 Subject: [PATCH 3/3] Dont randomize existing dumplist unless its 1 When toggling the randomize-filename-button, don't rename existing files if there is a dumplist active. Do rename existing files if only one post is present --- src/Posting/QR.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee index a5ea102706..d199e5e588 100644 --- a/src/Posting/QR.coffee +++ b/src/Posting/QR.coffee @@ -218,7 +218,7 @@ QR = setRandomizedFilename: (enabled) -> Conf['Randomize Filename'] = enabled QR.nodes.randomizedFilename.classList.toggle 'disabled', !enabled - if enabled + if enabled and QR.posts.length == 1 for post in QR.posts when post.file post.randomizeFilename() post.saveFilename()