marinofaggiana 5 years ago
parent
commit
e4d9d979e5

+ 7 - 7
iOSClient/Main/NCDetailViewController.swift

@@ -466,19 +466,19 @@ extension NCDetailViewController: NCViewerImageViewControllerDelegate, NCViewerI
                 
             if let image = NCViewerImageCommon.shared.getImage(metadata: metadata) {
                 DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(100)) {
-                    completion(index, image, ZoomScale.default, nil)
+                    completion(index, image, metadata, ZoomScale.default, nil)
                 }
             } else {
-                completion(index, self.getImageOffOutline(), ZoomScale.default, nil)
+                completion(index, self.getImageOffOutline(), metadata, ZoomScale.default, nil)
             }
                 
         // Preview
         } else if CCUtility.fileProviderStorageIconExists(metadata.ocId, fileNameView: metadata.fileNameView) {
                 
             if let image = NCViewerImageCommon.shared.getThumbnailImage(metadata: metadata) {
-                completion(index, image, ZoomScale.default, nil)
+                completion(index, image, metadata, ZoomScale.default, nil)
             } else {
-                completion(index, self.getImageOffOutline(), ZoomScale.default, nil)
+                completion(index, self.getImageOffOutline(), metadata, ZoomScale.default, nil)
             }
     
         } else {
@@ -491,12 +491,12 @@ extension NCDetailViewController: NCViewerImageViewControllerDelegate, NCViewerI
                     do {
                         let url = URL.init(fileURLWithPath: fileNameLocalPath)
                         try data!.write(to: url, options: .atomic)
-                        completion(index, UIImage.init(data: data!), ZoomScale.default, nil)
+                        completion(index, UIImage.init(data: data!), metadata, ZoomScale.default, nil)
                     } catch {
-                        completion(index, self.getImageOffOutline(), ZoomScale.default, nil)
+                        completion(index, self.getImageOffOutline(), metadata, ZoomScale.default, nil)
                     }
                 } else {
-                    completion(index, self.getImageOffOutline(), ZoomScale.default, nil)
+                    completion(index, self.getImageOffOutline(), metadata, ZoomScale.default, nil)
                 }
             }
         }

+ 3 - 0
iOSClient/Viewer/NCViewerImage/NCViewerImageContentView.swift

@@ -80,6 +80,9 @@ public class NCViewerImageContentView: UIScrollView {
             maximumZoomScale = zoomLevels?.maximumZoomScale ?? ZoomScale.default.maximumZoomScale
         }
     }
+    
+    var metadata: tableMetadata?
+    
 
     // MARK: - Private enumerations
 

+ 6 - 5
iOSClient/Viewer/NCViewerImage/NCViewerImageViewController.swift

@@ -21,7 +21,7 @@
 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //
 
-public protocol NCViewerImageViewControllerDataSource: class {
+protocol NCViewerImageViewControllerDataSource: class {
 
     /**
      Completion block for passing requested media image with details.
@@ -34,7 +34,7 @@ public protocol NCViewerImageViewControllerDataSource: class {
         Remember to pass the index received in the datasource method back.
         This index is used to set the image to the correct image view.
      */
-    typealias CompletionBlock = (_ index: Int, _ image: UIImage?, _ zoomScale: ZoomScale?, _ error: Error?) -> Void
+    typealias CompletionBlock = (_ index: Int, _ image: UIImage?, _ metadata: tableMetadata?, _ zoomScale: ZoomScale?, _ error: Error?) -> Void
 
    
     func numberOfItems(in viewerImageViewController: NCViewerImageViewController) -> Int
@@ -123,7 +123,7 @@ public class NCViewerImageViewController: UIViewController {
     // MARK: - Exposed variables
 
     /// Data-source object to supply media browser contents.
-    public weak var dataSource: NCViewerImageViewControllerDataSource?
+    weak var dataSource: NCViewerImageViewControllerDataSource?
     /// Delegate object to get callbacks on media browser events.
     public weak var delegate: NCViewerImageViewControllerDelegate?
 
@@ -252,7 +252,7 @@ public class NCViewerImageViewController: UIViewController {
 
     // MARK: - Initializers
 
-    public init(
+    init(
         index: Int = 0,
         dataSource: NCViewerImageViewControllerDataSource,
         delegate: NCViewerImageViewControllerDelegate? = nil
@@ -617,7 +617,7 @@ extension NCViewerImageViewController {
         dataSource?.viewerImageViewController(
             self,
             imageAt: convertedIndex,
-            completion: { [weak self] (index, image, zoom, _) in
+            completion: { [weak self] (index, image, metadata, zoom, _) in
 
                 guard let strongSelf = self else {
                     return
@@ -626,6 +626,7 @@ extension NCViewerImageViewController {
                 if index == strongSelf.sanitizeIndex(contentView.index) {
                     if image != nil {
                         contentView.image = image
+                        contentView.metadata = metadata
                         contentView.zoomLevels = zoom
                     }
                     contentView.isLoading = false