marinofaggiana 3 years ago
parent
commit
922eee1d75

+ 8 - 8
Nextcloud.xcodeproj/project.pbxproj

@@ -2268,7 +2268,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 24;
+				CURRENT_PROJECT_VERSION = 25;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -2321,7 +2321,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 24;
+				CURRENT_PROJECT_VERSION = 25;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -2365,7 +2365,7 @@
 				CODE_SIGN_ENTITLEMENTS = iOSClient/Brand/Share.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 24;
+				CURRENT_PROJECT_VERSION = 25;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -2410,7 +2410,7 @@
 				CODE_SIGN_ENTITLEMENTS = iOSClient/Brand/Share.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 24;
+				CURRENT_PROJECT_VERSION = 25;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -2462,7 +2462,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 24;
+				CURRENT_PROJECT_VERSION = 25;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -2514,7 +2514,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 24;
+				CURRENT_PROJECT_VERSION = 25;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -2558,7 +2558,7 @@
 				CODE_SIGN_ENTITLEMENTS = iOSClient/Brand/iOSClient.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 24;
+				CURRENT_PROJECT_VERSION = 25;
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				ENABLE_BITCODE = YES;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
@@ -2605,7 +2605,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 24;
+				CURRENT_PROJECT_VERSION = 25;
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				ENABLE_BITCODE = YES;
 				FRAMEWORK_SEARCH_PATHS = "$(inherited)";

+ 4 - 2
iOSClient/Activity/NCActivity.swift

@@ -333,6 +333,8 @@ extension activityTableViewCell: UICollectionViewDelegate {
             return
         }
         
+        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionCell", for: indexPath) as? activityCollectionViewCell
+        
         let activityPreview = activityPreviews[indexPath.row]
         
         if activityPreview.view == "trashbin" {
@@ -372,7 +374,7 @@ extension activityTableViewCell: UICollectionViewDelegate {
                         let fileSize = attr[FileAttributeKey.size] as! UInt64
                         if fileSize > 0 {
                             if let viewController = self.viewController {
-                                NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata])
+                                NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata], imageIcon: cell?.imageView.image)
                             }
                             return
                         }
@@ -419,7 +421,7 @@ extension activityTableViewCell: UICollectionViewDelegate {
                                                        
                             NCManageDatabase.shared.addMetadata(metadata!)
                             if let viewController = self.viewController {
-                                NCViewer.shared.view(viewController: viewController, metadata: metadata!, metadatas: [metadata!])
+                                NCViewer.shared.view(viewController: viewController, metadata: metadata!, metadatas: [metadata!], imageIcon: cell?.imageView.image)
                             }
                         }
                     }

+ 4 - 3
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -836,7 +836,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
         guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(objectId) else { return }
 
         if namedButtonMore == NCGlobal.shared.buttonMoreMore {
-            toggleMenu(viewController: self, metadata: metadata, image: image)
+            toggleMenu(viewController: self, metadata: metadata, imageIcon: image)
         } else if namedButtonMore == NCGlobal.shared.buttonMoreStop {
             NCNetworking.shared.cancelTransferMetadata(metadata) { }
         }
@@ -1234,6 +1234,7 @@ extension NCCollectionViewCommon: UICollectionViewDelegate {
         } else {
             
             guard let metadataTouch = metadataTouch else { return }
+            let imageIcon = UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag))
             
             if metadata.typeFile == NCGlobal.shared.metadataTypeFileImage || metadata.typeFile == NCGlobal.shared.metadataTypeFileVideo || metadata.typeFile == NCGlobal.shared.metadataTypeFileAudio {
                 var metadatas: [tableMetadata] = []
@@ -1242,12 +1243,12 @@ extension NCCollectionViewCommon: UICollectionViewDelegate {
                         metadatas.append(metadata)
                     }
                 }
-                NCViewer.shared.view(viewController: self, metadata: metadataTouch, metadatas: metadatas)
+                NCViewer.shared.view(viewController: self, metadata: metadataTouch, metadatas: metadatas, imageIcon: imageIcon)
                 return
             }
             
             if CCUtility.fileProviderStorageExists(metadataTouch.ocId, fileNameView: metadataTouch.fileNameView) {
-                NCViewer.shared.view(viewController: self, metadata: metadataTouch, metadatas: [metadataTouch])
+                NCViewer.shared.view(viewController: self, metadata: metadataTouch, metadatas: [metadataTouch], imageIcon: imageIcon)
             } else if NCCommunication.shared.isNetworkReachable() {
                 NCNetworking.shared.download(metadata: metadataTouch, selector: NCGlobal.shared.selectorLoadFileView) { (_) in }
             } else {

+ 2 - 2
iOSClient/Main/Create cloud/NCCreateFormUploadDocuments.swift

@@ -337,7 +337,7 @@ import NCCommunication
                             let metadata = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, fileName: fileName, fileNameView: fileName, ocId: CCUtility.createRandomString(12), serverUrl: self.serverUrl, urlBase: self.appDelegate.urlBase, url: url ?? "", contentType: results.mimeType, livePhoto: false, chunk: false)
                             
                             if let viewController = self.appDelegate.activeViewController {
-                                NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata])
+                                NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata], imageIcon: nil)
                             }
                         })
                     }
@@ -362,7 +362,7 @@ import NCCommunication
                         let metadata = NCManageDatabase.shared.createMetadata(account: self.appDelegate.account, fileName: createFileName, fileNameView: createFileName, ocId: CCUtility.createRandomString(12), serverUrl: self.serverUrl, urlBase: self.appDelegate.urlBase, url: url!, contentType: "", livePhoto: false, chunk: false)
                     
                         if let viewController = self.appDelegate.activeViewController {
-                            NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata])
+                            NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata], imageIcon: nil)
                         }
                    })
                    

+ 2 - 1
iOSClient/Main/NCFunctionCenter.swift

@@ -87,7 +87,8 @@ import NCCommunication
                             } else {
                                 
                                 if let viewController = self.appDelegate.activeViewController {
-                                    NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata])
+                                    let imageIcon = UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag))
+                                    NCViewer.shared.view(viewController: viewController, metadata: metadata, metadatas: [metadata], imageIcon: imageIcon)
                                 }
                             }
                         }

+ 2 - 1
iOSClient/Media/NCMedia.swift

@@ -333,7 +333,8 @@ extension NCMedia: UICollectionViewDelegate {
         } else {
             
             appDelegate.activeServerUrl = metadataTouch!.serverUrl
-            NCViewer.shared.view(viewController: self, metadata: metadataTouch!, metadatas: metadatas)
+            let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "gridCell", for: indexPath) as? NCGridMediaCell
+            NCViewer.shared.view(viewController: self, metadata: metadataTouch!, metadatas: metadatas, imageIcon: cell?.imageItem.image)
         }
     }
     

+ 4 - 4
iOSClient/Menu/NCCollectionViewCommon+Menu.swift

@@ -29,7 +29,7 @@ import NCCommunication
 
 extension NCCollectionViewCommon {
 
-    func toggleMenu(viewController: NCCollectionViewCommon, metadata: tableMetadata, image: UIImage?) {
+    func toggleMenu(viewController: NCCollectionViewCommon, metadata: tableMetadata, imageIcon: UIImage?) {
         
         let menuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateInitialViewController() as! NCMenu
         var actions = [NCMenuAction]()
@@ -69,8 +69,8 @@ extension NCCollectionViewCommon {
             
         var iconHeader: UIImage!
         
-        if image != nil {
-            iconHeader = image!
+        if imageIcon != nil {
+            iconHeader = imageIcon!
         } else {
             if metadata.directory {
                 iconHeader = NCBrandColor.cacheImages.folder
@@ -225,7 +225,7 @@ extension NCCollectionViewCommon {
                         if let vcRename = UIStoryboard(name: "NCRenameFile", bundle: nil).instantiateInitialViewController() as? NCRenameFile {
                             
                             vcRename.metadata = metadata
-                            vcRename.imagePreview = image
+                            vcRename.imagePreview = imageIcon
 
                             let popup = NCPopupViewController(contentController: vcRename, popupWidth: vcRename.width, popupHeight: vcRename.height)
                                                         

+ 2 - 2
iOSClient/Menu/NCViewer+Menu.swift

@@ -27,7 +27,7 @@ import NCCommunication
 
 extension NCViewer {
 
-    func toggleMenu(viewController: UIViewController, metadata: tableMetadata, webView: Bool, image: UIImage?) {
+    func toggleMenu(viewController: UIViewController, metadata: tableMetadata, webView: Bool, imageIcon: UIImage?) {
         
         let menuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateInitialViewController() as! NCMenu
         var actions = [NCMenuAction]()
@@ -176,7 +176,7 @@ extension NCViewer {
                             
                             vcRename.metadata = metadata
                             vcRename.disableChangeExt = true
-                            vcRename.imagePreview = image
+                            vcRename.imagePreview = imageIcon
                             
                             let popup = NCPopupViewController(contentController: vcRename, popupWidth: vcRename.width, popupHeight: vcRename.height)
                             

+ 6 - 1
iOSClient/Viewer/NCViewer.swift

@@ -35,7 +35,7 @@ class NCViewer: NSObject {
     private var metadata = tableMetadata()
     private var metadatas: [tableMetadata] = []
 
-    func view(viewController: UIViewController, metadata: tableMetadata, metadatas: [tableMetadata]) {
+    func view(viewController: UIViewController, metadata: tableMetadata, metadatas: [tableMetadata], imageIcon: UIImage?) {
 
         self.metadata = metadata
         self.metadatas = metadatas
@@ -72,6 +72,7 @@ class NCViewer: NSObject {
                     let viewController:NCViewerPDF = UIStoryboard(name: "NCViewerPDF", bundle: nil).instantiateInitialViewController() as! NCViewerPDF
                 
                     viewController.metadata = metadata
+                    viewController.imageIcon = imageIcon
                 
                     navigationController.pushViewController(viewController, animated: true)
                 }
@@ -107,6 +108,7 @@ class NCViewer: NSObject {
                                     viewController.metadata = metadata
                                     viewController.editor = editor
                                     viewController.link = url!
+                                    viewController.imageIcon = imageIcon
                                 
                                     navigationController.pushViewController(viewController, animated: true)
                                 }
@@ -126,6 +128,7 @@ class NCViewer: NSObject {
                             viewController.metadata = metadata
                             viewController.editor = editor
                             viewController.link = metadata.url
+                            viewController.imageIcon = imageIcon
                         
                             navigationController.pushViewController(viewController, animated: true)
                         }
@@ -157,6 +160,7 @@ class NCViewer: NSObject {
                             
                                 viewController.metadata = metadata
                                 viewController.link = url!
+                                viewController.imageIcon = imageIcon
                             
                                 navigationController.pushViewController(viewController, animated: true)
                             }
@@ -175,6 +179,7 @@ class NCViewer: NSObject {
                     
                         viewController.metadata = metadata
                         viewController.link = metadata.url
+                        viewController.imageIcon = imageIcon
                     
                         navigationController.pushViewController(viewController, animated: true)
                     }

+ 2 - 3
iOSClient/Viewer/NCViewerImage/NCViewerImage.swift

@@ -149,9 +149,8 @@ class NCViewerImage: UIViewController {
     }
     
     @objc func openMenuMore() {
-        
-        let image = getImage(metadata: self.currentMetadata)
-        NCViewer.shared.toggleMenu(viewController: self, metadata: currentMetadata, webView: false, image: image)
+        let imageIcon = UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(currentMetadata.ocId, etag: currentMetadata.etag))
+        NCViewer.shared.toggleMenu(viewController: self, metadata: currentMetadata, webView: false, imageIcon: imageIcon)
     }
     
     //MARK: - NotificationCenter

+ 3 - 1
iOSClient/Viewer/NCViewerNextcloudText/NCViewerNextcloudText.swift

@@ -33,6 +33,7 @@ class NCViewerNextcloudText: UIViewController, WKNavigationDelegate, WKScriptMes
     var link: String = ""
     var editor: String = ""
     var metadata: tableMetadata = tableMetadata()
+    var imageIcon: UIImage?
    
     // MARK: - View Life Cycle
 
@@ -149,7 +150,8 @@ class NCViewerNextcloudText: UIViewController, WKNavigationDelegate, WKScriptMes
     //MARK: - Action
     
     @objc func openMenuMore() {
-        NCViewer.shared.toggleMenu(viewController: self, metadata: metadata, webView: true, image: UIImage.init(named: "file_txt"))
+        if imageIcon == nil { imageIcon = UIImage.init(named: "file_txt") }
+        NCViewer.shared.toggleMenu(viewController: self, metadata: metadata, webView: true, imageIcon: imageIcon)
     }
     
     //MARK: -

+ 3 - 1
iOSClient/Viewer/NCViewerPDF/NCViewerPDF.swift

@@ -28,6 +28,7 @@ class NCViewerPDF: UIViewController, NCViewerPDFSearchDelegate {
     
     let appDelegate = UIApplication.shared.delegate as! AppDelegate
     var metadata = tableMetadata()
+    var imageIcon: UIImage?
     
     private var pdfView = PDFView()
     private var thumbnailViewHeight: CGFloat = 40
@@ -220,7 +221,8 @@ class NCViewerPDF: UIViewController, NCViewerPDFSearchDelegate {
     //MARK: - Action
     
     @objc func openMenuMore() {
-        NCViewer.shared.toggleMenu(viewController: self, metadata: metadata, webView: false, image: UIImage.init(named: "file_pdf"))
+        if imageIcon == nil { imageIcon = UIImage.init(named: "file_pdf") }
+        NCViewer.shared.toggleMenu(viewController: self, metadata: metadata, webView: false, imageIcon: imageIcon)
     }
     
     //MARK: - Gesture Recognizer

+ 3 - 1
iOSClient/Viewer/NCViewerRichdocument/NCViewerRichdocument.swift

@@ -34,6 +34,7 @@ class NCViewerRichdocument: UIViewController, WKNavigationDelegate, WKScriptMess
     
     var link: String = ""
     var metadata: tableMetadata = tableMetadata()
+    var imageIcon: UIImage?
     
     // MARK: - View Life Cycle
 
@@ -155,7 +156,8 @@ class NCViewerRichdocument: UIViewController, WKNavigationDelegate, WKScriptMess
     //MARK: - Action
     
     @objc func openMenuMore() {
-        NCViewer.shared.toggleMenu(viewController: self, metadata: metadata, webView: true, image: UIImage.init(named: "file_txt"))
+        if imageIcon == nil { imageIcon = UIImage.init(named: "file_txt") }
+        NCViewer.shared.toggleMenu(viewController: self, metadata: metadata, webView: true, imageIcon: imageIcon)
     }
    
     //MARK: -