Kaynağa Gözat

new view image

marinofaggiana 4 yıl önce
ebeveyn
işleme
e3d32227ea

+ 0 - 1
iOSClient/CCGlobal.h

@@ -339,6 +339,5 @@
 #define k_notificationCenter_favoriteFile                   @"favoriteFile"                     // userInfo: metadata
 
 #define k_notificationCenter_menuSearchTextPDF              @"menuSearchTextPDF"
-#define k_notificationCenter_menuDownloadImage              @"menuDownloadImage"                // userInfo: metadata
 #define k_notificationCenter_menuSaveLivePhoto              @"menuSaveLivePhoto"                // userInfo: metadata, metadataMov
 #define k_notificationCenter_menuDetailClose                @"menuDetailClose"

+ 1 - 1
iOSClient/Main/Menu/NCViewer+Menu.swift

@@ -250,7 +250,7 @@ extension NCViewer {
                     NCMenuAction(title: NSLocalizedString("_download_image_max_", comment: ""),
                         icon: CCGraphics.changeThemingColorImage(UIImage(named: "downloadImageFullRes"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon),
                         action: { menuAction in
-                            NotificationCenter.default.postOnMainThread(name: k_notificationCenter_menuDownloadImage, userInfo: ["metadata": metadata])
+                            NCNetworking.shared.download(metadata: metadata, selector: "") { (_) in }
                         }
                     )
                 )

+ 21 - 21
iOSClient/Viewer/NCViewerImage/NCViewerImagePageContainer.swift

@@ -40,7 +40,7 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
     }
     
     var metadatas: [tableMetadata] = []
-    var metadata: tableMetadata = tableMetadata()
+    var currentMetadata: tableMetadata = tableMetadata()
     var currentIndex = 0
     var nextIndex: Int?
    
@@ -49,6 +49,7 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
     var defaultImageViewTopConstraint: CGFloat = 0
     var defaultImageViewBottomConstraint: CGFloat = 0
     
+    var currentViewerImageZoom: NCViewerImageZoom?
     var panGestureRecognizer: UIPanGestureRecognizer!
     var singleTapGestureRecognizer: UITapGestureRecognizer!
         
@@ -63,13 +64,11 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
         pageViewController.view.addGestureRecognizer(self.panGestureRecognizer)
         pageViewController.view.addGestureRecognizer(self.singleTapGestureRecognizer)
         
-        metadata = metadatas[currentIndex]
-
         let viewerImageZoom = UIStoryboard(name: "NCViewerImage", bundle: nil).instantiateViewController(withIdentifier: "NCViewerImageZoom") as! NCViewerImageZoom
         
         viewerImageZoom.index = currentIndex
-        viewerImageZoom.image = getImageMetadata(metadata)
-        viewerImageZoom.metadata = metadata
+        viewerImageZoom.image = getImageMetadata(metadatas[currentIndex])
+        viewerImageZoom.metadata = metadatas[currentIndex]
         viewerImageZoom.delegate = self
 
         singleTapGestureRecognizer.require(toFail: viewerImageZoom.doubleTapGestureRecognizer)
@@ -77,16 +76,14 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
         pageViewController.setViewControllers([viewerImageZoom], direction: .forward, animated: true, completion: nil)
         
         NotificationCenter.default.addObserver(self, selector: #selector(changeTheming), name: NSNotification.Name(rawValue: k_notificationCenter_changeTheming), object: nil)
-        
-        /*
         NotificationCenter.default.addObserver(self, selector: #selector(downloadedFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_downloadedFile), object: nil)
+        /*
         NotificationCenter.default.addObserver(self, selector: #selector(uploadedFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_uploadedFile), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(deleteFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_deleteFile), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(renameFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_renameFile), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(moveFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_moveFile), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(triggerProgressTask(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_progressTask), object:nil)
                
-        NotificationCenter.default.addObserver(self, selector: #selector(downloadImage(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_menuDownloadImage), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(saveLivePhoto(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_menuSaveLivePhoto), object: nil)
         */
         NotificationCenter.default.addObserver(self, selector: #selector(viewUnload), name: NSNotification.Name(rawValue: k_notificationCenter_menuDetailClose), object: nil)
@@ -114,9 +111,10 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
         
         if let userInfo = notification.userInfo as NSDictionary? {
             if let metadata = userInfo["metadata"] as? tableMetadata, let errorCode = userInfo["errorCode"] as? Int {
-                if metadata.ocId == self.metadata.ocId && errorCode == 0 {
-                    
+                if metadata.ocId == currentViewerImageZoom?.metadata.ocId && errorCode == 0 {
+                    currentViewerImageZoom?.image = getImageMetadata(metadata)
                 }
+                
                 //progress(0)
             }
         }
@@ -200,6 +198,12 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
     
     //MARK: - Function
 
+    func viewWillAppearImageZoom(viewerImageZoom: NCViewerImageZoom, metadata: tableMetadata) {
+        currentMetadata = metadata
+        currentViewerImageZoom = viewerImageZoom
+        navigationItem.title = metadata.fileNameView
+    }
+    
     func changeScreenMode(to: ScreenMode) {
         if to == .full {
             navigationController?.setNavigationBarHidden(true, animated: false)
@@ -269,7 +273,7 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
             // AUTOMATIC DOWNLOAD FOR GIF
             
             if (ext == "GIF" || ext == "SVG") && metadata.session == "" {
-                NotificationCenter.default.postOnMainThread(name: k_notificationCenter_menuDownloadImage, userInfo: ["metadata": metadata])
+                NCNetworking.shared.download(metadata: metadata, selector: "") { (_) in }
             }
         }
         
@@ -279,7 +283,7 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
     //MARK: - Action
     
     @objc func openMenuMore() {
-        NCViewer.shared.toggleMoreMenu(viewController: self, metadata: metadata)
+        NCViewer.shared.toggleMoreMenu(viewController: self, metadata: currentMetadata)
     }
 }
 
@@ -288,13 +292,11 @@ extension NCViewerImagePageContainer: UIPageViewControllerDelegate, UIPageViewCo
     func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
         if currentIndex == 0 { return nil }
         
-        metadata = metadatas[currentIndex - 1]
-
         let viewerImageZoom = UIStoryboard(name: "NCViewerImage", bundle: nil).instantiateViewController(withIdentifier: "NCViewerImageZoom") as! NCViewerImageZoom
                 
-        viewerImageZoom.image = getImageMetadata(metadata)
+        viewerImageZoom.image = getImageMetadata(metadatas[currentIndex - 1])
         viewerImageZoom.index = currentIndex - 1
-        viewerImageZoom.metadata = metadata
+        viewerImageZoom.metadata = metadatas[currentIndex - 1]
         viewerImageZoom.delegate = self
         
         self.singleTapGestureRecognizer.require(toFail: viewerImageZoom.doubleTapGestureRecognizer)
@@ -304,14 +306,12 @@ extension NCViewerImagePageContainer: UIPageViewControllerDelegate, UIPageViewCo
     
     func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
         if currentIndex == (self.metadatas.count - 1) { return nil }
-        
-        metadata = metadatas[currentIndex + 1]
-        
+                
         let viewerImageZoom = UIStoryboard(name: "NCViewerImage", bundle: nil).instantiateViewController(withIdentifier: "NCViewerImageZoom") as! NCViewerImageZoom
         
         viewerImageZoom.index = currentIndex + 1
-        viewerImageZoom.image = getImageMetadata(metadata)
-        viewerImageZoom.metadata = metadata
+        viewerImageZoom.image = getImageMetadata(metadatas[currentIndex + 1])
+        viewerImageZoom.metadata = metadatas[currentIndex + 1]
         viewerImageZoom.delegate = self
         
         singleTapGestureRecognizer.require(toFail: viewerImageZoom.doubleTapGestureRecognizer)

+ 1 - 1
iOSClient/Viewer/NCViewerImage/NCViewerImageZoom.swift

@@ -71,7 +71,7 @@ class NCViewerImageZoom: UIViewController {
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         
-        delegate?.navigationItem.title = metadata.fileNameView
+        delegate?.viewWillAppearImageZoom(viewerImageZoom: self, metadata: metadata)
     }
     
     override func viewDidAppear(_ animated: Bool) {