diff --git a/customize.dist/main.css b/customize.dist/main.css index 6ec0172ea..063324504 100644 --- a/customize.dist/main.css +++ b/customize.dist/main.css @@ -603,6 +603,14 @@ html.cp, font-family: lato, Helvetica, sans-serif; font-size: 1.02em; } +.cp .unselectable { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} .cp h1, .cp h2, .cp h3, diff --git a/customize.dist/src/less/cryptpad.less b/customize.dist/src/less/cryptpad.less index 883e62ce4..0ee8785e6 100644 --- a/customize.dist/src/less/cryptpad.less +++ b/customize.dist/src/less/cryptpad.less @@ -43,6 +43,15 @@ a.github-corner > svg { font-size: 1.02em; } +.unselectable { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + h1,h2,h3,h4,h5,h6 { color: @fore; diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js index 4ef512615..6499258e0 100644 --- a/customize.dist/translations/messages.fr.js +++ b/customize.dist/translations/messages.fr.js @@ -252,6 +252,7 @@ define(function () { 'nos raisons pour ces changements et pourquoi vous devriez vraiment vous enregistrer et vous connecter.'; out.fm_backup_title = 'Lien de secours'; out.fm_nameFile = 'Comment souhaitez-vous nommer ce fichier ?'; + out.fm_error_cantPin = "Erreur interne du serveur. Veuillez recharger la page et essayer de nouveau."; // File - Context menu out.fc_newfolder = "Nouveau dossier"; out.fc_rename = "Renommer"; @@ -365,6 +366,7 @@ define(function () { out.upload_name = "Nom du fichier"; out.upload_size = "Taille"; out.upload_progress = "État"; + out.download_button = "Déchiffrer et télécharger"; // general warnings out.warn_notPinned = "Ce pad n'est stocké dans aucun CryptDrive. Il va expirer après 3 mois d'inactivité. En savoir plus..."; diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 4643afb55..737b271c9 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -254,6 +254,7 @@ define(function () { 'why we are doing this and why you really should Sign up and Log in.'; out.fm_backup_title = 'Backup link'; out.fm_nameFile = 'How would you like to name that file?'; + out.fm_error_cantPin = "Internal server error. Please reload the page and try again."; // File - Context menu out.fc_newfolder = "New folder"; out.fc_rename = "Rename"; @@ -370,6 +371,7 @@ define(function () { out.upload_name = "File name"; out.upload_size = "Size"; out.upload_progress = "Progress"; + out.download_button = "Decrypt & Download"; // general warnings out.warn_notPinned = "This pad is not in anyone's CryptDrive. It will expire after 3 months. Learn more..."; diff --git a/rpc.js b/rpc.js index b0c5dbb12..3442a4c96 100644 --- a/rpc.js +++ b/rpc.js @@ -13,7 +13,7 @@ var RPC = module.exports; var Store = require("./storage/file"); -var DEFAULT_LIMIT = 150 * 1024 * 1024; +var DEFAULT_LIMIT = 50 * 1024 * 1024; var isValidId = function (chan) { return /^[a-fA-F0-9]/.test(chan) || diff --git a/www/common/userObject.js b/www/common/userObject.js index 51840dca5..1559397d0 100644 --- a/www/common/userObject.js +++ b/www/common/userObject.js @@ -575,7 +575,10 @@ define([ atime: +new Date(), ctime: +new Date() }, function (err) { - if (err) { return void cb(err); } + if (err) { + logError(err); + return void cb(err); + } parentEl[fileName] = href; var newPath = filePath.slice(); newPath.push(fileName); diff --git a/www/drive/main.js b/www/drive/main.js index a85c86e47..861136454 100644 --- a/www/drive/main.js +++ b/www/drive/main.js @@ -1397,8 +1397,11 @@ define([ // Handlers if (isInRoot) { var onCreated = function (err, info) { - if (err && err === E_OVER_LIMIT) { - return void Cryptpad.alert(Messages.pinLimitDrive, null, true); + if (err) { + if (err === E_OVER_LIMIT) { + return void Cryptpad.alert(Messages.pinLimitDrive, null, true); + } + return void Cryptpad.alert(Messages.fm_error_cantPin); } module.newFolder = info.newPath; refresh(); @@ -2361,7 +2364,7 @@ define([ return void Cryptpad.alert(Messages.pinLimitDrive, null, true); } if (err) { - return void console.error("Unable to create the file", err); + return void Cryptpad.alert(Messages.fm_error_cantPin); } module.newFolder = info.newPath; refresh(); diff --git a/www/file/file.css b/www/file/file.css index 375a356cc..6554a77f0 100644 --- a/www/file/file.css +++ b/www/file/file.css @@ -7,12 +7,12 @@ body { padding: 0px; display: inline-block; } -#file { +#file, +#dl { display: block; - height: 300px; - width: 300px; + height: 100%; + width: 100%; border: 2px solid black; - margin: 50px; } .inputfile { width: 0.1px; @@ -22,25 +22,32 @@ body { position: absolute; z-index: -1; } -#upload-form { +#upload-form, +#download-form { padding: 0px; margin: 0px; position: relative; width: 50vh; height: 50vh; display: block; - margin: auto; + margin: 50px auto; + max-width: 80vw; } -#upload-form label { +#upload-form label, +#download-form label { + line-height: 50vh; + text-align: center; position: relative; + padding: 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .hovering { background-color: rgba(255, 0, 115, 0.5) !important; } .block { display: block; - height: 50vh; - width: 50vh; } .hidden { display: none; @@ -48,7 +55,6 @@ body { .inputfile + label { border: 2px solid black; background-color: rgba(50, 50, 50, 0.1); - margin: 50px; display: block; } .inputfile:focus + label, diff --git a/www/file/file.less b/www/file/file.less index b3074e33c..a7da1bb3e 100644 --- a/www/file/file.less +++ b/www/file/file.less @@ -9,12 +9,11 @@ html, body { padding: 0px; display: inline-block; } -#file { +#file, #dl { display: block; - height: 300px; - width: 300px; + height: 100%; + width: 100%; border: 2px solid black; - margin: 50px; } .inputfile { @@ -26,7 +25,7 @@ html, body { z-index: -1; } -#upload-form { +#upload-form, #download-form { padding: 0px; margin: 0px; @@ -34,20 +33,24 @@ html, body { width: 50vh; height: 50vh; display: block; - margin: auto; -} -#upload-form label{ - position: relative; + margin: 50px auto; + max-width: 80vw; + label { + line-height: 50vh; + text-align: center; + position: relative; + padding: 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } } - .hovering { background-color: rgba(255, 0, 115, 0.5) !important; } .block { display: block; - height: 50vh; - width: 50vh; } .hidden { display: none; @@ -55,7 +58,6 @@ html, body { .inputfile + label { border: 2px solid black; background-color: rgba(50, 50, 50, .10); - margin: 50px; display: block; } diff --git a/www/file/inner.html b/www/file/inner.html index c6fe5fb32..a9660b2d3 100644 --- a/www/file/inner.html +++ b/www/file/inner.html @@ -6,14 +6,21 @@ +
- + +
diff --git a/www/file/main.js b/www/file/main.js index 0ce6ecefa..7fb0d0e88 100644 --- a/www/file/main.js +++ b/www/file/main.js @@ -21,8 +21,9 @@ define([ var ifrw = $('#pad-iframe')[0].contentWindow; var $iframe = $('#pad-iframe').contents(); var $form = $iframe.find('#upload-form'); - //var $progress = $form.find('#progress'); + var $dlform = $iframe.find('#download-form'); var $label = $form.find('label'); + var $dllabel = $dlform.find('label'); var $table = $iframe.find('#status'); Cryptpad.addLoadingScreen(); @@ -100,8 +101,6 @@ define([ var b64Key = Nacl.util.encodeBase64(key); Cryptpad.replaceHash(Cryptpad.getFileHashFromKeys(id, b64Key)); - //$form.hide(); - APP.toolbar.addElement(['fileshare'], {}); var title = document.title = metadata.name; @@ -181,11 +180,10 @@ define([ $tr.find('.progressValue').text(Messages.upload_cancelled); }); - var $tr2 = $('', {id: id}).appendTo($table); - $('