summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files/lib/Collaboration/Resources/ResourceProvider.php13
-rw-r--r--apps/files_sharing/src/files_sharing.js3
-rw-r--r--core/css/icons.scss4
-rw-r--r--core/src/OCP/collaboration.js2
4 files changed, 19 insertions, 3 deletions
diff --git a/apps/files/lib/Collaboration/Resources/ResourceProvider.php b/apps/files/lib/Collaboration/Resources/ResourceProvider.php
index 155dcbd7b14..1a6089b4856 100644
--- a/apps/files/lib/Collaboration/Resources/ResourceProvider.php
+++ b/apps/files/lib/Collaboration/Resources/ResourceProvider.php
@@ -48,6 +48,13 @@ class ResourceProvider implements IProvider {
$this->urlGenerator = $urlGenerator;
}
+ private function getNode(IResource $resource): ?Node {
+ if (isset($this->nodes[(int) $resource->getId()])) {
+ return $this->nodes[(int) $resource->getId()];
+ }
+ return null;
+ }
+
/**
* Get the display name of a resource
*
@@ -94,7 +101,11 @@ class ResourceProvider implements IProvider {
* @since 15.0.0
*/
public function getIconClass(IResource $resource): string {
- return 'icon-folder';
+ $node = $this->getNode($resource);
+ if ($node && $node->getMimetype() === 'httpd/unix-directory') {
+ return 'icon-files-dark';
+ }
+ return 'icon-filetype-file';
}
/**
diff --git a/apps/files_sharing/src/files_sharing.js b/apps/files_sharing/src/files_sharing.js
index 4e90afaf943..54bf71d8a19 100644
--- a/apps/files_sharing/src/files_sharing.js
+++ b/apps/files_sharing/src/files_sharing.js
@@ -22,7 +22,8 @@ window.OCP.Collaboration.registerType('files', {
});
},
/** used in "Link to a {typeString}" */
- typeString: t('files_sharing', 'file')
+ typeString: t('files_sharing', 'file'),
+ typeIconClass: 'icon-files-dark'
});
window.OCA.Sharing = OCA.Sharing;
diff --git a/core/css/icons.scss b/core/css/icons.scss
index 9a950017091..d1d3d91094f 100644
--- a/core/css/icons.scss
+++ b/core/css/icons.scss
@@ -384,6 +384,10 @@ img, object, video, button, textarea, input, select, div[contenteditable='true']
@include icon-color('text', 'filetypes', $color-black, 1, true);
}
+.icon-filetype-file {
+ @include icon-color('file', 'filetypes', $color-black, 1, true);
+}
+
@include icon-black-white('folder', 'filetypes', 1, true);
.icon-filetype-folder {
@include icon-color('folder', 'filetypes', $color-black, 1, true);
diff --git a/core/src/OCP/collaboration.js b/core/src/OCP/collaboration.js
index 54b580406ed..96a20bffc9c 100644
--- a/core/src/OCP/collaboration.js
+++ b/core/src/OCP/collaboration.js
@@ -49,7 +49,7 @@ export default {
return Object.keys(types);
},
getIcon(type) {
- return types[type].icon || '';
+ return types[type].typeIconClass || '';
},
getLabel(type) {
return t('files_sharing', 'Link to a {label}', { label: types[type].typeString || type }, 1)