From eb125f9666d8de6a23198e197195bcfca346d8ee Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Wed, 28 Feb 2024 16:00:11 +0800 Subject: [PATCH] Add typeImage property to NKShare extension Signed-off-by: Claudio Cambra --- .../Extensions/NKShare+Extensions.swift | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Extensions/NKShare+Extensions.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Extensions/NKShare+Extensions.swift index f1020fe98..0ffeb7323 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Extensions/NKShare+Extensions.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Extensions/NKShare+Extensions.swift @@ -5,6 +5,7 @@ // Created by Claudio Cambra on 28/2/24. // +import AppKit import NextcloudKit extension NKShare { @@ -17,4 +18,55 @@ extension NKShare { case circle = 7 case talkConversation = 10 } + + var typeImage: NSImage? { + var image: NSImage? + switch shareType { + case ShareType.user.rawValue: + image = NSImage( + systemSymbolName: "person.circle.fill", + accessibilityDescription: "User share icon" + ) + case ShareType.group.rawValue: + image = NSImage( + systemSymbolName: "person.2.circle.fill", + accessibilityDescription: "Group share icon" + ) + case ShareType.publicLink.rawValue: + image = NSImage( + systemSymbolName: "link.circle.fill", + accessibilityDescription: "Public link share icon" + ) + case ShareType.email.rawValue: + image = NSImage( + systemSymbolName: "envelope.circle.fill", + accessibilityDescription: "Email share icon" + ) + case ShareType.federatedCloud.rawValue: + image = NSImage( + systemSymbolName: "cloud.circle.fill", + accessibilityDescription: "Federated cloud share icon" + ) + case ShareType.circle.rawValue: + image = NSImage( + systemSymbolName: "circle.circle.fill", + accessibilityDescription: "Circle share icon" + ) + case ShareType.talkConversation.rawValue: + image = NSImage( + systemSymbolName: "message.circle.fill", + accessibilityDescription: "Talk conversation share icon" + ) + default: + return nil + } + + var config = NSImage.SymbolConfiguration(textStyle: .body, scale: .large) + if #available(macOS 12.0, *) { + config = config.applying( + .init(paletteColors: [.controlBackgroundColor, .controlAccentColor]) + ) + } + return image?.withSymbolConfiguration(config) + } } -- 2.30.2