aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/css/files.scss27
-rw-r--r--apps/files/l10n/fr.js8
-rw-r--r--apps/files/l10n/fr.json8
-rw-r--r--apps/files/l10n/nb.js31
-rw-r--r--apps/files/l10n/nb.json31
-rw-r--r--apps/files/lib/Controller/ViewController.php5
-rw-r--r--apps/files/lib/Event/LoadAdditionalScriptsEvent.php5
-rw-r--r--apps/files/lib/Search/FilesSearchProvider.php6
-rw-r--r--apps/files/lib/Service/OwnershipTransferService.php2
9 files changed, 96 insertions, 27 deletions
diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index e875e0da29a..e47e47d7f4b 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -21,9 +21,11 @@
.actions input, .actions button, .actions .button { margin:0; float:left; }
.actions .button a { color: #555; }
.actions .button a:hover,
-.actions .button a:focus,
+.actions .button a:focus {
+ background-color: var(--color-background-hover);
+}
.actions .button a:active {
- color: #333;
+ background-color: var(--color-primary-light);
}
.actions.creatable {
@@ -107,14 +109,12 @@
}
.app-files #app-content {
- transition: background-color 0.3s ease;
// force the width to be the full width to not go bigger than the screen
// flex will grow for the mobile view if necessary
width: calc(100% - 300px);
}
.file-drag, .file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover {
- transition: background-color 0.3s ease!important;
background-color: var(--color-primary-light) !important;
}
@@ -186,22 +186,23 @@
}
#filestable tbody tr {
- transition: background-color 0.3s ease;
height: 51px;
}
#filestable tbody tr:hover,
#filestable tbody tr:focus,
#filestable tbody .name:focus,
+#filestable tbody tr:hover .filename form,
+table tr.mouseOver td {
+ background-color: var(--color-background-hover);
+}
#filestable tbody tr:active,
#filestable tbody tr.highlighted,
#filestable tbody tr.highlighted .name:focus,
#filestable tbody tr.selected,
-#filestable tbody tr.searchresult,
-#filestable tbody tr:hover .filename form,
-table tr.mouseOver td {
- transition: background-color 0.3s ease;
- background-color: var(--color-background-dark);
+#filestable tbody tr.searchresult {
+ background-color: var(--color-primary-light);
}
+
tbody a { color: var(--color-main-text); }
span.conflict-path, span.extension, span.uploading, td.date {
@@ -625,6 +626,9 @@ a.action > img {
.fileActionsMenu a.action, a.action.action-share.shared-style {
opacity: .7;
}
+ .fileActionsMenu .action.permanent {
+ opacity: 1;
+ }
}
// Ellipsize long sharer names
@@ -878,8 +882,7 @@ table.dragshadow td.size {
.thumbnail-wrapper,
.nametext,
.fileactions {
- transition: background-color 0.3s ease;
- background-color: var(--color-background-dark);
+ background-color: var(--color-background-hover);
}
}
}
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 1ff8aa11366..490e8bc68dc 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -8,12 +8,12 @@ OC.L10N.register(
"Move or copy" : "Déplacer ou copier",
"Download" : "Télécharger",
"Delete" : "Supprimer",
- "Home" : "Mes fichiers",
+ "Home" : "Accueil",
"Close" : "Fermer",
"Favorites" : "Favoris",
"Could not create folder \"{dir}\"" : "Impossible de créer le dossier \"{dir}\"",
"This will stop your current uploads." : "Cela va arrêter vos envois en cours.",
- "Upload cancelled." : "Envoi annulé.",
+ "Upload cancelled." : "Téléversement annulé.",
"Processing files …" : "Fichiers en cours de traitement …",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossible d'envoyer {filename} car il s'agit d'un dossier ou d'un fichier vide",
@@ -42,7 +42,7 @@ OC.L10N.register(
"Pending" : "En attente",
"Unable to determine date" : "Impossible de déterminer la date",
"This operation is forbidden" : "Cette opération est interdite",
- "This directory is unavailable, please check the logs or contact the administrator" : "Ce dossier n'est pas disponible, consultez les logs ou contactez votre administrateur",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Ce répertoire est indisponnible, merci de consulter les journaux ou de contacter votre administrateur",
"Could not move \"{file}\", target exists" : "Impossible de déplacer \"{file}\", la cible existe",
"Could not move \"{file}\"" : "Impossible de déplacer \"{file}\"",
"copy" : "copie",
@@ -51,7 +51,7 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} copié dans {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} et {nbfiles} autres fichiers copiés dans {destination}",
"{newName} already exists" : "{newName} existe déjà",
- "Could not rename \"{fileName}\", it does not exist any more" : "Impossible de renommer \"{fileName}\", il n'existe plus",
+ "Could not rename \"{fileName}\", it does not exist any more" : "Impossible de renommer \"{fileName}\" car il n'existe plus",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom \"{targetName}\" est déjà utilisé dans le dossier \"{dir}\". Merci de choisir un nom différent.",
"Could not rename \"{fileName}\"" : "Impossible de renommer \"{fileName}\"",
"Could not create file \"{file}\"" : "Impossible de créer le fichier \"{file}\"",
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 071934bb0df..f2ea3eb98e9 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -6,12 +6,12 @@
"Move or copy" : "Déplacer ou copier",
"Download" : "Télécharger",
"Delete" : "Supprimer",
- "Home" : "Mes fichiers",
+ "Home" : "Accueil",
"Close" : "Fermer",
"Favorites" : "Favoris",
"Could not create folder \"{dir}\"" : "Impossible de créer le dossier \"{dir}\"",
"This will stop your current uploads." : "Cela va arrêter vos envois en cours.",
- "Upload cancelled." : "Envoi annulé.",
+ "Upload cancelled." : "Téléversement annulé.",
"Processing files …" : "Fichiers en cours de traitement …",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossible d'envoyer {filename} car il s'agit d'un dossier ou d'un fichier vide",
@@ -40,7 +40,7 @@
"Pending" : "En attente",
"Unable to determine date" : "Impossible de déterminer la date",
"This operation is forbidden" : "Cette opération est interdite",
- "This directory is unavailable, please check the logs or contact the administrator" : "Ce dossier n'est pas disponible, consultez les logs ou contactez votre administrateur",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Ce répertoire est indisponnible, merci de consulter les journaux ou de contacter votre administrateur",
"Could not move \"{file}\", target exists" : "Impossible de déplacer \"{file}\", la cible existe",
"Could not move \"{file}\"" : "Impossible de déplacer \"{file}\"",
"copy" : "copie",
@@ -49,7 +49,7 @@
"Copied {origin} inside {destination}" : "{origin} copié dans {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} et {nbfiles} autres fichiers copiés dans {destination}",
"{newName} already exists" : "{newName} existe déjà",
- "Could not rename \"{fileName}\", it does not exist any more" : "Impossible de renommer \"{fileName}\", il n'existe plus",
+ "Could not rename \"{fileName}\", it does not exist any more" : "Impossible de renommer \"{fileName}\" car il n'existe plus",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom \"{targetName}\" est déjà utilisé dans le dossier \"{dir}\". Merci de choisir un nom différent.",
"Could not rename \"{fileName}\"" : "Impossible de renommer \"{fileName}\"",
"Could not create file \"{file}\"" : "Impossible de créer le fichier \"{file}\"",
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index 4dbdf17b3a4..2b840ca1bfc 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -57,8 +57,10 @@ OC.L10N.register(
"Could not create file \"{file}\"" : "Klarte ikke å opprette fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
"Could not create folder \"{dir}\" because it already exists" : "Klarete ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
+ "Could not fetch file details \"{file}\"" : "Kunne ikke hente fildetaljene \"{file}\"",
"Error deleting file \"{fileName}\"." : "Feil ved sletting av fil \"{fileName}\".",
"No search results in other folders for {tag}{filter}{endtag}" : "Ingen søkeresultater i andre mapper etter {tag}{filter}{endtag}",
+ "Enter more than two characters to search in other folders" : "Tast inn mer enn to tegn for å lete i andre mapper",
"Name" : "Navn",
"Size" : "Størrelse",
"Modified" : "Endret",
@@ -69,6 +71,7 @@ OC.L10N.register(
"You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"],
"New" : "Ny",
+ "Select file range" : "Velg filutvalg",
"{used} of {quota} used" : "{used} av {quota} brukt",
"{used} used" : "{used} brukt",
"\"{name}\" is an invalid file name." : "\"{name}\" er et uglydig filnavn.",
@@ -87,6 +90,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n byte"],
"Favorited" : "Favorisert",
"Favorite" : "Gjør til favoritt",
+ "You can only favorite a single file or folder at a time" : "Du kan bare legge til en fil av gangen til favoritter",
"New folder" : "Ny mappe",
"Upload file" : "Last opp fil",
"Recent" : "Nylig",
@@ -135,15 +139,38 @@ OC.L10N.register(
"Unlimited" : "Ubegrenset",
"Upload (max. %s)" : "Opplasting (maks %s)",
"Accept" : "Aksepter",
+ "Reject" : "Avvis",
+ "Incoming ownership transfer from {user}" : "Ny eierskapsoverføring fra {user}",
+ "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Ønsker du å godta {path}?\n\nObs: Overføringsprosessen kan ta opp til 1 time.",
+ "Ownership transfer failed" : "Overføring av eierskap mislyktes",
+ "Your ownership transfer of {path} to {user} failed." : "Eierskapsoverføring din av {path} til {user} mislyktes.",
+ "The ownership transfer of {path} from {user} failed." : "Eierskapsoverføring av {path} fra {user} mislyktes.",
+ "Ownership transfer done" : "Overføring av eierskap ferdig",
+ "Your ownership transfer of {path} to {user} has completed." : "Eierskapsoverføringen din av {path} til {user} er ferdig.",
+ "The ownership transfer of {path} from {user} has completed." : "Eierskapsoverføring av {path} fra {user} er ferdig.",
"in %s" : "om %s",
"File Management" : "Filbehandling",
+ "Transfer ownership of a file or folder" : "Eierskapsoverføring av en fil eller mappe",
+ "Choose file or folder to transfer" : "Velg en fil eller mappe som skal overføres",
"Change" : "Endre",
+ "New owner" : "Ny eier",
+ "Search users" : "Søk etter brukere",
+ "Choose a file or folder to transfer" : "Velg en fil eller mappe som skal overføres",
+ "Transfer" : "Overfør",
+ "Transfer {path} to {userid}" : "Overfør {path} til {userid}",
+ "Invalid path selected" : "Ugyldig angitt sti",
+ "Ownership transfer request sent" : "Forespørsel om overføring av eierskap er sendt",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre eierskap til en fil eller mappe du ikke eier",
"Tags" : "Merkelapper",
+ "Error while loading the file data" : "Feil ved lasting av fildata",
+ "Unable to change the favourite state of the file" : "Kan ikke endre favorittstatus til filen",
"%s used" : "%s brukt",
+ "%s%% of %s used" : "%s%% av %s brukt",
"%1$s of %2$s used" : "%1$s av %2$s brukt",
"Settings" : "Innstillinger",
"Show hidden files" : "Vis skjulte filer",
"WebDAV" : "WebDAV",
+ "Use this address to access your Files via WebDAV" : "Bruk denne adressen for tilgang til filene dine via WebDAV",
"Toggle grid view" : "Veksle rutenett-visning",
"No files in here" : "Ingen filer",
"Upload some content or sync with your devices!" : "Last opp innhold eller synkroniser med enhetene dine!",
@@ -159,8 +186,10 @@ OC.L10N.register(
"Shared with you" : "Delt med deg",
"Shared by link" : "Delt med lenke",
"Deleted shares" : "Slettede delinger",
+ "Pending shares" : "Ventende delinger",
"Text file" : "Tekstfil",
"New text file.txt" : "Ny tekstfil.txt",
- "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Bruk adressen <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">for å få tilgang til dine filer via WebDAV</a>"
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Bruk adressen <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">for å få tilgang til dine filer via WebDAV</a>",
+ "Cannot transfter ownership of a file or folder you don't own" : "Kan ikke overføre eierskap til en fil eller mappe du ikke eier"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index 2bb79489355..565e3dbffed 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -55,8 +55,10 @@
"Could not create file \"{file}\"" : "Klarte ikke å opprette fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
"Could not create folder \"{dir}\" because it already exists" : "Klarete ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
+ "Could not fetch file details \"{file}\"" : "Kunne ikke hente fildetaljene \"{file}\"",
"Error deleting file \"{fileName}\"." : "Feil ved sletting av fil \"{fileName}\".",
"No search results in other folders for {tag}{filter}{endtag}" : "Ingen søkeresultater i andre mapper etter {tag}{filter}{endtag}",
+ "Enter more than two characters to search in other folders" : "Tast inn mer enn to tegn for å lete i andre mapper",
"Name" : "Navn",
"Size" : "Størrelse",
"Modified" : "Endret",
@@ -67,6 +69,7 @@
"You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"],
"New" : "Ny",
+ "Select file range" : "Velg filutvalg",
"{used} of {quota} used" : "{used} av {quota} brukt",
"{used} used" : "{used} brukt",
"\"{name}\" is an invalid file name." : "\"{name}\" er et uglydig filnavn.",
@@ -85,6 +88,7 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n byte"],
"Favorited" : "Favorisert",
"Favorite" : "Gjør til favoritt",
+ "You can only favorite a single file or folder at a time" : "Du kan bare legge til en fil av gangen til favoritter",
"New folder" : "Ny mappe",
"Upload file" : "Last opp fil",
"Recent" : "Nylig",
@@ -133,15 +137,38 @@
"Unlimited" : "Ubegrenset",
"Upload (max. %s)" : "Opplasting (maks %s)",
"Accept" : "Aksepter",
+ "Reject" : "Avvis",
+ "Incoming ownership transfer from {user}" : "Ny eierskapsoverføring fra {user}",
+ "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Ønsker du å godta {path}?\n\nObs: Overføringsprosessen kan ta opp til 1 time.",
+ "Ownership transfer failed" : "Overføring av eierskap mislyktes",
+ "Your ownership transfer of {path} to {user} failed." : "Eierskapsoverføring din av {path} til {user} mislyktes.",
+ "The ownership transfer of {path} from {user} failed." : "Eierskapsoverføring av {path} fra {user} mislyktes.",
+ "Ownership transfer done" : "Overføring av eierskap ferdig",
+ "Your ownership transfer of {path} to {user} has completed." : "Eierskapsoverføringen din av {path} til {user} er ferdig.",
+ "The ownership transfer of {path} from {user} has completed." : "Eierskapsoverføring av {path} fra {user} er ferdig.",
"in %s" : "om %s",
"File Management" : "Filbehandling",
+ "Transfer ownership of a file or folder" : "Eierskapsoverføring av en fil eller mappe",
+ "Choose file or folder to transfer" : "Velg en fil eller mappe som skal overføres",
"Change" : "Endre",
+ "New owner" : "Ny eier",
+ "Search users" : "Søk etter brukere",
+ "Choose a file or folder to transfer" : "Velg en fil eller mappe som skal overføres",
+ "Transfer" : "Overfør",
+ "Transfer {path} to {userid}" : "Overfør {path} til {userid}",
+ "Invalid path selected" : "Ugyldig angitt sti",
+ "Ownership transfer request sent" : "Forespørsel om overføring av eierskap er sendt",
+ "Cannot transfer ownership of a file or folder you don't own" : "Kan ikke overføre eierskap til en fil eller mappe du ikke eier",
"Tags" : "Merkelapper",
+ "Error while loading the file data" : "Feil ved lasting av fildata",
+ "Unable to change the favourite state of the file" : "Kan ikke endre favorittstatus til filen",
"%s used" : "%s brukt",
+ "%s%% of %s used" : "%s%% av %s brukt",
"%1$s of %2$s used" : "%1$s av %2$s brukt",
"Settings" : "Innstillinger",
"Show hidden files" : "Vis skjulte filer",
"WebDAV" : "WebDAV",
+ "Use this address to access your Files via WebDAV" : "Bruk denne adressen for tilgang til filene dine via WebDAV",
"Toggle grid view" : "Veksle rutenett-visning",
"No files in here" : "Ingen filer",
"Upload some content or sync with your devices!" : "Last opp innhold eller synkroniser med enhetene dine!",
@@ -157,8 +184,10 @@
"Shared with you" : "Delt med deg",
"Shared by link" : "Delt med lenke",
"Deleted shares" : "Slettede delinger",
+ "Pending shares" : "Ventende delinger",
"Text file" : "Tekstfil",
"New text file.txt" : "Ny tekstfil.txt",
- "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Bruk adressen <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">for å få tilgang til dine filer via WebDAV</a>"
+ "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Bruk adressen <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">for å få tilgang til dine filer via WebDAV</a>",
+ "Cannot transfter ownership of a file or folder you don't own" : "Kan ikke overføre eierskap til en fil eller mappe du ikke eier"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php
index 73ee589fdbc..1568e0c9f54 100644
--- a/apps/files/lib/Controller/ViewController.php
+++ b/apps/files/lib/Controller/ViewController.php
@@ -278,9 +278,8 @@ class ViewController extends Controller {
}
$event = new LoadAdditionalScriptsEvent();
- $this->eventDispatcher->dispatch(LoadAdditionalScriptsEvent::class, $event);
-
- $this->eventDispatcher->dispatch(LoadSidebar::class, new LoadSidebar());
+ $this->eventDispatcher->dispatchTyped($event);
+ $this->eventDispatcher->dispatchTyped(new LoadSidebar());
// Load Viewer scripts
if (class_exists(LoadViewer::class)) {
$this->eventDispatcher->dispatchTyped(new LoadViewer());
diff --git a/apps/files/lib/Event/LoadAdditionalScriptsEvent.php b/apps/files/lib/Event/LoadAdditionalScriptsEvent.php
index d9c80a23207..458ec916f8f 100644
--- a/apps/files/lib/Event/LoadAdditionalScriptsEvent.php
+++ b/apps/files/lib/Event/LoadAdditionalScriptsEvent.php
@@ -28,6 +28,11 @@ namespace OCA\Files\Event;
use OCP\EventDispatcher\Event;
+/**
+ * This event is triggered when the files app is rendered. It canb e used to add additional scripts to the files app.
+ *
+ * @since 17.0.0
+ */
class LoadAdditionalScriptsEvent extends Event {
private $hiddenFields = [];
diff --git a/apps/files/lib/Search/FilesSearchProvider.php b/apps/files/lib/Search/FilesSearchProvider.php
index d0a4bf56624..e221dab0ab1 100644
--- a/apps/files/lib/Search/FilesSearchProvider.php
+++ b/apps/files/lib/Search/FilesSearchProvider.php
@@ -77,7 +77,11 @@ class FilesSearchProvider implements IProvider {
/**
* @inheritDoc
*/
- public function getOrder(): int {
+ public function getOrder(string $route, array $routeParameters): int {
+ if ($route === 'files.View.index') {
+ // Before comments
+ return -5;
+ }
return 5;
}
diff --git a/apps/files/lib/Service/OwnershipTransferService.php b/apps/files/lib/Service/OwnershipTransferService.php
index 535822b999c..b04a53919ac 100644
--- a/apps/files/lib/Service/OwnershipTransferService.php
+++ b/apps/files/lib/Service/OwnershipTransferService.php
@@ -194,7 +194,7 @@ class OwnershipTransferService {
$output->writeln('Validating quota');
$size = $view->getFileInfo($sourcePath, false)->getSize(false);
$freeSpace = $view->free_space($destinationUid . '/files/');
- if ($size > $freeSpace) {
+ if ($size > $freeSpace && $freeSpace !== FileInfo::SPACE_UNKNOWN) {
$output->writeln('<error>Target user does not have enough free space available.</error>');
throw new \Exception('Execution terminated.');
}