From ad0e66dceb4d0f21c2b1e02333490b33eeac18bf Mon Sep 17 00:00:00 2001 From: darkfated Date: Fri, 10 Apr 2026 02:58:20 +0300 Subject: [PATCH] Fix: remove context actions from open/save dialog --- src/context_action.rs | 4 ---- src/dialog.rs | 55 +++---------------------------------------- 2 files changed, 3 insertions(+), 56 deletions(-) diff --git a/src/context_action.rs b/src/context_action.rs index b12a48a..86f3bc6 100644 --- a/src/context_action.rs +++ b/src/context_action.rs @@ -70,10 +70,6 @@ impl ContextActionPreset { } } -pub fn action_name(actions: &[ContextActionPreset], action: usize) -> Option { - 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); diff --git a/src/dialog.rs b/src/dialog.rs index 6bb9a0e..9fab965 100644 --- a/src/dialog.rs +++ b/src/dialog.rs @@ -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), );