URI: 
       Added clear layer command. - icy_draw - icy_draw is the successor to mystic draw. fork / mirror
  HTML git clone https://git.drkhsh.at/icy_draw.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 8f801e068723f273c661d0f376c808d97cdd41c9
   DIR parent e8eb52cedd823042c60744f7f566d321407dc569
  HTML Author: Mike Krüger <mkrueger@posteo.de>
       Date:   Mon, 11 Sep 2023 07:27:57 +0200
       
       Added clear layer command.
       
       Fixes #5.
       
       Diffstat:
         M i18n/de/icy_draw.ftl                |       3 ++-
         M i18n/en/icy_draw.ftl                |       1 +
         M src/ui/messages.rs                  |       7 +++++++
         M src/ui/tools/layer_view.rs          |       9 +++++++++
       
       4 files changed, 19 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/i18n/de/icy_draw.ftl b/i18n/de/icy_draw.ftl
       @@ -192,12 +192,13 @@ select-font-dialog-block-font=BLOCK
        select-font-dialog-outline-font=OUTLINE
        
        layer_tool_title=Ebene
       -layer_tool_menu_layer_properties=Ebeneneigensbchaften…
       +layer_tool_menu_layer_properties=Ebeneneigenschaften…
        layer_tool_menu_resize_layer=Ebenengröße…
        layer_tool_menu_new_layer=Neue Ebene
        layer_tool_menu_duplicate_layer=Duplizieren
        layer_tool_menu_merge_layer=Ebene zusammenführen
        layer_tool_menu_delete_layer=Ebene löschen
       +layer_tool_menu_clear_layer=Ebene leeren
        
        char_table_tool_title=Zeichentabelle
        minimap_tool_title=Übersicht
   DIR diff --git a/i18n/en/icy_draw.ftl b/i18n/en/icy_draw.ftl
       @@ -197,6 +197,7 @@ layer_tool_menu_new_layer=New layer
        layer_tool_menu_duplicate_layer=Duplicate layer
        layer_tool_menu_merge_layer=Merge layer
        layer_tool_menu_delete_layer=Delete layer
       +layer_tool_menu_clear_layer=Clear layer
        
        char_table_tool_title=Char table
        minimap_tool_title=Preview
   DIR diff --git a/src/ui/messages.rs b/src/ui/messages.rs
       @@ -122,6 +122,7 @@ pub enum Message {
            SetRaster(i32, i32),
            LoadFile(PathBuf, bool),
            TryLoadFile(PathBuf),
       +    ClearLayer(usize),
        }
        
        pub const CTRL_SHIFT: egui::Modifiers = egui::Modifiers {
       @@ -363,6 +364,12 @@ impl MainWindow {
                            }
                        });
                    }
       +            Message::ClearLayer(cur_layer) => {
       +                self.run_editor_command(cur_layer, |_, editor, cur_layer| {
       +                    let mut lock = editor.buffer_view.lock();
       +                    to_message(lock.get_edit_state_mut().clear_layer(cur_layer))
       +                });
       +            }
                    Message::RemoveFloatingLayer => {
                        self.run_editor_command(0, |_, editor: &mut crate::AnsiEditor, _| {
                            let mut lock = editor.buffer_view.lock();
   DIR diff --git a/src/ui/tools/layer_view.rs b/src/ui/tools/layer_view.rs
       @@ -187,6 +187,15 @@ fn show_layer_view(ui: &mut egui::Ui, editor: &AnsiEditor) -> Option<Message> {
                                        result = Some(Message::RemoveLayer(i));
                                        ui.close_menu();
                                    }
       +                            ui.separator();
       +
       +                            if ui
       +                                .button(fl!(crate::LANGUAGE_LOADER, "layer_tool_menu_clear_layer"))
       +                                .clicked()
       +                            {
       +                                result = Some(Message::ClearLayer(i));
       +                                ui.close_menu();
       +                            }
                                });
                            }