Font manager now allows to move fonts to different slots. - icy_draw - icy_draw is the successor to mystic draw. fork / mirror
 (HTM) git clone https://git.drkhsh.at/icy_draw.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 7fa35d2169d399a381ae5b624b5c6e7a3f32e5cc
 (DIR) parent 1e6b5b075ed101717357f7f6d1a28b63becd67a9
 (HTM) Author: Mike Krüger <mkrueger@posteo.de>
       Date:   Thu, 28 Sep 2023 14:14:39 +0200
       
       Font manager now allows to move fonts to different slots.
       
       Diffstat:
         M i18n/de/icy_draw.ftl                |       1 +
         M i18n/en/icy_draw.ftl                |       1 +
         M src/ui/dialogs/font_manager.rs      |      29 +++++++++++++++++++++++++++++
       
       3 files changed, 31 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/i18n/de/icy_draw.ftl b/i18n/de/icy_draw.ftl
       @@ -406,6 +406,7 @@ manage-font-used_label=verwendet
        manage-font-not_used_label=nicht verwendet
        manage-font-replace_label=Ersetze Font mit:
        manage-font-replace_font_button=Ersetzen
       +manage-font-change_font_slot_button=Slot ändern
        
        palette_selector-dos_default_palette=VGA 16 Farben
        palette_selector-dos_default_low_palette=VGA 8 Farben
 (DIR) diff --git a/i18n/en/icy_draw.ftl b/i18n/en/icy_draw.ftl
       @@ -400,6 +400,7 @@ manage-font-used_label=used
        manage-font-not_used_label=not used
        manage-font-replace_label=Replace usage with slot
        manage-font-replace_font_button=Replace
       +manage-font-change_font_slot_button=Change font slot
        
        palette_selector-dos_default_palette=VGA 16 colors
        palette_selector-dos_default_low_palette=VGA 8 colors
 (DIR) diff --git a/src/ui/dialogs/font_manager.rs b/src/ui/dialogs/font_manager.rs
       @@ -213,6 +213,35 @@ impl crate::ModalDialog for FontManager {
                                        self.replace_with = 0;
                                        self.do_select = true;
                                    }
       +
       +                            if ui
       +                            .add_enabled(
       +                                !enabled,
       +                                Button::new(fl!(
       +                                    crate::LANGUAGE_LOADER,
       +                                    "manage-font-change_font_slot_button"
       +                                )),
       +                            )
       +                            .clicked()
       +                        {
       +                            if let Err(err) = self
       +                                .buffer_view
       +                                .lock()
       +                                .get_edit_state_mut()
       +                                .change_font_slot(self.selected, self.replace_with)
       +                            {
       +                                log::error!(
       +                                    "Error change font {}->{}: {err}",
       +                                    self.selected,
       +                                    self.replace_with
       +                                );
       +                            }
       +                            self.update_used_fonts();
       +                            self.selected = 0;
       +                            self.replace_with = 0;
       +                            self.do_select = true;
       +                        }
       +
                                });
                            });
                    });