marinofaggiana 3 years ago
parent
commit
5ed6dacf78

+ 14 - 0
iOSClient/Utility/NCUtility.swift

@@ -691,6 +691,20 @@ class NCUtility: NSObject {
 
         return isEqual
     }
+    
+    func stringFromTimeInterval(interval: TimeInterval) -> String {
+    
+        let interval = Int(interval)
+        let seconds = interval % 60
+        let minutes = (interval / 60) % 60
+        let hours = (interval / 3600)
+        
+        if hours > 0 {
+            return String(format: "%02d:%02d:%02d", hours, minutes, seconds)
+        } else {
+            return String(format: "%02d:%02d", minutes, seconds)
+        }
+    }
 }
 
 // MARK: -

+ 4 - 4
iOSClient/Viewer/NCViewerImage/NCViewerImage.storyboard

@@ -281,7 +281,7 @@
                                                 <nil key="highlightedColor"/>
                                             </label>
                                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="F9L-PP-AbM">
-                                                <rect key="frame" x="251.99999999999994" y="55" width="40" height="40"/>
+                                                <rect key="frame" x="226.99999999999994" y="55" width="40" height="40"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="40" id="hlL-XQ-OLa"/>
                                                     <constraint firstAttribute="height" constant="40" id="vEe-Fb-a9N"/>
@@ -292,7 +292,7 @@
                                                 </connections>
                                             </button>
                                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Isy-sX-Gji">
-                                                <rect key="frame" x="72" y="55" width="40" height="40"/>
+                                                <rect key="frame" x="97" y="55" width="40" height="40"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="40" id="COm-r2-ubw"/>
                                                     <constraint firstAttribute="height" constant="40" id="mbb-ql-zCc"/>
@@ -311,7 +311,7 @@
                                             <constraint firstItem="Isy-sX-Gji" firstAttribute="centerY" secondItem="x3E-b2-obf" secondAttribute="centerY" id="Hif-Fa-xc2"/>
                                             <constraint firstItem="a0D-B0-eGX" firstAttribute="leading" secondItem="sBp-t2-eFh" secondAttribute="leading" id="OIL-1t-uuh"/>
                                             <constraint firstAttribute="trailing" secondItem="SR4-e8-1hC" secondAttribute="trailing" constant="20" id="Q3r-ex-Cpf"/>
-                                            <constraint firstItem="F9L-PP-AbM" firstAttribute="leading" secondItem="x3E-b2-obf" secondAttribute="trailing" constant="50" id="VPD-ln-2aN"/>
+                                            <constraint firstItem="F9L-PP-AbM" firstAttribute="leading" secondItem="x3E-b2-obf" secondAttribute="trailing" constant="25" id="VPD-ln-2aN"/>
                                             <constraint firstItem="SR4-e8-1hC" firstAttribute="leading" secondItem="sBp-t2-eFh" secondAttribute="leading" constant="20" id="Xec-gd-9AB"/>
                                             <constraint firstAttribute="bottom" secondItem="a0D-B0-eGX" secondAttribute="bottom" id="a3T-pV-xrr"/>
                                             <constraint firstItem="F9L-PP-AbM" firstAttribute="centerY" secondItem="x3E-b2-obf" secondAttribute="centerY" id="cIu-i5-mbJ"/>
@@ -320,7 +320,7 @@
                                             <constraint firstItem="kVv-X4-6SK" firstAttribute="top" secondItem="SR4-e8-1hC" secondAttribute="bottom" id="l6a-l5-ZvL"/>
                                             <constraint firstAttribute="trailing" secondItem="a0D-B0-eGX" secondAttribute="trailing" id="lbh-DN-SZF"/>
                                             <constraint firstItem="8AB-hx-yqN" firstAttribute="centerY" secondItem="F9L-PP-AbM" secondAttribute="centerY" id="o5E-tm-osC"/>
-                                            <constraint firstItem="x3E-b2-obf" firstAttribute="leading" secondItem="Isy-sX-Gji" secondAttribute="trailing" constant="50" id="sIc-bL-Yjz"/>
+                                            <constraint firstItem="x3E-b2-obf" firstAttribute="leading" secondItem="Isy-sX-Gji" secondAttribute="trailing" constant="25" id="sIc-bL-Yjz"/>
                                             <constraint firstItem="x3E-b2-obf" firstAttribute="centerX" secondItem="sBp-t2-eFh" secondAttribute="centerX" id="uPa-tM-Vx6"/>
                                             <constraint firstItem="SR4-e8-1hC" firstAttribute="top" secondItem="sBp-t2-eFh" secondAttribute="top" constant="15" id="uu1-ai-wmJ"/>
                                             <constraint firstItem="OUD-HH-cXH" firstAttribute="top" secondItem="SR4-e8-1hC" secondAttribute="bottom" constant="-3" id="wwk-tz-5dj"/>

+ 2 - 10
iOSClient/Viewer/NCViewerImage/NCViewerImageDetailView.swift

@@ -159,16 +159,8 @@ class NCViewerImageDetailView: UIView {
                 if let url = url {
                     let playerVideo = AVPlayer(url: url)
                     if let duration = playerVideo.currentItem?.asset.duration {
-                        let durationVideo = Int(CMTimeGetSeconds(duration))
-                        let timer = self.secondsToHoursMinutesSeconds(seconds: durationVideo)
-                        self.dimLabel.text = NSLocalizedString("_duration_", comment: "")
-                        var hh = "\(timer.0)"
-                        var mm = "\(timer.1)"
-                        var ss = "\(timer.2)"
-                        if hh.count == 1 { hh = "0" + hh }
-                        if mm.count == 1 { mm = "0" + mm }
-                        if ss.count == 1 { ss = "0" + ss }
-                        self.dimValue.text = hh + ":" + mm + ":" + ss
+                        let durationSeconds = CMTimeGetSeconds(duration)
+                        self.dimValue.text = NCUtility.shared.stringFromTimeInterval(interval: durationSeconds)
                     }
                 }
             }

+ 4 - 0
iOSClient/Viewer/NCViewerImage/NCViewerImageZoom.swift

@@ -243,6 +243,8 @@ extension NCViewerImageZoom {
         }
         
         scrollView.pinchGestureRecognizer?.isEnabled = false
+        
+        videoToolBar.hideToolBar()
     }
     
     private func closeDetail() {
@@ -259,6 +261,8 @@ extension NCViewerImageZoom {
         }
         
         scrollView.pinchGestureRecognizer?.isEnabled = true
+        
+        videoToolBar.showToolBar()
     }
 }
 

+ 6 - 22
iOSClient/Viewer/NCViewerVideo/NCViewerVideoToolBar.swift

@@ -74,9 +74,9 @@ class NCViewerVideoToolBar: UIView {
         playbackSlider.isContinuous = true
         playbackSlider.tintColor = .lightGray
         
-        labelCurrentTime.text = stringFromTimeInterval(interval: 0)
+        labelCurrentTime.text = NCUtility.shared.stringFromTimeInterval(interval: 0)
         labelCurrentTime.textColor = .lightGray
-        labelOverallDuration.text = stringFromTimeInterval(interval: 0)
+        labelOverallDuration.text = NCUtility.shared.stringFromTimeInterval(interval: 0)
         labelOverallDuration.textColor = .lightGray
         
         setToolBarImage()
@@ -95,8 +95,8 @@ class NCViewerVideoToolBar: UIView {
         playbackSlider.maximumValue = Float(durationSeconds)
         playbackSlider.addTarget(self, action: #selector(onSliderValChanged(slider:event:)), for: .valueChanged)
 
-        labelCurrentTime.text = stringFromTimeInterval(interval: 0)
-        labelOverallDuration.text = "-" + stringFromTimeInterval(interval: durationSeconds)
+        labelCurrentTime.text = NCUtility.shared.stringFromTimeInterval(interval: 0)
+        labelOverallDuration.text = "-" + NCUtility.shared.stringFromTimeInterval(interval: durationSeconds)
         
         player?.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(1, preferredTimescale: 1), queue: .main, using: { (CMTime) in
             
@@ -163,8 +163,8 @@ class NCViewerVideoToolBar: UIView {
             let currentSeconds: Float64 = CMTimeGetSeconds(currentTime)
             
             self.playbackSlider.value = Float(currentSeconds)
-            self.labelCurrentTime.text = self.stringFromTimeInterval(interval: currentSeconds)
-            self.labelOverallDuration.text = "-" + self.stringFromTimeInterval(interval: durationSeconds - currentSeconds)
+            self.labelCurrentTime.text = NCUtility.shared.stringFromTimeInterval(interval: currentSeconds)
+            self.labelOverallDuration.text = "-" + NCUtility.shared.stringFromTimeInterval(interval: durationSeconds - currentSeconds)
         }
     }
     
@@ -253,20 +253,4 @@ class NCViewerVideoToolBar: UIView {
         self.player?.seek(to: targetTime)
         NCManageDatabase.shared.addVideoTime(metadata: self.metadata, time: targetTime)
     }
-    
-    //MARK: - Algorithms
-    
-    func stringFromTimeInterval(interval: TimeInterval) -> String {
-    
-        let interval = Int(interval)
-        let seconds = interval % 60
-        let minutes = (interval / 60) % 60
-        let hours = (interval / 3600)
-        
-        if hours > 0 {
-            return String(format: "%02d:%02d:%02d", hours, minutes, seconds)
-        } else {
-            return String(format: "%02d:%02d", minutes, seconds)
-        }
-    }
 }