Эх сурвалжийг харах

coding

Signed-off-by: marinofaggiana <ios@nextcloud.com>
marinofaggiana 2 жил өмнө
parent
commit
d79b51d189

+ 14 - 0
iOSClient/Data/NCManageDatabase.swift

@@ -870,6 +870,20 @@ class NCManageDatabase: NSObject {
         }
     }
 
+    @objc func setDirectory(serverUrl: String, colorFolder: String?, account: String) {
+
+        let realm = try! Realm()
+
+        do {
+            try realm.safeWrite {
+                let 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)")
+        }
+    }
+
     // MARK: -
     // MARK: Table e2e Encryption
 

+ 15 - 0
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -41,6 +41,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
     internal var isEditMode = false
     internal var selectOcId: [String] = []
     internal var metadataFolder: tableMetadata?
+    internal var menuMetadata: tableMetadata?
     internal var dataSource = NCDataSource()
     internal var richWorkspaceText: String?
     internal var headerMenu: NCSectionHeaderMenu?
@@ -1917,3 +1918,17 @@ extension NCCollectionViewCommon: EasyTipViewDelegate {
     }
 }
 
+@available(iOS 14.0, *)
+extension NCCollectionViewCommon: UIColorPickerViewControllerDelegate {
+
+    func colorPickerViewControllerDidFinish(_ viewController: UIColorPickerViewController) {
+
+        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)
+        }
+        
+    }
+}
+

+ 5 - 12
iOSClient/Menu/NCCollectionViewCommon+Menu.swift

@@ -37,6 +37,7 @@ extension NCCollectionViewCommon {
         var actions = [NCMenuAction]()
 
         guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(metadata.ocId) else { return }
+        self.menuMetadata = metadata
         let serverUrl = metadata.serverUrl + "/" + metadata.fileName
         let isFolderEncrypted = CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase)
         let serverUrlHome = NCUtilityFileSystem.shared.getHomeServer(account: appDelegate.account)
@@ -297,27 +298,19 @@ extension NCCollectionViewCommon {
         //
         // CHANGE COLOR
         //
-        if metadata.directory {
+        if #available(iOS 14.0, *), metadata.directory {
             actions.append(
                 NCMenuAction(
                     title: NSLocalizedString("_change_color_", comment: ""),
                     icon: NCUtility.shared.loadImage(named: "palette"),
                     action: { _ in
-                        if let vcBackgroundImageColor = UIStoryboard(name: "NCBackgroundImageColor", bundle: nil).instantiateInitialViewController() as? NCBackgroundImageColor {
-
-                            vcBackgroundImageColor.delegate = self
-                            //vcBackgroundImageColor.setupColor = collectionView.backgroundColor
-
-                            let popup = NCPopupViewController(contentController: vcBackgroundImageColor, popupWidth: vcBackgroundImageColor.width, popupHeight: vcBackgroundImageColor.height)
-                            popup.backgroundAlpha = 0
-
-                            self.present(popup, animated: true)
-                        }
+                        let picker = UIColorPickerViewController()
+                        picker.delegate = self
+                        self.present(picker, animated: true, completion: nil)
                     }
                 )
             )
         }
-
         //
         // DELETE
         //