Przeglądaj źródła

add ViewerQuickLook

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 lat temu
rodzic
commit
0546162c7d

+ 26 - 0
iOSClient/Main/Create cloud/NCUploadAssets.swift

@@ -56,6 +56,7 @@ class NCUploadAssets: NSObject, ObservableObject, NCCreateFormUploadConflictDele
 
     var metadatasNOConflict: [tableMetadata] = []
     var metadatasUploadInConflict: [tableMetadata] = []
+    var timer: Timer?
 
     init(assets: [TLPHAsset], serverUrl: String, userBaseUrl: NCUserBaseUrl) {
 
@@ -73,6 +74,31 @@ class NCUploadAssets: NSObject, ObservableObject, NCCreateFormUploadConflictDele
         }
     }
 
+    func startTimer(navigationItem: UINavigationItem) {
+        self.timer = Timer.scheduledTimer(withTimeInterval: 0.3, repeats: true, block: { _ in
+            print("XX")
+            let numItemsRight = navigationItem.rightBarButtonItems?.count ?? 0
+            if let buttonCrop = navigationItem.leftBarButtonItems?.first {
+                if numItemsRight > 1 && buttonCrop.isEnabled {
+                    buttonCrop.isEnabled = false
+                    if let buttonDone = navigationItem.rightBarButtonItems?.last {
+                        buttonDone.isEnabled = false
+                    }
+                }
+                if numItemsRight == 1 && !buttonCrop.isEnabled {
+                    buttonCrop.isEnabled = true
+                    if let buttonDone = navigationItem.rightBarButtonItems?.first {
+                        buttonDone.isEnabled = true
+                    }
+                }
+            }
+        })
+    }
+
+    func stopTimer() {
+        self.timer?.invalidate()
+    }
+
     func dismissCreateFormUploadConflict(metadatas: [tableMetadata]?) {
 
         if let metadatas = metadatas {

+ 2 - 23
iOSClient/Viewer/NCViewerQuickLook/ViewerQuickLook.swift

@@ -35,28 +35,7 @@ struct ViewerQuickLook: UIViewControllerRepresentable {
             action: #selector(context.coordinator.crop)
         )
 
-        /*
-        var timer = DispatchSource.makeTimerSource(queue: .main)
-        timer.schedule(deadline: .now(), repeating: 0.3)
-        timer.setEventHandler {
-            let numItemsRight = controller.navigationItem.rightBarButtonItems?.count ?? 0
-            if let buttonCrop = controller.navigationItem.leftBarButtonItems?.first {
-                if numItemsRight > 1 && buttonCrop.isEnabled {
-                    buttonCrop.isEnabled = false
-                    if let buttonDone = controller.navigationItem.rightBarButtonItems?.last {
-                        buttonDone.isEnabled = false
-                    }
-                }
-                if numItemsRight == 1 && !buttonCrop.isEnabled {
-                    buttonCrop.isEnabled = true
-                    if let buttonDone = controller.navigationItem.rightBarButtonItems?.first {
-                        buttonDone.isEnabled = true
-                    }
-                }
-            }
-        }
-        timer.resume()
-        */
+        uploadAssets.startTimer(navigationItem: controller.navigationItem)
 
         let navigationController = UINavigationController(rootViewController: controller)
         return navigationController
@@ -81,7 +60,7 @@ struct ViewerQuickLook: UIViewControllerRepresentable {
         }
 
         @objc func dismiss() {
-            // parent.timer.suspend()
+            parent.uploadAssets.stopTimer()
             parent.isPresentedQuickLook = false
             if let image = image {
                 parent.uploadAssets.previewStore[parent.index].image = image