diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee
index 48ca1077ea..d199e5e588 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 and QR.posts.length == 1
+ 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,12 @@ QR =
QR.setCustomCooldown customCooldownEnabled
$.sync 'customCooldownEnabled', QR.setCustomCooldown
+ 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()
$.on nodes.autohide, 'change', QR.toggleHide
@@ -568,6 +590,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..14b1fd99e0 100644
--- a/src/Posting/QR/QuickReply.html
+++ b/src/Posting/QR/QuickReply.html
@@ -45,6 +45,7 @@
+
@@ -62,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.'