summaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/appinfo/info.xml50
-rw-r--r--apps/files/download.php4
-rw-r--r--apps/files/img/change.pngbin594 -> 560 bytes
-rw-r--r--apps/files/img/change.svg2
-rw-r--r--apps/files/js/fileactions.js17
-rw-r--r--apps/files/js/filelist.js34
-rw-r--r--apps/files/l10n/es.js4
-rw-r--r--apps/files/l10n/es.json4
-rw-r--r--apps/files/l10n/ja.js14
-rw-r--r--apps/files/l10n/ja.json14
-rw-r--r--apps/files/l10n/lt_LT.js1
-rw-r--r--apps/files/l10n/lt_LT.json1
-rw-r--r--apps/files/l10n/lv.js2
-rw-r--r--apps/files/l10n/lv.json2
-rw-r--r--apps/files/l10n/nl.js5
-rw-r--r--apps/files/l10n/nl.json5
-rw-r--r--apps/files/l10n/pt_PT.js2
-rw-r--r--apps/files/l10n/pt_PT.json2
-rw-r--r--apps/files/l10n/ru.js2
-rw-r--r--apps/files/l10n/ru.json2
-rw-r--r--apps/files/l10n/sk.js8
-rw-r--r--apps/files/l10n/sk.json8
-rw-r--r--apps/files/l10n/sv.js3
-rw-r--r--apps/files/l10n/sv.json3
-rw-r--r--apps/files/l10n/zh_CN.js7
-rw-r--r--apps/files/l10n/zh_CN.json7
-rw-r--r--apps/files/templates/list.php2
-rw-r--r--apps/files/tests/js/fileactionsmenuSpec.js3
-rw-r--r--apps/files/tests/js/filelistSpec.js9
29 files changed, 161 insertions, 56 deletions
diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml
index 1faf2c80adc..f5b43070cee 100644
--- a/apps/files/appinfo/info.xml
+++ b/apps/files/appinfo/info.xml
@@ -1,22 +1,43 @@
<?xml version="1.0"?>
-<info>
+<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
<id>files</id>
<name>Files</name>
+ <summary>File Management</summary>
<description>File Management</description>
- <licence>AGPL</licence>
+ <version>1.9.0</version>
+ <licence>agpl</licence>
<author>Robin Appelman</author>
<author>Vincent Petry</author>
<default_enable/>
- <version>1.9.0</version>
<types>
<filesystem/>
</types>
- <dependencies>
- <nextcloud min-version="14" max-version="14" />
- </dependencies>
<documentation>
<user>user-files</user>
</documentation>
+ <category>files</category>
+ <bugs>https://github.com/nextcloud/server/issues</bugs>
+ <dependencies>
+ <nextcloud min-version="14" max-version="14" />
+ </dependencies>
+
+ <background-jobs>
+ <job>OCA\Files\BackgroundJob\ScanFiles</job>
+ <job>OCA\Files\BackgroundJob\DeleteOrphanedItems</job>
+ <job>OCA\Files\BackgroundJob\CleanupFileLocks</job>
+ </background-jobs>
+
+ <commands>
+ <command>OCA\Files\Command\Scan</command>
+ <command>OCA\Files\Command\DeleteOrphanedFiles</command>
+ <command>OCA\Files\Command\TransferOwnership</command>
+ <command>OCA\Files\Command\ScanAppData</command>
+ </commands>
+
+ <settings>
+ <admin>OCA\Files\Settings\Admin</admin>
+ </settings>
<activity>
<settings>
@@ -39,23 +60,6 @@
</providers>
</activity>
- <background-jobs>
- <job>OCA\Files\BackgroundJob\ScanFiles</job>
- <job>OCA\Files\BackgroundJob\DeleteOrphanedItems</job>
- <job>OCA\Files\BackgroundJob\CleanupFileLocks</job>
- </background-jobs>
-
- <settings>
- <admin>OCA\Files\Settings\Admin</admin>
- </settings>
-
- <commands>
- <command>OCA\Files\Command\Scan</command>
- <command>OCA\Files\Command\DeleteOrphanedFiles</command>
- <command>OCA\Files\Command\TransferOwnership</command>
- <command>OCA\Files\Command\ScanAppData</command>
- </commands>
-
<navigations>
<navigation>
<name>Files</name>
diff --git a/apps/files/download.php b/apps/files/download.php
index 60f386f50f0..2389c9b535e 100644
--- a/apps/files/download.php
+++ b/apps/files/download.php
@@ -41,7 +41,9 @@ $ftype=\OC::$server->getMimeTypeDetector()->getSecureMimeType(\OC\Files\Filesyst
header('Content-Type:'.$ftype);
OCP\Response::setContentDispositionHeader(basename($filename), 'attachment');
-OCP\Response::disableCaching();
+header('Pragma: public');// enable caching in IE
+header('Expires: 0');
+header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
OCP\Response::setContentLengthHeader(\OC\Files\Filesystem::filesize($filename));
OC_Util::obEnd();
diff --git a/apps/files/img/change.png b/apps/files/img/change.png
index 9f64e60d565..ca77a8844f6 100644
--- a/apps/files/img/change.png
+++ b/apps/files/img/change.png
Binary files differ
diff --git a/apps/files/img/change.svg b/apps/files/img/change.svg
index b3404d2ef84..12071422b7f 100644
--- a/apps/files/img/change.svg
+++ b/apps/files/img/change.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1"><path d="m8 0c-2.8557-3.771e-8 -5.4999 1.5269-6.9277 4l2.5976 1.5c0.8944-1.5491 2.5413-2.5 4.3301-2.5 1.5874 0 3.0628 0.74877 4 2l-2 2h6v-6l-1.875 1.875c-1.505-1.797-3.736-2.875-6.125-2.875z"/><path d="m0 9v6l1.877-1.877c1.4882 1.778 3.7559 2.857 6.123 2.877 2.8797 0.02436 5.4878-1.506 6.9277-4l-2.598-1.5c-0.902 1.562-2.5261 2.515-4.33 2.5-1.5737-0.013-3.0729-0.762-4-2l2-2z"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" version="1.1" height="16"><path d="m8 2c-2.142 0-4.125 1.145-5.196 3l1.948 1.125c0.671-1.162 1.906-1.875 3.2476-1.875 1.1906 0 2.297 0.56157 3 1.5l-1.5 1.5h4.5v-4.5l-1.406 1.406c-1.129-1.348-2.802-2.1563-4.594-2.1563z"/><path d="m2 8.75v4.5l1.408-1.41c1.116 1.334 2.817 2.145 4.592 2.16 2.16 0.01827 4.116-1.132 5.196-3.002l-1.948-1.125c-0.677 1.171-1.9005 1.886-3.248 1.875-1.18-0.01-2.3047-0.572-3-1.5l1.5-1.5z"/></svg>
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index 2fb7dfba29f..a6d376aa2a9 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -625,12 +625,23 @@
this.registerAction({
name: 'MoveCopy',
- displayName: t('files', 'Move or copy'),
+ displayName: function(context) {
+ var permissions = context.fileInfoModel.attributes.permissions;
+ if (permissions & OC.PERMISSION_UPDATE) {
+ return t('files', 'Move or copy');
+ }
+ return t('files', 'Copy');
+ },
mime: 'all',
order: -25,
- permissions: OC.PERMISSION_UPDATE,
+ permissions: $('#isPublic').val() ? OC.PERMISSION_UPDATE : OC.PERMISSION_READ,
iconClass: 'icon-external',
actionHandler: function (filename, context) {
+ var permissions = context.fileInfoModel.attributes.permissions;
+ var actions = OC.dialogs.FILEPICKER_TYPE_COPY;
+ if (permissions & OC.PERMISSION_UPDATE) {
+ actions = OC.dialogs.FILEPICKER_TYPE_COPY_MOVE;
+ }
OC.dialogs.filepicker(t('files', 'Target folder'), function(targetPath, type) {
if (type === OC.dialogs.FILEPICKER_TYPE_COPY) {
context.fileList.copy(filename, targetPath);
@@ -638,7 +649,7 @@
if (type === OC.dialogs.FILEPICKER_TYPE_MOVE) {
context.fileList.move(filename, targetPath);
}
- }, false, "httpd/unix-directory", true, OC.dialogs.FILEPICKER_TYPE_COPY_MOVE);
+ }, false, "httpd/unix-directory", true, actions);
}
});
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 6fa57325bd4..e1a0491cdc8 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -798,6 +798,7 @@
OCA.Files.FileActions.updateFileActionSpinner(moveFileAction, false);
};
+ var actions = this.isSelectedMovable() ? OC.dialogs.FILEPICKER_TYPE_COPY_MOVE : OC.dialogs.FILEPICKER_TYPE_COPY;
OC.dialogs.filepicker(t('files', 'Target folder'), function(targetPath, type) {
if (type === OC.dialogs.FILEPICKER_TYPE_COPY) {
self.copy(files, targetPath, disableLoadingState);
@@ -805,7 +806,7 @@
if (type === OC.dialogs.FILEPICKER_TYPE_MOVE) {
self.move(files, targetPath, disableLoadingState);
}
- }, false, "httpd/unix-directory", true, OC.dialogs.FILEPICKER_TYPE_COPY_MOVE);
+ }, false, "httpd/unix-directory", true, actions);
return false;
},
@@ -2875,18 +2876,39 @@
this.$el.find('#headerName a.name>span:first').text(selection);
this.$el.find('#modified a>span:first').text('');
this.$el.find('table').addClass('multiselect');
- this.$el.find('.selectedActions .copy-move').toggleClass('hidden', !this.isSelectedCopiableOrMovable());
this.$el.find('.selectedActions .download').toggleClass('hidden', !this.isSelectedDownloadable());
this.$el.find('.delete-selected').toggleClass('hidden', !this.isSelectedDeletable());
+
+ var $copyMove = this.$el.find('.selectedActions .copy-move');
+ if (this.isSelectedCopiable()) {
+ $copyMove.toggleClass('hidden', false);
+ if (this.isSelectedMovable()) {
+ $copyMove.find('.label').text(t('files', 'Move or copy'));
+ } else {
+ $copyMove.find('.label').text(t('files', 'Copy'));
+ }
+ } else {
+ $copyMove.toggleClass('hidden', true);
+ }
}
},
/**
- * Check whether all selected files are copiable or movable
+ * Check whether all selected files are copiable
+ */
+ isSelectedCopiable: function() {
+ return _.reduce(this.getSelectedFiles(), function(copiable, file) {
+ var requiredPermission = $('#isPublic').val() ? OC.PERMISSION_UPDATE : OC.PERMISSION_READ;
+ return copiable && (file.permissions & requiredPermission);
+ }, true);
+ },
+
+ /**
+ * Check whether all selected files are movable
*/
- isSelectedCopiableOrMovable: function() {
- return _.reduce(this.getSelectedFiles(), function(copiableOrMovable, file) {
- return copiableOrMovable && (file.permissions & OC.PERMISSION_UPDATE);
+ isSelectedMovable: function() {
+ return _.reduce(this.getSelectedFiles(), function(movable, file) {
+ return movable && (file.permissions & OC.PERMISSION_UPDATE);
}, true);
},
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index d83d2ee3c95..ec3708417d8 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -1,8 +1,8 @@
OC.L10N.register(
"files",
{
- "Storage is temporarily not available" : "El almacenamiento no esta disponible temporalmente",
- "Storage invalid" : "Almacenamiento inválido",
+ "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente",
+ "Storage invalid" : "Almacenamiento no válido",
"Unknown error" : "Error desconocido",
"All files" : "Todos los archivos",
"Recent" : "Reciente",
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 212da33a515..f7982515bab 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -1,6 +1,6 @@
{ "translations": {
- "Storage is temporarily not available" : "El almacenamiento no esta disponible temporalmente",
- "Storage invalid" : "Almacenamiento inválido",
+ "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente",
+ "Storage invalid" : "Almacenamiento no válido",
"Unknown error" : "Error desconocido",
"All files" : "Todos los archivos",
"Recent" : "Reciente",
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index 7629e273784..e7e754f5ead 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -16,7 +16,10 @@ OC.L10N.register(
"Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。",
"Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません",
"Not enough free space" : "十分な空き容量がありません",
+ "Uploading …" : "アップロード中...",
+ "…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})",
+ "Target folder does not exist any more" : "対象フォルダーがもう存在しません",
"Actions" : "アクション",
"Download" : "ダウンロード",
"Rename" : "名前の変更",
@@ -56,8 +59,11 @@ OC.L10N.register(
"You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません",
"_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"],
"New" : "新規作成",
+ "{used} of {quota} used" : "{used} / {quota} 使用中",
+ "{used} used" : "{used} 使用中",
"\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。",
"File name cannot be empty." : "ファイル名を空にすることはできません。",
+ "\"/\" is not allowed inside a file name." : "\"/\" はファイル名に利用できません。",
"\"{name}\" is not an allowed filetype" : "\"{name}\" は無効なファイル形式です",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} のストレージは一杯です。ファイルの更新と同期はもうできません!",
"Your storage is full, files can not be updated or synced anymore!" : "あなたのストレージは一杯です。ファイルの更新と同期はもうできません!",
@@ -73,6 +79,9 @@ OC.L10N.register(
"Favorite" : "お気に入り",
"New folder" : "新しいフォルダー",
"Upload file" : "ファイルをアップロード",
+ "Not favorited" : "お気に入りではありません",
+ "Remove from favorites" : "お気に入りから削除",
+ "Add to favorites" : "お気に入りに追加",
"An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
"Added to favorites" : "お気に入りに追加",
"Removed from favorites" : "お気に入りから削除",
@@ -118,6 +127,8 @@ OC.L10N.register(
"Settings" : "設定",
"Show hidden files" : "隠しファイルを表示",
"WebDAV" : "WebDAV",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">WebDAV 経由でファイルにアクセス</a>するにはこのアドレスを利用してください",
+ "Cancel upload" : "アップロードをキャンセル",
"No files in here" : "ファイルがありません",
"Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。",
"No entries found in this folder" : "このフォルダーにはエントリーがありません",
@@ -132,6 +143,7 @@ OC.L10N.register(
"Tags" : "タグ",
"Deleted files" : "ゴミ箱",
"Text file" : "テキストファイル",
- "New text file.txt" : "新規のテキストファイル作成"
+ "New text file.txt" : "新規のテキストファイル作成",
+ "Move" : "移動"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index 1af3dbeb40b..a643d750f1c 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -14,7 +14,10 @@
"Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。",
"Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません",
"Not enough free space" : "十分な空き容量がありません",
+ "Uploading …" : "アップロード中...",
+ "…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})",
+ "Target folder does not exist any more" : "対象フォルダーがもう存在しません",
"Actions" : "アクション",
"Download" : "ダウンロード",
"Rename" : "名前の変更",
@@ -54,8 +57,11 @@
"You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません",
"_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"],
"New" : "新規作成",
+ "{used} of {quota} used" : "{used} / {quota} 使用中",
+ "{used} used" : "{used} 使用中",
"\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。",
"File name cannot be empty." : "ファイル名を空にすることはできません。",
+ "\"/\" is not allowed inside a file name." : "\"/\" はファイル名に利用できません。",
"\"{name}\" is not an allowed filetype" : "\"{name}\" は無効なファイル形式です",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} のストレージは一杯です。ファイルの更新と同期はもうできません!",
"Your storage is full, files can not be updated or synced anymore!" : "あなたのストレージは一杯です。ファイルの更新と同期はもうできません!",
@@ -71,6 +77,9 @@
"Favorite" : "お気に入り",
"New folder" : "新しいフォルダー",
"Upload file" : "ファイルをアップロード",
+ "Not favorited" : "お気に入りではありません",
+ "Remove from favorites" : "お気に入りから削除",
+ "Add to favorites" : "お気に入りに追加",
"An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
"Added to favorites" : "お気に入りに追加",
"Removed from favorites" : "お気に入りから削除",
@@ -116,6 +125,8 @@
"Settings" : "設定",
"Show hidden files" : "隠しファイルを表示",
"WebDAV" : "WebDAV",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">WebDAV 経由でファイルにアクセス</a>するにはこのアドレスを利用してください",
+ "Cancel upload" : "アップロードをキャンセル",
"No files in here" : "ファイルがありません",
"Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。",
"No entries found in this folder" : "このフォルダーにはエントリーがありません",
@@ -130,6 +141,7 @@
"Tags" : "タグ",
"Deleted files" : "ゴミ箱",
"Text file" : "テキストファイル",
- "New text file.txt" : "新規のテキストファイル作成"
+ "New text file.txt" : "新規のテキストファイル作成",
+ "Move" : "移動"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index e3e69bb3a84..a30e7272c5d 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus",
"_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"],
"New" : "Naujas",
+ "{used} of {quota} used" : "panaudota {used} iš {quota}",
"\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas bylos pavadinimas.",
"File name cannot be empty." : "Failo pavadinimas negali būti tuščias.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" nėra leidžiamas failo tipas",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index 6bb6ff51681..78aec5fd463 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -52,6 +52,7 @@
"You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus",
"_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"],
"New" : "Naujas",
+ "{used} of {quota} used" : "panaudota {used} iš {quota}",
"\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas bylos pavadinimas.",
"File name cannot be empty." : "Failo pavadinimas negali būti tuščias.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" nėra leidžiamas failo tipas",
diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js
index 7c15a6bf95d..616c39fff8b 100644
--- a/apps/files/l10n/lv.js
+++ b/apps/files/l10n/lv.js
@@ -24,7 +24,7 @@ OC.L10N.register(
"Delete" : "Dzēst",
"Disconnect storage" : "Atvienot glabātuvi",
"Unshare" : "Pārtraukt koplietošanu",
- "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par failu \"{file}\"",
+ "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par datni \"{file}\"",
"Files" : "Datnes",
"Details" : "Detaļas",
"Select" : "Norādīt",
diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json
index ed2b04ac59d..cc8ecb6bb0d 100644
--- a/apps/files/l10n/lv.json
+++ b/apps/files/l10n/lv.json
@@ -22,7 +22,7 @@
"Delete" : "Dzēst",
"Disconnect storage" : "Atvienot glabātuvi",
"Unshare" : "Pārtraukt koplietošanu",
- "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par failu \"{file}\"",
+ "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par datni \"{file}\"",
"Files" : "Datnes",
"Details" : "Detaļas",
"Select" : "Norādīt",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index aacae19af41..6adfb86aee1 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -147,6 +147,9 @@ OC.L10N.register(
"Deleted files" : "Verwijderde bestanden",
"Text file" : "Tekstbestand",
"New text file.txt" : "Nieuw tekstbestand.txt",
- "Move" : "Verplaatsen"
+ "Move" : "Verplaatsen",
+ "A new file or folder has been <strong>deleted</strong>" : "Een nieuw bestand of nieuwe map is <strong>verwijderd</strong>",
+ "A new file or folder has been <strong>restored</strong>" : "Een nieuw bestand of een nieuwe map is <strong>hersteld</strong>",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Gebruik deze link om je <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">bestanden via WebDAV te benaderen</a>"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index de059f16f08..ca422e8d07b 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -145,6 +145,9 @@
"Deleted files" : "Verwijderde bestanden",
"Text file" : "Tekstbestand",
"New text file.txt" : "Nieuw tekstbestand.txt",
- "Move" : "Verplaatsen"
+ "Move" : "Verplaatsen",
+ "A new file or folder has been <strong>deleted</strong>" : "Een nieuw bestand of nieuwe map is <strong>verwijderd</strong>",
+ "A new file or folder has been <strong>restored</strong>" : "Een nieuw bestand of een nieuwe map is <strong>hersteld</strong>",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Gebruik deze link om je <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">bestanden via WebDAV te benaderen</a>"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js
index feb43aced76..ffa95f4b93c 100644
--- a/apps/files/l10n/pt_PT.js
+++ b/apps/files/l10n/pt_PT.js
@@ -17,8 +17,10 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "A pasta de destino \"{dir}\" já não existe",
"Not enough free space" : "Espaço insuficiente",
"Uploading …" : "A carregar ...",
+ "…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Target folder does not exist any more" : "A pasta de destino já não existe",
+ "Error when assembling chunks, status code {status}" : "Erro ao agregar partições, código de estado: {estado}",
"Actions" : "Ações",
"Download" : "Transferir",
"Rename" : "Renomear",
diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json
index 97d4308cab4..31ecc0ef67d 100644
--- a/apps/files/l10n/pt_PT.json
+++ b/apps/files/l10n/pt_PT.json
@@ -15,8 +15,10 @@
"Target folder \"{dir}\" does not exist any more" : "A pasta de destino \"{dir}\" já não existe",
"Not enough free space" : "Espaço insuficiente",
"Uploading …" : "A carregar ...",
+ "…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Target folder does not exist any more" : "A pasta de destino já não existe",
+ "Error when assembling chunks, status code {status}" : "Erro ao agregar partições, código de estado: {estado}",
"Actions" : "Ações",
"Download" : "Transferir",
"Rename" : "Renomear",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index d4bce72110e..5f4912587b7 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -81,7 +81,7 @@ OC.L10N.register(
"Favorited" : "Избранное",
"Favorite" : "Добавить в избранное",
"New folder" : "Новый каталог",
- "Upload file" : "Зарузить файл",
+ "Upload file" : "Загрузить файл",
"Not favorited" : "Не избранное",
"Remove from favorites" : "Удалить из избранных",
"Add to favorites" : "Добавить в избранное",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 705a2a75c7c..65cc92c052e 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -79,7 +79,7 @@
"Favorited" : "Избранное",
"Favorite" : "Добавить в избранное",
"New folder" : "Новый каталог",
- "Upload file" : "Зарузить файл",
+ "Upload file" : "Загрузить файл",
"Not favorited" : "Не избранное",
"Remove from favorites" : "Удалить из избранных",
"Add to favorites" : "Добавить в избранное",
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index 89da1860307..c609ee92197 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -20,6 +20,7 @@ OC.L10N.register(
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Target folder does not exist any more" : "Cieľový priečinok už neexistuje",
+ "Error when assembling chunks, status code {status}" : "Chyba pri zostavovaní kusov, kód chyby {status}",
"Actions" : "Akcie",
"Download" : "Sťahovanie",
"Rename" : "Premenovať",
@@ -65,6 +66,7 @@ OC.L10N.register(
"{used} used" : "{used} použitých",
"\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.",
"File name cannot be empty." : "Meno súboru nemôže byť prázdne",
+ "\"/\" is not allowed inside a file name." : "Znak \"/\" nie je povolený v názve súboru.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" nie je povolený typ súboru",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložisko používateľa {owner} je plné, súbory sa viac nedajú aktualizovať ani synchronizovať.",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!",
@@ -144,6 +146,10 @@ OC.L10N.register(
"Tags" : "Štítky",
"Deleted files" : "Zmazané súbory",
"Text file" : "Textový súbor",
- "New text file.txt" : "Nový text file.txt"
+ "New text file.txt" : "Nový text file.txt",
+ "Move" : "Presunúť",
+ "A new file or folder has been <strong>deleted</strong>" : "Nový súbor alebo priečinok bol <strong>zmazaný</strong>",
+ "A new file or folder has been <strong>restored</strong>" : "Nový súbor alebo priečinok bol<strong>obnovený</strong>",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Použi túto adresu pre <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">prístup ku svojím súborom cez WebDAV</a>"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json
index 7e764476c8b..59d387b91b1 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -18,6 +18,7 @@
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})",
"Target folder does not exist any more" : "Cieľový priečinok už neexistuje",
+ "Error when assembling chunks, status code {status}" : "Chyba pri zostavovaní kusov, kód chyby {status}",
"Actions" : "Akcie",
"Download" : "Sťahovanie",
"Rename" : "Premenovať",
@@ -63,6 +64,7 @@
"{used} used" : "{used} použitých",
"\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.",
"File name cannot be empty." : "Meno súboru nemôže byť prázdne",
+ "\"/\" is not allowed inside a file name." : "Znak \"/\" nie je povolený v názve súboru.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" nie je povolený typ súboru",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložisko používateľa {owner} je plné, súbory sa viac nedajú aktualizovať ani synchronizovať.",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!",
@@ -142,6 +144,10 @@
"Tags" : "Štítky",
"Deleted files" : "Zmazané súbory",
"Text file" : "Textový súbor",
- "New text file.txt" : "Nový text file.txt"
+ "New text file.txt" : "Nový text file.txt",
+ "Move" : "Presunúť",
+ "A new file or folder has been <strong>deleted</strong>" : "Nový súbor alebo priečinok bol <strong>zmazaný</strong>",
+ "A new file or folder has been <strong>restored</strong>" : "Nový súbor alebo priečinok bol<strong>obnovený</strong>",
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Použi túto adresu pre <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">prístup ku svojím súborom cez WebDAV</a>"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index 8bfc3c23027..c893216a3bf 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -62,8 +62,11 @@ OC.L10N.register(
"You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här",
"_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"],
"New" : "Ny",
+ "{used} of {quota} used" : "{used} av {quota} använt",
+ "{used} used" : "{used} använt",
"\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltigt filnamn.",
"File name cannot be empty." : "Filnamn kan inte vara tomt.",
+ "\"/\" is not allowed inside a file name." : "\"/\" är inte tillåtet i ett filnamn.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" är inte en tillåten filtyp",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagring av {owner} är full, filer kan inte uppdateras eller synkroniseras längre!",
"Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!",
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index a33455084d9..24586c07bbf 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -60,8 +60,11 @@
"You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här",
"_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"],
"New" : "Ny",
+ "{used} of {quota} used" : "{used} av {quota} använt",
+ "{used} used" : "{used} använt",
"\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltigt filnamn.",
"File name cannot be empty." : "Filnamn kan inte vara tomt.",
+ "\"/\" is not allowed inside a file name." : "\"/\" är inte tillåtet i ett filnamn.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" är inte en tillåten filtyp",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagring av {owner} är full, filer kan inte uppdateras eller synkroniseras längre!",
"Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!",
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 66766641618..f1e0d376991 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -17,7 +17,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在",
"Not enough free space" : "可用空间不足",
"Uploading …" : "上传中…",
- "…" : "undefined",
+ "…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Target folder does not exist any more" : "目标文件夹不存在",
"Actions" : "操作",
@@ -124,7 +124,7 @@ OC.L10N.register(
"Save" : "保存",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "对于 PHP-FPM 这个值改变后可能需要 5 分钟才会生效.",
"Missing permissions to edit from here." : "没有权限编辑",
- "%s of %s used" : " %s 的%s 已使用",
+ "%s of %s used" : "%s 已使用 (共 %s)",
"%s used" : "%s 已使用",
"Settings" : "设置",
"Show hidden files" : "显示隐藏文件",
@@ -144,6 +144,7 @@ OC.L10N.register(
"Tags" : "标签",
"Deleted files" : "已删除的文件",
"Text file" : "文本文件",
- "New text file.txt" : "创建文本文件 .txt"
+ "New text file.txt" : "新建文本文件.txt",
+ "Move" : "移动"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index 17f074d5faf..f2396a979ec 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -15,7 +15,7 @@
"Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在",
"Not enough free space" : "可用空间不足",
"Uploading …" : "上传中…",
- "…" : "undefined",
+ "…" : "…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})",
"Target folder does not exist any more" : "目标文件夹不存在",
"Actions" : "操作",
@@ -122,7 +122,7 @@
"Save" : "保存",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "对于 PHP-FPM 这个值改变后可能需要 5 分钟才会生效.",
"Missing permissions to edit from here." : "没有权限编辑",
- "%s of %s used" : " %s 的%s 已使用",
+ "%s of %s used" : "%s 已使用 (共 %s)",
"%s used" : "%s 已使用",
"Settings" : "设置",
"Show hidden files" : "显示隐藏文件",
@@ -142,6 +142,7 @@
"Tags" : "标签",
"Deleted files" : "已删除的文件",
"Text file" : "文本文件",
- "New text file.txt" : "创建文本文件 .txt"
+ "New text file.txt" : "新建文本文件.txt",
+ "Move" : "移动"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php
index fd5423c334f..e6b1e54d389 100644
--- a/apps/files/templates/list.php
+++ b/apps/files/templates/list.php
@@ -53,7 +53,7 @@
<span id="selectedActionsList" class="selectedActions">
<a href="" class="copy-move">
<span class="icon icon-external"></span>
- <span><?php p($l->t('Move or copy'))?></span>
+ <span class="label"><?php p($l->t('Move or copy'))?></span>
</a>
<a href="" class="download">
<span class="icon icon-download"></span>
diff --git a/apps/files/tests/js/fileactionsmenuSpec.js b/apps/files/tests/js/fileactionsmenuSpec.js
index 926516b3043..c678d166153 100644
--- a/apps/files/tests/js/fileactionsmenuSpec.js
+++ b/apps/files/tests/js/fileactionsmenuSpec.js
@@ -271,6 +271,7 @@ describe('OCA.Files.FileActionsMenu tests', function() {
$file: $tr,
fileList: fileList,
fileActions: fileActions,
+ fileInfoModel: new OCA.Files.FileInfoModel(fileData),
dir: fileList.getCurrentDirectory()
};
menu = new OCA.Files.FileActionsMenu();
@@ -304,6 +305,7 @@ describe('OCA.Files.FileActionsMenu tests', function() {
$file: $tr,
fileList: fileList,
fileActions: fileActions,
+ fileInfoModel: new OCA.Files.FileInfoModel(fileData),
dir: '/anotherpath/there'
};
menu = new OCA.Files.FileActionsMenu();
@@ -336,6 +338,7 @@ describe('OCA.Files.FileActionsMenu tests', function() {
$file: $tr,
fileList: fileList,
fileActions: fileActions,
+ fileInfoModel: new OCA.Files.FileInfoModel(fileData),
dir: '/somepath/dir'
};
menu = new OCA.Files.FileActionsMenu();
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 08da15b8a88..1b26a468172 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -94,7 +94,7 @@ describe('OCA.Files.FileList tests', function() {
'<input type="checkbox" id="select_all_files" class="select-all checkbox">' +
'<a class="name columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' +
'<span id="selectedActionsList" class="selectedActions hidden">' +
- '<a href class="copy-move">Move or copy</a>' +
+ '<a href class="copy-move"><span class="label">Move or copy</span></a>' +
'<a href class="download"><img src="actions/download.svg">Download</a>' +
'<a href class="delete-selected">Delete</a></span>' +
'</th>' +
@@ -2101,10 +2101,17 @@ describe('OCA.Files.FileList tests', function() {
$('#permissions').val(OC.PERMISSION_READ | OC.PERMISSION_UPDATE);
$('.select-all').click();
expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(false);
+ expect(fileList.$el.find('.selectedActions .copy-move .label').text()).toEqual('Move or copy');
testFiles[0].permissions = OC.PERMISSION_READ;
$('.select-all').click();
fileList.setFiles(testFiles);
$('.select-all').click();
+ expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(false);
+ expect(fileList.$el.find('.selectedActions .copy-move .label').text()).toEqual('Copy');
+ testFiles[0].permissions = OC.PERMISSION_NONE;
+ $('.select-all').click();
+ fileList.setFiles(testFiles);
+ $('.select-all').click();
expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(true);
});
it('show doesnt show the download action if one or more files are not downloadable', function () {