marinofaggiana 4 жил өмнө
parent
commit
e2a5393220

+ 23 - 0
iOSClient/Data/NCManageDatabase.swift

@@ -2255,6 +2255,29 @@ class NCManageDatabase: NSObject {
         return Array(results.map { tableMetadata.init(value:$0) })
     }
     
+    func isMetadataShareOrMounted(metadata: tableMetadata, metadataFolder: tableMetadata?) -> Bool {
+           
+        var isShare = false
+        var isMounted = false
+        
+        if metadataFolder != nil {
+            
+            isShare = metadata.permissions.contains(k_permission_shared) && !metadataFolder!.permissions.contains(k_permission_shared)
+            isMounted = metadata.permissions.contains(k_permission_mounted) && !metadataFolder!.permissions.contains(k_permission_mounted)
+            
+        } else if let directory = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", metadata.account, metadata.serverUrl))  {
+                
+            isShare = metadata.permissions.contains(k_permission_shared) && !directory.permissions.contains(k_permission_shared)
+            isMounted = metadata.permissions.contains(k_permission_mounted) && !directory.permissions.contains(k_permission_mounted)
+        }
+        
+        if isShare || isMounted {
+            return true
+        } else {
+            return false
+        }
+    }
+    
     //MARK: -
     //MARK: Table Photo Library
     

+ 12 - 4
iOSClient/Main/Menu/NCCollectionViewCommon+Menu.swift

@@ -55,14 +55,22 @@ extension NCCollectionViewCommon {
         var isOffline = false
         
         var titleDelete = NSLocalizedString("_delete_", comment: "")
-        if metadataFolder != nil {
-            let isShare = metadata.permissions.contains(k_permission_shared) && !metadataFolder!.permissions.contains(k_permission_shared)
-            let isMounted = metadata.permissions.contains(k_permission_mounted) && !metadataFolder!.permissions.contains(k_permission_mounted)
+        if NCManageDatabase.sharedInstance.isMetadataShareOrMounted(metadata: metadata, metadataFolder: metadataFolder) {
+            titleDelete = NSLocalizedString("_leave_share_", comment: "")
+        } else if metadata.directory {
+            titleDelete = NSLocalizedString("_delete_folder_", comment: "")
+        } else {
+            titleDelete = NSLocalizedString("_delete_file_", comment: "")
+        }
+        
+        if let metadataFolder = metadataFolder {
+            let isShare = metadata.permissions.contains(k_permission_shared) && !metadataFolder.permissions.contains(k_permission_shared)
+            let isMounted = metadata.permissions.contains(k_permission_mounted) && !metadataFolder.permissions.contains(k_permission_mounted)
             if isShare || isMounted {
                 titleDelete = NSLocalizedString("_leave_share_", comment: "")
             }
         }
-                
+               
         if metadata.directory {
             if let directory = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", appDelegate.account, serverUrl)) {
                 isOffline = directory.offline

+ 11 - 1
iOSClient/Main/Menu/NCDetailNavigationController+Menu.swift

@@ -68,6 +68,7 @@ extension NCDetailNavigationController {
         var titleFavorite = NSLocalizedString("_add_favorites_", comment: "")
         if metadata.favorite { titleFavorite = NSLocalizedString("_remove_favorites_", comment: "") }
         let localFile = NCManageDatabase.sharedInstance.getTableLocalFile(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
+        
         var titleOffline = ""
         if (localFile == nil || localFile!.offline == false) {
             titleOffline = NSLocalizedString("_set_available_offline_", comment: "")
@@ -75,6 +76,15 @@ extension NCDetailNavigationController {
             titleOffline = NSLocalizedString("_remove_available_offline_", comment: "")
         }
         
+        var titleDelete = NSLocalizedString("_delete_", comment: "")
+        if NCManageDatabase.sharedInstance.isMetadataShareOrMounted(metadata: metadata, metadataFolder: nil) {
+            titleDelete = NSLocalizedString("_leave_share_", comment: "")
+        } else if metadata.directory {
+            titleDelete = NSLocalizedString("_delete_folder_", comment: "")
+        } else {
+            titleDelete = NSLocalizedString("_delete_file_", comment: "")
+        }
+        
         //
         // FAVORITE
         //
@@ -216,7 +226,7 @@ extension NCDetailNavigationController {
         // DELETE
         //
         actions.append(
-            NCMenuAction(title: NSLocalizedString("_delete_", comment: ""),
+            NCMenuAction(title: titleDelete,
                          icon: CCGraphics.changeThemingColorImage(UIImage(named: "trash"), width: 50, height: 50, color: .red),
                 action: { menuAction in