marinofaggiana 5 жил өмнө
parent
commit
a9b91561b4

+ 21 - 9
iOSClient/Main/NCDetailViewController.swift

@@ -48,7 +48,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)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.deleteMetadata(_:)), name: NSNotification.Name(rawValue: "deleteMetadata"), object: nil)
         changeTheming()
         
         if metadata != nil  {
@@ -83,6 +83,10 @@ class NCDetailViewController: UIViewController {
     }
     
     func viewUnload() {
+        
+        metadata = nil
+        selector = nil
+        
         if let splitViewController = self.splitViewController as? NCSplitViewController {
             if splitViewController.isCollapsed {
                 if let navigationController = splitViewController.viewControllers.last as? UINavigationController {
@@ -114,15 +118,23 @@ class NCDetailViewController: UIViewController {
         }
     }
     
-    @objc func deleteMetadata() {
-        if mediaBrowser != nil {
-            if getMetadatasImage(account: metadata?.account, serverUrl: metadata?.serverUrl) != nil {
-                mediaBrowser?.reloadContentViews()
-            } else {
-                viewUnload()
+    @objc func deleteMetadata(_ notification: NSNotification) {
+        if let userInfo = notification.userInfo as NSDictionary? {
+            if let metadata = userInfo["metadata"] as? tableMetadata {
+                if mediaBrowser != nil {
+                    /*
+                     if getMetadatasImage(account: metadata?.account, serverUrl: metadata?.serverUrl) != nil {
+                         mediaBrowser?.reloadContentViews()
+                     } else {
+                         viewUnload()
+                     }
+                     */
+                } else {
+                    if metadata.ocId == self.metadata?.ocId {
+                        viewUnload()
+                    }
+                }
             }
-        } else {
-            viewUnload()
         }
     }
     

+ 4 - 2
iOSClient/Main/NCMainCommon.swift

@@ -953,8 +953,6 @@ class NCMainCommon: NSObject, PhotoEditorDelegate, NCAudioRecorderViewController
             delete(metadatas: copyMetadatas, serverUrl: serverUrl, e2ee: e2ee) { (errorCode, message) in
                 if errorCode != 0 {
                     NCContentPresenter.shared.messageNotification("_delete_", description: message, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
-                } else {
-                    NotificationCenter.default.post(name: Notification.Name.init(rawValue: "deleteMetadata"), object: nil)
                 }
                 completion(errorCode, message)
             }
@@ -1010,6 +1008,10 @@ class NCMainCommon: NSObject, PhotoEditorDelegate, NCAudioRecorderViewController
                         
                         self.appDelegate.filterocId.remove(metadata.ocId)
                         
+                        // Message
+                        let userInfo:[String: tableMetadata] = ["metadata": metadata]
+                        NotificationCenter.default.post(name: Notification.Name.init(rawValue: "deleteMetadata"), object: nil, userInfo: userInfo)
+                        
                     } else {
                         
                         completionErrorCode = errorCode