diff --git a/i18n/en/cosmic_files.ftl b/i18n/en/cosmic_files.ftl index 89651bc..fc28756 100644 --- a/i18n/en/cosmic_files.ftl +++ b/i18n/en/cosmic_files.ftl @@ -14,6 +14,8 @@ dark = Dark light = Light # Context menu +new-file = New file +new-folder = New folder copy = Copy paste = Paste select-all = Select all diff --git a/src/main.rs b/src/main.rs index d063636..776389f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -100,6 +100,8 @@ pub struct Flags { #[derive(Clone, Copy, Debug)] pub enum Action { Copy, + NewFile, + NewFolder, Paste, SelectAll, Settings, @@ -110,6 +112,8 @@ impl Action { pub fn message(self, entity: segmented_button::Entity) -> Message { match self { Action::Copy => Message::Copy(Some(entity)), + Action::NewFile => Message::NewFile(Some(entity)), + Action::NewFolder => Message::NewFolder(Some(entity)), Action::Paste => Message::Paste(Some(entity)), Action::SelectAll => Message::SelectAll(Some(entity)), Action::Settings => Message::ToggleContextPage(ContextPage::Settings), @@ -125,6 +129,8 @@ pub enum Message { AppTheme(AppTheme), Config(Config), Copy(Option), + NewFile(Option), + NewFolder(Option), Paste(Option), SelectAll(Option), SystemThemeModeChange(cosmic_theme::ThemeMode), @@ -319,6 +325,12 @@ impl Application for App { Message::Copy(entity_opt) => { log::warn!("TODO: COPY"); } + Message::NewFile(entity_opt) => { + log::warn!("TODO: NEW FILE"); + } + Message::NewFolder(entity_opt) => { + log::warn!("TODO: NEW FOLDER"); + } Message::Paste(entity_opt) => { log::warn!("TODO: PASTE"); } diff --git a/src/menu.rs b/src/menu.rs index 434fdf8..f3dfa3d 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -34,6 +34,9 @@ pub fn context_menu<'a>(entity: segmented_button::Entity) -> Element<'a, Message }; widget::container(column!( + menu_action(fl!("new-file"), Action::NewFile), + menu_action(fl!("new-folder"), Action::NewFolder), + horizontal_rule(1), menu_action(fl!("copy"), Action::Copy), menu_action(fl!("paste"), Action::Paste), menu_action(fl!("select-all"), Action::SelectAll),