Răsfoiți Sursa

coding

Signed-off-by: marinofaggiana <ios@nextcloud.com>
marinofaggiana 2 ani în urmă
părinte
comite
6038954088
2 a modificat fișierele cu 71 adăugiri și 2 ștergeri
  1. 68 1
      iOSClient/Menu/NCTrash+Menu.swift
  2. 3 1
      iOSClient/Trash/NCTrash.swift

+ 68 - 1
iOSClient/Menu/NCTrash+Menu.swift

@@ -28,6 +28,62 @@ import FloatingPanel
 import NCCommunication
 
 extension NCTrash {
+    var selectActions: [NCMenuAction] {
+        [
+            NCMenuAction(
+                title: NSLocalizedString("_trash_restore_selected_", comment: ""),
+                icon: NCUtility.shared.loadImage(named: "restore"),
+                action: { _ in
+                    self.selectOcId.forEach(self.restoreItem)
+                    self.tapSelect()
+                }
+            ),
+            NCMenuAction(
+                title: NSLocalizedString("_trash_delete_selected_", comment: ""),
+                icon: NCUtility.shared.loadImage(named: "trash"),
+                action: { _ in
+                    let alert = UIAlertController(title: NSLocalizedString("_trash_delete_selected_", comment: ""), message: "", preferredStyle: .alert)
+                    alert.addAction(UIAlertAction(title: NSLocalizedString("_delete_", comment: ""), style: .destructive, handler: { _ in
+                        self.selectOcId.forEach(self.deleteItem)
+                        self.tapSelect()
+                    }))
+                    alert.addAction(UIAlertAction(title: NSLocalizedString("_cancel_", comment: ""), style: .cancel, handler: { _ in }))
+                    self.present(alert, animated: true, completion: nil)
+                }
+            )
+        ]
+    }
+
+    func toggleMenuMoreHeader() {
+
+        var actions: [NCMenuAction] = []
+
+        actions.append(
+            NCMenuAction(
+                title: NSLocalizedString("_trash_restore_all_", comment: ""),
+                icon: NCUtility.shared.loadImage(named: "restore"),
+                action: { _ in
+                    self.datasource.forEach({ self.restoreItem(with: $0.fileId) })
+                }
+            )
+        )
+
+        actions.append(
+            NCMenuAction(
+                title: NSLocalizedString("_trash_delete_all_", comment: ""),
+                icon: NCUtility.shared.loadImage(named: "trash"),
+                action: { _ in
+                    let alert = UIAlertController(title: NSLocalizedString("_trash_delete_all_description_", comment: ""), message: "", preferredStyle: .alert)
+                    alert.addAction(UIAlertAction(title: NSLocalizedString("_trash_delete_all_", comment: ""), style: .destructive, handler: { _ in
+                        self.emptyTrash()
+                    }))
+                    alert.addAction(UIAlertAction(title: NSLocalizedString("_cancel_", comment: ""), style: .cancel))
+                    self.present(alert, animated: true, completion: nil)
+                }
+            )
+        )
+        presentMenu(with: actions)
+    }
 
     func toggleMenuMore(with objectId: String, image: UIImage?, isGridCell: Bool) {
 
@@ -35,6 +91,17 @@ extension NCTrash {
             return
         }
 
+        guard isGridCell else {
+            let alert = UIAlertController(title: NSLocalizedString("_want_delete_", comment: ""), message: tableTrash.trashbinFileName, preferredStyle: .alert)
+            alert.addAction(UIAlertAction(title: NSLocalizedString("_delete_", comment: ""), style: .destructive, handler: { _ in
+                self.deleteItem(with: objectId)
+            }))
+            alert.addAction(UIAlertAction(title: NSLocalizedString("_cancel_", comment: ""), style: .cancel))
+            self.present(alert, animated: true, completion: nil)
+
+            return
+        }
+
         var actions: [NCMenuAction] = []
 
         var iconHeader: UIImage!
@@ -68,7 +135,7 @@ extension NCTrash {
 
         actions.append(
             NCMenuAction(
-                title: NSLocalizedString("_trash_delete_permanently_", comment: ""),
+                title: NSLocalizedString("_delete_", comment: ""),
                 icon: NCUtility.shared.loadImage(named: "trash"),
                 action: { _ in
                     self.deleteItem(with: objectId)

+ 3 - 1
iOSClient/Trash/NCTrash.swift

@@ -166,7 +166,9 @@ class NCTrash: UIViewController, NCSelectableNavigationView, NCTrashListCellDele
         sortMenu.toggleMenu(viewController: self, key: NCGlobal.shared.layoutViewTrash, sortButton: sender as? UIButton, serverUrl: "", hideDirectoryOnTop: true)
     }
 
-    func tapButtonMore(_ sender: Any) { }
+    func tapButtonMore(_ sender: Any) {
+        toggleMenuMoreHeader()
+    }
 
     func tapRestoreListItem(with ocId: String, image: UIImage?, sender: Any) {