Bläddra i källkod

coding

Signed-off-by: marinofaggiana <ios@nextcloud.com>
marinofaggiana 2 år sedan
förälder
incheckning
e7a500774f

+ 11 - 3
iOSClient/Data/NCManageDatabase.swift

@@ -849,7 +849,7 @@ class NCManageDatabase: NSObject {
     }
 
     @discardableResult
-    @objc func setDirectory(richWorkspace: String?, serverUrl: String, account: String) -> tableDirectory? {
+    @objc func setDirectory(serverUrl: String, richWorkspace: String?, account: String) -> tableDirectory? {
 
         let realm = try! Realm()
         var result: tableDirectory?
@@ -870,18 +870,26 @@ class NCManageDatabase: NSObject {
         }
     }
 
-    @objc func setDirectory(serverUrl: String, colorFolder: String?, account: String) {
+    @discardableResult
+    @objc func setDirectory(serverUrl: String, colorFolder: String?, account: String) -> tableDirectory? {
 
         let realm = try! Realm()
+        var result: tableDirectory?
 
         do {
             try realm.safeWrite {
-                let result = realm.objects(tableDirectory.self).filter("account == %@ AND serverUrl == %@", account, serverUrl).first
+                result = realm.objects(tableDirectory.self).filter("account == %@ AND serverUrl == %@", account, serverUrl).first
                 result?.colorFolder = colorFolder
             }
         } catch let error {
             NCCommunicationCommon.shared.writeLog("Could not write to database: \(error)")
         }
+
+        if let result = result {
+            return tableDirectory.init(value: result)
+        } else {
+            return nil
+        }
     }
 
     // MARK: -

+ 10 - 6
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -1141,7 +1141,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
             }
 
             if let metadataFolder = metadataFolder {
-                tableDirectory = NCManageDatabase.shared.setDirectory(richWorkspace: metadataFolder.richWorkspace, serverUrl: self.serverUrl, account: account)
+                tableDirectory = NCManageDatabase.shared.setDirectory(serverUrl: self.serverUrl, richWorkspace: metadataFolder.richWorkspace, account: account)
             }
             if forced || tableDirectory?.etag != metadataFolder?.etag || metadataFolder?.e2eEncrypted ?? false {
                 NCNetworking.shared.readFolder(serverUrl: self.serverUrl, account: self.appDelegate.account) { account, metadataFolder, metadatas, metadatasUpdate, _, metadatasDelete, errorCode, errorDescription in
@@ -1597,14 +1597,16 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
                 cell.filePreviewImageView?.image = NCBrandColor.cacheImages.folder
             }
 
-            let lockServerUrl = CCUtility.stringAppendServerUrl(metadata.serverUrl, addFileName: metadata.fileName)!
-            let tableDirectory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", appDelegate.account, lockServerUrl))
-
             // Local image: offline
-            if tableDirectory != nil && tableDirectory!.offline {
+            if let tableDirectory = tableDirectory, tableDirectory.offline {
                 cell.fileLocalImage?.image = NCBrandColor.cacheImages.offlineFlag
             }
 
+            // color folder
+            if let colorFolderHex = tableDirectory?.colorFolder, let color = UIColor(hex: colorFolderHex) {
+                cell.filePreviewImageView?.image = cell.filePreviewImageView?.image?.imageColor(color)
+            }
+
         } else {
 
             // image local
@@ -1926,7 +1928,9 @@ extension NCCollectionViewCommon: UIColorPickerViewControllerDelegate {
         if let metadata = menuMetadata {
             let serverUrl = metadata.serverUrl + "/" + metadata.fileName
             let hexColor = viewController.selectedColor.hexString
-            NCManageDatabase.shared.setDirectory(serverUrl: serverUrl, colorFolder: hexColor, account: metadata.account)
+            if let directory = NCManageDatabase.shared.setDirectory(serverUrl: serverUrl, colorFolder: hexColor, account: metadata.account) {
+                
+            }
         }
         
     }

+ 1 - 1
iOSClient/Networking/NCNetworking.swift

@@ -736,7 +736,7 @@ import Photos
 
                 // Update directory
                 NCManageDatabase.shared.addDirectory(encrypted: metadataFolder.e2eEncrypted, favorite: metadataFolder.favorite, ocId: metadataFolder.ocId, fileId: metadataFolder.fileId, etag: metadataFolder.etag, permissions: metadataFolder.permissions, serverUrl: serverUrl, account: metadataFolder.account)
-                NCManageDatabase.shared.setDirectory(richWorkspace: metadataFolder.richWorkspace, serverUrl: serverUrl, account: metadataFolder.account)
+                NCManageDatabase.shared.setDirectory(serverUrl: serverUrl, richWorkspace: metadataFolder.richWorkspace, account: metadataFolder.account)
 
                 // Update sub directories NO Update richWorkspace
                 for metadata in metadatasFolder {

+ 1 - 1
iOSClient/RichWorkspace/NCViewerRichWorkspace.swift

@@ -64,7 +64,7 @@ import MarkdownKit
 
             if errorCode == 0 && account == self.appDelegate.account {
                 guard let metadata = metadata else { return }
-                NCManageDatabase.shared.setDirectory(richWorkspace: metadata.richWorkspace, serverUrl: self.serverUrl, account: account)
+                NCManageDatabase.shared.setDirectory(serverUrl: self.serverUrl, richWorkspace: metadata.richWorkspace, account: account)
                 if self.richWorkspaceText != metadata.richWorkspace && metadata.richWorkspace != nil {
                     self.appDelegate.activeFiles?.richWorkspaceText = self.richWorkspaceText
                     self.richWorkspaceText = metadata.richWorkspace!