marinofaggiana 5 жил өмнө
parent
commit
42953237b0

+ 25 - 13
iOSClient/Main/NCDetailViewController.swift

@@ -101,6 +101,7 @@ class NCDetailViewController: UIViewController {
             }
             }
         }
         }
         
         
+        self.splitViewController?.preferredDisplayMode = .allVisible
         backgroundView.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "logo"), multiplier: 2, color: NCBrandColor.sharedInstance.brand.withAlphaComponent(0.4))
         backgroundView.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "logo"), multiplier: 2, color: NCBrandColor.sharedInstance.brand.withAlphaComponent(0.4))
     }
     }
     
     
@@ -127,20 +128,27 @@ class NCDetailViewController: UIViewController {
                 if mediaBrowser != nil {
                 if mediaBrowser != nil {
                     if metadata.account == self.metadata?.account && metadata.serverUrl == self.metadata?.serverUrl && metadata.typeFile == k_metadataTypeFile_image {
                     if metadata.account == self.metadata?.account && metadata.serverUrl == self.metadata?.serverUrl && metadata.typeFile == k_metadataTypeFile_image {
                          
                          
-                        viewUnload()
-                        
-                        for counter in 1...self.metadatas.count {
-                            let index = self.metadatas.count - counter
-                            let metadataLoop = self.metadatas[index]
-                            if metadataLoop.ocId != metadata.ocId {
-                                self.metadata = metadataLoop
-                            } else {
-                                break
+                        if let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND typeFile == %@", metadata.account, metadata.serverUrl, k_metadataTypeFile_image), sorted: CCUtility.getOrderSettings(), ascending: CCUtility.getAscendingSettings()) {
+            
+                            self.metadata = metadatas[0]
+                            
+                            for counter in 1...self.metadatas.count {
+                                let index = self.metadatas.count - counter
+                                let metadataLoop = self.metadatas[index]
+                                if metadataLoop.ocId != metadata.ocId {
+                                    self.metadata = metadataLoop
+                                } else {
+                                    break
+                                }
                             }
                             }
-                        }
-                        if self.metadata == nil { self.metadata = metadata }
                             
                             
-                        viewImage()
+                            for view in backgroundView.subviews { view.removeFromSuperview() }
+                            viewImage()
+                            
+                        } else {
+                         
+                            viewUnload()
+                        }
                     }
                     }
                     
                     
                 // OTHER SINGLE FILE TYPE
                 // OTHER SINGLE FILE TYPE
@@ -331,7 +339,7 @@ extension NCDetailViewController: MediaBrowserViewControllerDelegate, MediaBrows
                     mediaBrowser!.view.isHidden = true
                     mediaBrowser!.view.isHidden = true
                     
                     
                     mediaBrowser!.shouldShowPageControl = false
                     mediaBrowser!.shouldShowPageControl = false
-                    mediaBrowser!.enableInteractiveDismissal = false
+                    mediaBrowser!.enableInteractiveDismissal = true
                     
                     
                     addChild(mediaBrowser!)
                     addChild(mediaBrowser!)
                     backgroundView.addSubview(mediaBrowser!.view)
                     backgroundView.addSubview(mediaBrowser!.view)
@@ -415,6 +423,10 @@ extension NCDetailViewController: MediaBrowserViewControllerDelegate, MediaBrows
     func mediaBrowser(_ mediaBrowser: MediaBrowserViewController, didChangeFocusTo index: Int) {
     func mediaBrowser(_ mediaBrowser: MediaBrowserViewController, didChangeFocusTo index: Int) {
     }
     }
     
     
+    func mediaBrowserDismiss() {
+        viewUnload()
+    }
+    
     func getImageOffOutline() -> UIImage {
     func getImageOffOutline() -> UIImage {
         
         
         let image = CCGraphics.changeThemingColorImage(UIImage.init(named: "imageOffOutline"), width: self.view.frame.width, height: self.view.frame.width, color: NCBrandColor.sharedInstance.brand)
         let image = CCGraphics.changeThemingColorImage(UIImage.init(named: "imageOffOutline"), width: self.view.frame.width, height: self.view.frame.width, color: NCBrandColor.sharedInstance.brand)

+ 4 - 2
iOSClient/Viewer/NCMediaBrowser/DismissAnimationController.swift

@@ -28,7 +28,7 @@ internal class DismissAnimationController: NSObject {
         static let minimumVelocity: CGFloat = 15.0
         static let minimumVelocity: CGFloat = 15.0
         static let minimumTranslation: CGFloat = 0.25
         static let minimumTranslation: CGFloat = 0.25
         static let transitionDuration = 0.3
         static let transitionDuration = 0.3
-        static let updateFrameRate: CGFloat = 60.0
+        static let updateFrameRate: CGFloat = 2400.0
         static let transitionSpeedFactor: CGFloat = 0.15
         static let transitionSpeedFactor: CGFloat = 0.15
         static let minimumZoomDuringInteraction: CGFloat = 0.9
         static let minimumZoomDuringInteraction: CGFloat = 0.9
     }
     }
@@ -185,7 +185,9 @@ internal class DismissAnimationController: NSObject {
 
 
         let directionalPosition = (gestureDirection == .horizontal) ? relativePosition.y : relativePosition.x
         let directionalPosition = (gestureDirection == .horizontal) ? relativePosition.y : relativePosition.x
         if directionalPosition != 0.0 {
         if directionalPosition != 0.0 {
-            viewController?.dismiss(animated: false, completion: nil)
+            viewController?.dismiss(animated: false, completion: {
+                self.viewController?.delegate?.mediaBrowserDismiss()
+            })
         } else {
         } else {
             viewController?.mediaContainerView.isHidden = false
             viewController?.mediaContainerView.isHidden = false
             viewController?.hideControls = false
             viewController?.hideControls = false

+ 2 - 0
iOSClient/Viewer/NCMediaBrowser/MediaBrowserViewController.swift

@@ -80,6 +80,8 @@ public protocol MediaBrowserViewControllerDelegate: class {
         This method will not be called on first load, and will be called only on swiping left and right.
         This method will not be called on first load, and will be called only on swiping left and right.
      */
      */
     func mediaBrowser(_ mediaBrowser: MediaBrowserViewController, didChangeFocusTo index: Int)
     func mediaBrowser(_ mediaBrowser: MediaBrowserViewController, didChangeFocusTo index: Int)
+    
+    func mediaBrowserDismiss()
 }
 }
 
 
 extension MediaBrowserViewControllerDelegate {
 extension MediaBrowserViewControllerDelegate {