marinofaggiana 5 years ago
parent
commit
c8348049da

+ 2 - 1
iOSClient/Main/Menu/NCDetailNavigationController+Menu.swift

@@ -64,7 +64,8 @@ extension NCDetailNavigationController {
                                 
                                 if errorCode == 0 {
                                     NCMainCommon.sharedInstance.reloadDatasource(ServerUrl: metadata.serverUrl, ocId: metadata.ocId, action: k_action_DEL)
-                                    self.appDelegate.activeDetail.viewUnload()
+                                            NotificationCenter.default.post(name: Notification.Name.init(rawValue: "deleteMetadata"), object: nil)
+
                                 } else {
                                     NCContentPresenter.shared.messageNotification("_error_", description: errorMessage, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
                                 }

+ 58 - 38
iOSClient/Main/NCDetailViewController.swift

@@ -35,7 +35,9 @@ class NCDetailViewController: UIViewController {
     private let appDelegate = UIApplication.shared.delegate as! AppDelegate
     private var mediaBrowser: MediaBrowserViewController?
     private var metadatas = [tableMetadata]()
-    
+        
+    //MARK: -
+
     required init?(coder: NSCoder) {
         super.init(coder: coder)
         
@@ -47,7 +49,7 @@ class NCDetailViewController: UIViewController {
         
         NotificationCenter.default.addObserver(self, selector: #selector(self.changeTheming), name: NSNotification.Name(rawValue: "changeTheming"), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(self.changeDisplayMode), name: NSNotification.Name(rawValue: "changeDisplayMode"), object: nil)
-
+        NotificationCenter.default.addObserver(self, selector: #selector(self.deleteMetadata), name: NSNotification.Name(rawValue: "deleteMetadata"), object: nil)
         changeTheming()
         
         if metadata != nil  {
@@ -75,6 +77,12 @@ class NCDetailViewController: UIViewController {
         }
     }
     
+    //MARK: - Utility
+
+    func subViewActive() -> UIView? {
+        return backgroundView.subviews.first
+    }
+    
     func viewUnload() {
         if let splitViewController = self.splitViewController as? NCSplitViewController {
             if splitViewController.isCollapsed {
@@ -92,6 +100,8 @@ class NCDetailViewController: UIViewController {
         backgroundView.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "logo"), multiplier: 2, color: NCBrandColor.sharedInstance.brand.withAlphaComponent(0.4))
     }
     
+    //MARK: - NotificationCenter
+
     @objc func changeTheming() {
         if backgroundView.image != nil {
             backgroundView.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "logo"), multiplier: 2, color: NCBrandColor.sharedInstance.brand.withAlphaComponent(0.4))
@@ -105,10 +115,16 @@ class NCDetailViewController: UIViewController {
         }
     }
     
-    func subViewActive() -> UIView? {
-        return backgroundView.subviews.first
+    @objc func deleteMetadata() {
+        if mediaBrowser != nil {
+            
+        } else {
+            viewUnload()
+        }
     }
     
+    //MARK: -
+    
     @objc func viewFile(metadata: tableMetadata, selector: String?) {
                 
         self.metadata = metadata
@@ -128,40 +144,7 @@ class NCDetailViewController: UIViewController {
         
         // IMAGE
         if metadata.typeFile == k_metadataTypeFile_image {
-            
-            if let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND typeFile == %@", metadata.account, metadata.serverUrl, k_metadataTypeFile_image), sorted: CCUtility.getOrderSettings(), ascending: CCUtility.getAscendingSettings()) {
-                
-                if metadatas.count > 0 {
-                    var index = 0, counter = 0
-                    for metadata in metadatas {
-                        if metadata.ocId == self.metadata!.ocId { index = counter }
-                        counter += 1
-                    }
-                    self.metadatas = metadatas
-                    
-                    mediaBrowser = MediaBrowserViewController(index: index, dataSource: self, delegate: self)
-                    if mediaBrowser != nil {
-                                    
-                        mediaBrowser!.view.isHidden = true
-                        
-                        mediaBrowser!.shouldShowPageControl = false
-                        mediaBrowser!.enableInteractiveDismissal = false
-                        
-                        addChild(mediaBrowser!)
-                        backgroundView.addSubview(mediaBrowser!.view)
-                        
-                        mediaBrowser!.view.frame = CGRect(x: 0, y: 0, width: backgroundView.frame.width, height: backgroundView.frame.height)
-                        mediaBrowser!.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
-                        
-                        mediaBrowser!.didMove(toParent: self)
-                        
-                        DispatchQueue.main.async {
-                            self.mediaBrowser!.changeInViewSize(to: self.backgroundView.frame.size)
-                            self.mediaBrowser!.view.isHidden = false
-                        }
-                    }
-                }
-            }
+            viewImage(metadata: metadata)
             return
         }
         
@@ -289,6 +272,43 @@ class NCDetailViewController: UIViewController {
         // OTHER
         NCViewerDocumentWeb.sharedInstance.viewDocumentWebAt(metadata, view: backgroundView)
     }
+    
+    func viewImage(metadata: tableMetadata) {
+        
+        if let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND typeFile == %@", metadata.account, metadata.serverUrl, k_metadataTypeFile_image), sorted: CCUtility.getOrderSettings(), ascending: CCUtility.getAscendingSettings()) {
+            
+            if metadatas.count > 0 {
+                var index = 0, counter = 0
+                for metadata in metadatas {
+                    if metadata.ocId == self.metadata!.ocId { index = counter }
+                    counter += 1
+                }
+                self.metadatas = metadatas
+                
+                mediaBrowser = MediaBrowserViewController(index: index, dataSource: self, delegate: self)
+                if mediaBrowser != nil {
+                                
+                    mediaBrowser!.view.isHidden = true
+                    
+                    mediaBrowser!.shouldShowPageControl = false
+                    mediaBrowser!.enableInteractiveDismissal = false
+                    
+                    addChild(mediaBrowser!)
+                    backgroundView.addSubview(mediaBrowser!.view)
+                    
+                    mediaBrowser!.view.frame = CGRect(x: 0, y: 0, width: backgroundView.frame.width, height: backgroundView.frame.height)
+                    mediaBrowser!.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
+                    
+                    mediaBrowser!.didMove(toParent: self)
+                    
+                    DispatchQueue.main.async {
+                        self.mediaBrowser!.changeInViewSize(to: self.backgroundView.frame.size)
+                        self.mediaBrowser!.view.isHidden = false
+                    }
+                }
+            }
+        }
+    }
 }
 
 //MARK: - MediaBrowser Delegate/DataSource