Fix: remove context actions from open/save dialog

This commit is contained in:
darkfated 2026-04-10 02:58:20 +03:00
parent 39281a6336
commit ad0e66dceb
2 changed files with 3 additions and 56 deletions

View file

@ -70,10 +70,6 @@ impl ContextActionPreset {
}
}
pub fn action_name(actions: &[ContextActionPreset], action: usize) -> Option<String> {
actions.get(action).map(|preset| preset.name.clone())
}
pub fn run(actions: &[ContextActionPreset], action: usize, paths: &[PathBuf]) {
if let Some(preset) = actions.get(action) {
preset.run(paths);

View file

@ -45,7 +45,7 @@ use crate::{
Action, ContextPage, Message as AppMessage, PreviewItem, PreviewKind, REPLACE_BUTTON_ID,
},
config::{Config, DialogConfig, Favorite, TIME_CONFIG_ID, ThumbCfg, TimeConfig, TypeToSearch},
context_action, fl, home_dir,
fl, home_dir,
key_bind::key_binds,
localize::LANGUAGE_SORTER,
menu,
@ -445,10 +445,6 @@ enum DialogPage {
parent: PathBuf,
name: String,
},
RunContextAction {
action: usize,
paths: Box<[PathBuf]>,
},
Replace {
filename: String,
},
@ -1212,21 +1208,6 @@ impl Application for App {
.spacing(space_xxs),
)
}
DialogPage::RunContextAction { action, paths } => {
let name = context_action::action_name(&self.flags.config.context_actions, *action)
.unwrap_or_else(|| fl!("context-action"));
widget::dialog()
.title(fl!("context-action-confirm-title", name = name))
.body(fl!("context-action-confirm-warning", items = paths.len()))
.icon(widget::icon::from_name("dialog-error").size(64))
.primary_action(
widget::button::suggested(fl!("run")).on_press(Message::DialogComplete),
)
.secondary_action(
widget::button::standard(fl!("cancel")).on_press(Message::DialogCancel),
)
}
DialogPage::Replace { filename } => widget::dialog()
.title(fl!("replace-title", filename = filename.as_str()))
.icon(widget::icon::from_name("dialog-question").size(64))
@ -1449,9 +1430,6 @@ impl Application for App {
}
}
}
DialogPage::RunContextAction { action, paths } => {
context_action::run(&self.flags.config.context_actions, action, &paths);
}
DialogPage::Replace { .. } => {
return self.update(Message::Save(true));
}
@ -1879,28 +1857,6 @@ impl Application for App {
}
}
}
tab::Command::RunContextAction(action) => {
let paths: Box<[_]> = self
.tab
.selected_locations()
.into_iter()
.filter_map(Location::into_path_opt)
.collect();
if let Some(preset) = self.flags.config.context_actions.get(action) {
if preset.confirm {
self.dialog_pages
.push_back(DialogPage::RunContextAction { action, paths });
} else {
context_action::run(
&self.flags.config.context_actions,
action,
&paths,
);
}
} else {
log::warn!("invalid context action index `{action}`");
}
}
tab::Command::Iced(iced_command) => {
commands.push(iced_command.0.map(|tab_message| {
cosmic::action::app(Message::TabMessage(tab_message))
@ -2073,13 +2029,8 @@ impl Application for App {
}
col = col.push(
self.tab
.view(
&self.key_binds,
&self.modifiers,
false,
&self.flags.config.context_actions,
)
self.tab
.view(&self.key_binds, &self.modifiers, false, &[])
.map(Message::TabMessage),
);