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();
+ }
});
}