Properly add share custom action
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 21 Feb 2024 09:45:20 +0000 (17:45 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:38:44 +0000 (16:38 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/DocumentActionViewController.swift
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Info.plist

index 264b0fd566abd84122d705511dcae7c81cd6ac81..98d2714b6910d296377a9d42a2210ad8833a7369 100644 (file)
@@ -25,16 +25,11 @@ class DocumentActionViewController: FPUIActionExtensionViewController {
         forAction actionIdentifier: String, itemIdentifiers: [NSFileProviderItemIdentifier]
     ) {
         Logger.actionViewController.info("Preparing for action: \(actionIdentifier)")
-        let shareViewController = ShareViewController()
-        addChild(shareViewController)
-        view.addSubview(shareViewController.view)
 
-        NSLayoutConstraint.activate([
-            view.leadingAnchor.constraint(equalTo: shareViewController.view.leadingAnchor),
-            view.trailingAnchor.constraint(equalTo: shareViewController.view.trailingAnchor),
-            view.topAnchor.constraint(equalTo: shareViewController.view.topAnchor),
-            view.bottomAnchor.constraint(equalTo: shareViewController.view.bottomAnchor)
-        ])
+        if actionIdentifier == "com.nextcloud.desktopclient.FileProviderUIExt.ShareAction" {
+            prepare(childViewController: ShareViewController())
+        }
+
     }
     
     override func prepare(forError error: Error) {
index 92d193b8bb646926a6812329c255407ee1a973b8..f559d75c46ab4e2b81ead16f90ec682074225355 100644 (file)
@@ -10,9 +10,9 @@
                                <key>NSExtensionFileProviderActionActivationRule</key>
                                <string>TRUEPREDICATE</string>
                                <key>NSExtensionFileProviderActionIdentifier</key>
-                               <string>com.mycompany.FileProviderUI.CustomAction</string>
+                               <string>com.nextcloud.desktopclient.FileProviderUIExt.ShareAction</string>
                                <key>NSExtensionFileProviderActionName</key>
-                               <string>Custom Action</string>
+                               <string>Share options</string>
                        </dict>
                </array>
                <key>NSExtensionPrincipalClass</key>