Extract conversion of picked menu item in share type picker into NKShare ShareType...
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 18 Mar 2024 10:52:39 +0000 (18:52 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:39:01 +0000 (16:39 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareOptionsView.swift

index 7201bc564fa69a09187aaeeb0fe6fb21891d23af..a90cd3196e09debc1d4f080c5370a4900d03a44c 100644 (file)
@@ -135,6 +135,27 @@ class ShareOptionsView: NSView {
         deleteButton.isEnabled = enabled
     }
 
+    func pickedShareType() -> NKShare.ShareType {
+        let selectedShareTypeItem = shareTypePicker.selectedItem
+        var selectedShareType = NKShare.ShareType.publicLink
+        if selectedShareTypeItem == publicLinkShareMenuItem {
+            selectedShareType = .publicLink
+        } else if selectedShareTypeItem == userShareMenuItem {
+            selectedShareType = .user
+        } else if selectedShareTypeItem == groupShareMenuItem {
+            selectedShareType = .group
+        } else if selectedShareTypeItem == emailShareMenuItem {
+            selectedShareType = .email
+        } else if selectedShareTypeItem == federatedCloudShareMenuItem {
+            selectedShareType = .federatedCloud
+        } else if selectedShareTypeItem == circleShare {
+            selectedShareType = .circle
+        } else if selectedShareTypeItem == talkConversationShare {
+            selectedShareType = .talkConversation
+        }
+        return selectedShareType
+    }
+
     @IBAction func passwordCheckboxAction(_ sender: Any) {
         passwordSecureField.isHidden = passwordProtectCheckbox.state == .off
     }
@@ -178,23 +199,7 @@ class ShareOptionsView: NSView {
                     return
                 }
 
-                let selectedShareTypeItem = shareTypePicker.selectedItem
-                var selectedShareType = NKShare.ShareType.publicLink
-                if selectedShareTypeItem == publicLinkShareMenuItem {
-                    selectedShareType = .publicLink
-                } else if selectedShareTypeItem == userShareMenuItem {
-                    selectedShareType = .user
-                } else if selectedShareTypeItem == groupShareMenuItem {
-                    selectedShareType = .group
-                } else if selectedShareTypeItem == emailShareMenuItem {
-                    selectedShareType = .email
-                } else if selectedShareTypeItem == federatedCloudShareMenuItem {
-                    selectedShareType = .federatedCloud
-                } else if selectedShareTypeItem == circleShare {
-                    selectedShareType = .circle
-                } else if selectedShareTypeItem == talkConversationShare {
-                    selectedShareType = .talkConversation
-                }
+                let selectedShareType = pickedShareType()
                 let shareWith = shareRecipientTextField.stringValue
 
                 var permissions = NKShare.PermissionValues.all.rawValue