Browse Source

fix share

marinofaggiana 3 years ago
parent
commit
5579d86d6e
1 changed files with 21 additions and 4 deletions
  1. 21 4
      iOSClient/Share/NCShareQuickStatusMenu.swift

+ 21 - 4
iOSClient/Share/NCShareQuickStatusMenu.swift

@@ -21,14 +21,28 @@ class NCShareQuickStatusMenu: NSObject {
 //        "_share_allow_upload_"          = "Allow upload and editing";
 //        "_share_file_drop_"             = "File drop (upload only)";
         
+//        @objc let permissionReadShare: Int              = 1
+//        @objc let permissionUpdateShare: Int            = 2
+//        @objc let permissionCreateShare: Int            = 4
+//        @objc let permissionDeleteShare: Int            = 8
+//        @objc let permissionShareShare: Int             = 16
+        
+//        @objc let permissionMinFileShare: Int           = 1
+//        @objc let permissionMaxFileShare: Int           = 19
+//        @objc let permissionMinFolderShare: Int         = 1
+//        @objc let permissionMaxFolderShare: Int         = 31
+//        @objc let permissionDefaultFileRemoteShareNoSupportShareOption: Int     = 3
+//        @objc let permissionDefaultFolderRemoteShareNoSupportShareOption: Int   = 15
+        
         actions.append(
             NCMenuAction(
                 title: NSLocalizedString("_share_read_only_", comment: ""),
                 icon: UIImage(),
-                selected: tableShare.permissions == NCGlobal.shared.permissionReadShare + NCGlobal.shared.permissionShareShare,
+                selected: tableShare.permissions == (NCGlobal.shared.permissionReadShare + NCGlobal.shared.permissionShareShare) || tableShare.permissions == NCGlobal.shared.permissionReadShare,
                 on: false,
                 action: { menuAction in
-                    let permissions = CCUtility.getPermissionsValue(byCanEdit: false, andCanCreate: false, andCanChange: false, andCanDelete: false, andCanShare: false, andIsFolder: directory)
+                    let canShare = CCUtility.isPermission(toCanShare: tableShare.permissions)
+                    let permissions = CCUtility.getPermissionsValue(byCanEdit: false, andCanCreate: false, andCanChange: false, andCanDelete: false, andCanShare: canShare, andIsFolder: directory)
                     NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterShareChangePermissions, userInfo: ["idShare": tableShare.idShare, "permissions": permissions, "hideDownload": tableShare.hideDownload])
                 }
             )
@@ -41,12 +55,14 @@ class NCShareQuickStatusMenu: NSObject {
                 selected: tableShare.permissions == NCGlobal.shared.permissionMaxFileShare || tableShare.permissions == NCGlobal.shared.permissionMaxFolderShare ||  tableShare.permissions == NCGlobal.shared.permissionDefaultFileRemoteShareNoSupportShareOption,
                 on: false,
                 action: { menuAction in
-                    let permissions = CCUtility.getPermissionsValue(byCanEdit: true, andCanCreate: true, andCanChange: true, andCanDelete: true, andCanShare: false, andIsFolder: directory)
+                    let canShare = CCUtility.isPermission(toCanShare: tableShare.permissions)
+                    let permissions = CCUtility.getPermissionsValue(byCanEdit: true, andCanCreate: true, andCanChange: true, andCanDelete: true, andCanShare: canShare, andIsFolder: directory)
                     NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterShareChangePermissions, userInfo: ["idShare": tableShare.idShare, "permissions": permissions, "hideDownload": tableShare.hideDownload])
                 }
             )
         )
         
+        /*
         if directory {
             actions.append(
                 NCMenuAction(
@@ -61,7 +77,8 @@ class NCShareQuickStatusMenu: NSObject {
                 )
             )
         }
-
+        */
+        
         menuViewController.actions = actions
 
         let menuPanelController = NCMenuPanelController()