Correctly treat share recipient text field in the share options view flow
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 6 Mar 2024 17:11:42 +0000 (01:11 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:38:59 +0000 (16:38 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareOptionsView.swift

index 8325818795ee580cde702c3e8e305dbcae29a5aa..ef4274261e7f47528fa1ed747ce18ca796a96df0 100644 (file)
@@ -53,6 +53,7 @@ class ShareOptionsView: NSView {
         didSet {
             Logger.shareOptionsView.info("Create mode set: \(self.createMode)")
             shareTypePicker.isHidden = !createMode
+            shareRecipientTextField.isHidden = !createMode
             labelTextField.isHidden = createMode  // Cannot set label on create API call
             guard createMode else { return }
             optionsTitleTextField.stringValue = "Create new share"
@@ -112,6 +113,8 @@ class ShareOptionsView: NSView {
     }
 
     func setAllFields(enabled: Bool) {
+        shareTypePicker.isEnabled = enabled
+        shareRecipientTextField.isEnabled = enabled
         labelTextField.isEnabled = enabled
         uploadEditPermissionCheckbox.isEnabled = enabled
         hideDownloadCheckbox.isEnabled = enabled
@@ -173,6 +176,7 @@ class ShareOptionsView: NSView {
                 } else if selectedShareTypeItem == talkConversationShare {
                     selectedShareType = .talkConversation
                 }
+                let shareWith = shareRecipientTextField.stringValue
 
                 var permissions = NKShare.PermissionValues.all.rawValue
                 permissions = uploadAndEdit
@@ -186,7 +190,7 @@ class ShareOptionsView: NSView {
                     kit: kit,
                     shareType: selectedShareType,
                     itemServerRelativePath: itemServerRelativePath,
-                    shareWith: "",
+                    shareWith: shareWith,
                     password: password,
                     expireDate: expireDate,
                     permissions: permissions,