diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js
index 53cb7d8e..80c9a327 100644
--- a/copyparty/web/browser.js
+++ b/copyparty/web/browser.js
@@ -1521,6 +1521,9 @@ function fmt_ren(re, md, fmt) {
if (!len || !chr)
throw 'invalid arguments to ' + fun;
+ if (!str.length)
+ ng += 1;
+
while (str.length < len)
str = chr + str;
@@ -1533,6 +1536,9 @@ function fmt_ren(re, md, fmt) {
if (!len || !chr)
throw 'invalid arguments to ' + fun;
+ if (!str.length)
+ ng += 1;
+
while (str.length < len)
str += chr;
@@ -1606,9 +1612,16 @@ var fileman = (function () {
mkeys = vars[1].concat(vars[2]);
var md = vars[0];
- for (var k in md)
- if (md.hasOwnProperty(k) && k.startsWith('.'))
+ for (var k in md) {
+ if (!md.hasOwnProperty(k))
+ continue;
+
+ md[k.toLowerCase()] = md[k];
+ k = k.toLowerCase();
+
+ if (k.startsWith('.'))
md[k.slice(1)] = md[k];
+ }
md.t = md.ext;
md.date = md.ts;
md.size = md.sz;
@@ -1630,20 +1643,20 @@ var fileman = (function () {
var html = sel.length > 1 ? ['
'] : [
'
',
- '
',
+ '
',
'//',
- '
'
+ '
'
];
html = html.concat([
- '
',
+ '
',
'
',
'
advanced',
'
case',
'
',
'
',
- 'regex | |
',
- 'format | |
',
+ 'regex | |
',
+ 'format | |
',
'preset | ',
'',
'',
@@ -1671,7 +1684,7 @@ var fileman = (function () {
html.push(' |
');
if (sel.length == 1) {
- html.push('
tags for the selected file (read-only):
');
+ html.push('tags for the selected file (read-only, just for reference):
');
for (var a = 0; a < mkeys.length; a++)
html.push('' + esc(mkeys[a]) + ' | |
');
@@ -1745,7 +1758,11 @@ var fileman = (function () {
ipre = ebi('rn_pre'),
idel = ebi('rn_pdel'),
inew = ebi('rn_pnew'),
- presets = jread("rn_pre", {});
+ defp = '$lpad((tn),2,0). [(artist) - ](title).(ext)';
+
+ var presets = {};
+ presets[defp] = ['', defp];
+ presets = jread("rn_pre", presets);
function spresets() {
var keys = Object.keys(presets), o;
@@ -1783,6 +1800,14 @@ var fileman = (function () {
};
spresets();
+ ire.onkeydown = ifmt.onkeydown = function (e) {
+ if (e.key == 'Escape')
+ return rn_cancel();
+
+ if (e.key == 'Enter')
+ return rn_apply();
+ };
+
ire.oninput = ifmt.oninput = function (e) {
var ptn = ire.value,
fmt = ifmt.value,