marinofaggiana před 5 roky
rodič
revize
3f8c99f58e

+ 1 - 0
Cartfile

@@ -22,3 +22,4 @@ github "ivanbruel/MarkdownKit"
 
 github "https://github.com/marinofaggiana/FastScroll" "master"
 github "https://github.com/marinofaggiana/AFNetworking" "master"
+github "https://github.com/marinofaggiana/ATGMediaBrowser" "master"

+ 1 - 0
Cartfile.resolved

@@ -17,6 +17,7 @@ github "kishikawakatsumi/UICKeyChainStore" "v2.1.2"
 github "krzyzanowskim/OpenSSL" "1.0.218"
 github "malcommac/SwiftRichString" "3.7.1"
 github "marinofaggiana/AFNetworking" "2967678c3e0e98c9b8d7e06222ad12d1f49c26f2"
+github "marinofaggiana/ATGMediaBrowser" "f68a12108794b425180d4daf2e87e25edd5d21ce"
 github "marinofaggiana/FastScroll" "81967c2309d29bc2c330d422da612160a30bade8"
 github "nextcloud/ios-communication-library" "v0.54"
 github "realm/realm-cocoa" "v4.3.1"

+ 5 - 0
Nextcloud.xcodeproj/project.pbxproj

@@ -440,6 +440,7 @@
 		F78F74342163757000C2ADAD /* NCTrash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F78F74332163757000C2ADAD /* NCTrash.storyboard */; };
 		F78F74362163781100C2ADAD /* NCTrash.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78F74352163781100C2ADAD /* NCTrash.swift */; };
 		F790110E21415BF600D7B136 /* NCViewerRichdocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = F790110D21415BF600D7B136 /* NCViewerRichdocument.swift */; };
+		F79018A524092EF4007C9B6D /* ATGMediaBrowser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F79018A424092EF4007C9B6D /* ATGMediaBrowser.framework */; };
 		F79630EE215527D40015EEA5 /* NCViewerMedia.swift in Sources */ = {isa = PBXBuildFile; fileRef = F79630ED215527D40015EEA5 /* NCViewerMedia.swift */; };
 		F79728D422F96F2E003CACA7 /* NCShareLinkFolderMenuView.xib in Resources */ = {isa = PBXBuildFile; fileRef = F79728D322F96F2D003CACA7 /* NCShareLinkFolderMenuView.xib */; };
 		F79728D622F9A0B1003CACA7 /* NCShareUserFolderMenuView.xib in Resources */ = {isa = PBXBuildFile; fileRef = F79728D522F9A0B0003CACA7 /* NCShareUserFolderMenuView.xib */; };
@@ -1134,6 +1135,7 @@
 		F78F74332163757000C2ADAD /* NCTrash.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = NCTrash.storyboard; sourceTree = "<group>"; };
 		F78F74352163781100C2ADAD /* NCTrash.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCTrash.swift; sourceTree = "<group>"; };
 		F790110D21415BF600D7B136 /* NCViewerRichdocument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCViewerRichdocument.swift; sourceTree = "<group>"; };
+		F79018A424092EF4007C9B6D /* ATGMediaBrowser.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ATGMediaBrowser.framework; path = Carthage/Build/iOS/ATGMediaBrowser.framework; sourceTree = "<group>"; };
 		F7956FC91B4886E60085DEA3 /* CCUploadFromOtherUpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCUploadFromOtherUpp.h; sourceTree = "<group>"; };
 		F7956FCA1B4886E60085DEA3 /* CCUploadFromOtherUpp.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCUploadFromOtherUpp.m; sourceTree = "<group>"; };
 		F7956FCB1B4886E60085DEA3 /* CCUploadFromOtherUpp.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = CCUploadFromOtherUpp.storyboard; sourceTree = "<group>"; };
@@ -1373,6 +1375,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				F79018A524092EF4007C9B6D /* ATGMediaBrowser.framework in Frameworks */,
 				F716FE7823795E5000FABE50 /* NCCommunication.framework in Frameworks */,
 				F74C4FBB2328C3C200A23E25 /* OpenSSL.framework in Frameworks */,
 				F7421EAF2294044B00C4B7C1 /* Accelerate.framework in Frameworks */,
@@ -2696,6 +2699,7 @@
 		F7FC7D541DC1F93700BB2C6A /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				F79018A424092EF4007C9B6D /* ATGMediaBrowser.framework */,
 				F7DBD82B23E46A4700ECB7C6 /* MarkdownKit.framework */,
 				371B5A3223D0BD5500FAFAE9 /* FloatingPanel.framework */,
 				F765608A23BF80A400765969 /* SwiftEntryKit.framework */,
@@ -3166,6 +3170,7 @@
 				"$(SRCROOT)/Carthage/Build/iOS/SwiftEntryKit.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/FloatingPanel.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/MarkdownKit.framework",
+				"$(SRCROOT)/Carthage/Build/iOS/ATGMediaBrowser.framework",
 			);
 			outputPaths = (
 			);

+ 24 - 5
iOSClient/Main/NCDetailViewController.swift

@@ -24,8 +24,9 @@
 import Foundation
 import WebKit
 import NCCommunication
+import ATGMediaBrowser
 
-class NCDetailViewController: UIViewController {
+class NCDetailViewController: UIViewController, MediaBrowserViewControllerDelegate, MediaBrowserViewControllerDataSource {
     
     @IBOutlet weak var backgroundView: UIImageView!
     
@@ -106,10 +107,14 @@ class NCDetailViewController: UIViewController {
         
         // IMAGE
         if metadata.typeFile == k_metadataTypeFile_image {
-//            let viewerPhotoViewController = NCViewerPhotoViewController()
-//            self.addChild(viewerPhotoViewController)
-//            self.backgroundView.addSubview(viewerPhotoViewController.view)
-//            viewerPhotoViewController.didMove(toParent: self)
+            let mediaBrowser = MediaBrowserViewController(dataSource: self)
+            mediaBrowser.shouldShowPageControl = false
+            mediaBrowser.view.frame = CGRect(x: 0, y: 0, width: backgroundView.frame.width, height: backgroundView.frame.height)
+
+            addChild(mediaBrowser)
+            backgroundView.addSubview(mediaBrowser.view)
+            mediaBrowser.didMove(toParent: self)
+            
             return
         }
         
@@ -238,4 +243,18 @@ class NCDetailViewController: UIViewController {
         // OTHER
         NCViewerDocumentWeb.sharedInstance.viewDocumentWebAt(metadata, view: backgroundView)
     }
+    
+    func numberOfItems(in mediaBrowser: MediaBrowserViewController) -> Int {
+
+        // return number of images to be shown
+        return 10
+    }
+
+    func mediaBrowser(_ mediaBrowser: MediaBrowserViewController, imageAt index: Int, completion: @escaping MediaBrowserViewControllerDataSource.CompletionBlock) {
+
+        // Fetch the required image here. Pass it to the completion
+        // block along with the index, zoom scale, and error if any.
+        let image = UIImage.init(named: "logo")
+        completion(index, image, ZoomScale.default, nil)
+    }
 }

+ 7 - 0
iOSClient/Main/NCSplitViewController.swift

@@ -66,4 +66,11 @@ extension NCSplitViewController: UISplitViewControllerDelegate {
     func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto primaryViewController: UIViewController) -> Bool {
         return true
     }
+    
+    func splitViewController(_ svc: UISplitViewController, willChangeTo displayMode: UISplitViewController.DisplayMode) {
+        let navigationController = viewControllers.last as? UINavigationController
+        if let detailViewController = navigationController?.topViewController {
+            
+        }
+    }
 }