@@ -477,24 +477,23 @@ class NCContextMenu: NSObject {
477477
478478 private func buildDeleteMenu( metadata: tableMetadata ) -> [ UIMenuElement ] {
479479 var deleteMenu : [ UIMenuElement ] = [ ]
480+
481+ /*
480482 let deleteConfirmLocal = makeDeleteLocalAction(metadata: metadata)
481483 let deleteConfirmFile = makeDeleteFileAction(metadata: metadata)
482484
483485 let deleteSubMenu = UIMenu(
484486 title: NSLocalizedString("_delete_", comment: ""),
485- image: utility. loadImage ( named: " trashIcon " , colors : [ NCBrandColor . shared . iconImageColor ] ) . withTintColor ( NCBrandColor . shared . iconImageColor ) ,
487+ image: utility.loadImage(named: "trash" ),
486488 options: .destructive,
487489 children: [deleteConfirmLocal, deleteConfirmFile]
488490 )
491+ */
489492
490- if metadata. directory {
491- if !metadata. isDirectoryE2EE && !metadata. e2eEncrypted {
492- deleteMenu. append ( deleteSubMenu)
493- }
494- } else {
495- if !metadata. lock {
496- deleteMenu. append ( deleteSubMenu)
497- }
493+ deleteMenu. append ( makeDeleteLocalAction ( metadata: metadata) )
494+
495+ if metadata. isDeletable {
496+ deleteMenu. append ( makeDeleteFileAction ( metadata: metadata) )
498497 }
499498
500499 return deleteMenu
@@ -511,11 +510,35 @@ class NCContextMenu: NSObject {
511510 ) { _ in
512511 if let viewController = self . viewController as? NCCollectionViewCommon {
513512 Task {
514- await NCNetworking . shared. setStatusWaitDelete (
515- metadatas: [ metadata] ,
516- sceneIdentifier: self . sceneIdentifier
517- )
518- await viewController. reloadDataSource ( )
513+ if metadata. isDirectoryE2EE {
514+ if NCNetworking . shared. isOffline {
515+ await showErrorBanner ( windowScene: self . windowScene,
516+ text: " _offline_not_allowed_ " ,
517+ errorCode: NCGlobal . shared. errorOfflineNotAllowed)
518+ } else {
519+ let results = await showHudBanner ( windowScene: self . windowScene,
520+ title: " _delete_in_progress_ " )
521+
522+ let error = await NCNetworkingE2EEDelete ( ) . delete ( metadata: metadata)
523+
524+ if error == . success {
525+ await completeHudBannerSuccess ( token: results. token, banner: results. banner)
526+ } else {
527+ await completeHudBannerError ( description: error. errorDescription, token: results. token, banner: results. banner)
528+ }
529+
530+ await NCNetworking . shared. transferDispatcher. notifyAllDelegates { delegate in
531+ delegate. transferReloadDataSource ( serverUrl: metadata. serverUrl, requestData: false , status: nil )
532+ }
533+ }
534+ }
535+ else {
536+ await NCNetworking . shared. setStatusWaitDelete (
537+ metadatas: [ metadata] ,
538+ sceneIdentifier: self . sceneIdentifier
539+ )
540+ await viewController. reloadDataSource ( )
541+ }
519542 }
520543 } else if let viewController = self . viewController as? NCMedia {
521544 Task {
@@ -528,8 +551,7 @@ class NCContextMenu: NSObject {
528551 private func makeDeleteLocalAction( metadata: tableMetadata ) -> UIAction {
529552 return UIAction (
530553 title: NSLocalizedString ( " _remove_local_file_ " , comment: " " ) ,
531- image: utility. loadImage ( named: " trashIcon " , colors: [ NCBrandColor . shared. iconImageColor] ) . withTintColor ( NCBrandColor . shared. iconImageColor) ,
532- attributes: . destructive
554+ image: utility. loadImage ( named: " document.on.trash " )
533555 ) { _ in
534556 Task {
535557 let error = await NCNetworking . shared. deleteCache (
0 commit comments