1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-31 22:00:03 -04:00

Hide shortcut text on zoom buttons if zoom_with_keyboard is false (#4262)

This commit is contained in:
Emil Ernerfeldt
2024-03-29 12:15:03 +01:00
parent f7ea6dc410
commit 555f64dfea

View File

@@ -70,10 +70,20 @@ pub fn zoom_out(ctx: &Context) {
/// ///
/// This is meant to be called from within a menu (See [`Ui::menu_button`]). /// This is meant to be called from within a menu (See [`Ui::menu_button`]).
pub fn zoom_menu_buttons(ui: &mut Ui) { pub fn zoom_menu_buttons(ui: &mut Ui) {
fn button(ctx: &Context, text: &str, shortcut: &KeyboardShortcut) -> Button<'static> {
let btn = Button::new(text);
let zoom_with_keyboard = ctx.options(|o| o.zoom_with_keyboard);
if zoom_with_keyboard {
btn.shortcut_text(ctx.format_shortcut(shortcut))
} else {
btn
}
}
if ui if ui
.add_enabled( .add_enabled(
ui.ctx().zoom_factor() < MAX_ZOOM_FACTOR, ui.ctx().zoom_factor() < MAX_ZOOM_FACTOR,
Button::new("Zoom In").shortcut_text(ui.ctx().format_shortcut(&kb_shortcuts::ZOOM_IN)), button(ui.ctx(), "Zoom In", &kb_shortcuts::ZOOM_IN),
) )
.clicked() .clicked()
{ {
@@ -84,8 +94,7 @@ pub fn zoom_menu_buttons(ui: &mut Ui) {
if ui if ui
.add_enabled( .add_enabled(
ui.ctx().zoom_factor() > MIN_ZOOM_FACTOR, ui.ctx().zoom_factor() > MIN_ZOOM_FACTOR,
Button::new("Zoom Out") button(ui.ctx(), "Zoom Out", &kb_shortcuts::ZOOM_OUT),
.shortcut_text(ui.ctx().format_shortcut(&kb_shortcuts::ZOOM_OUT)),
) )
.clicked() .clicked()
{ {
@@ -96,8 +105,7 @@ pub fn zoom_menu_buttons(ui: &mut Ui) {
if ui if ui
.add_enabled( .add_enabled(
ui.ctx().zoom_factor() != 1.0, ui.ctx().zoom_factor() != 1.0,
Button::new("Reset Zoom") button(ui.ctx(), "Reset Zoom", &kb_shortcuts::ZOOM_RESET),
.shortcut_text(ui.ctx().format_shortcut(&kb_shortcuts::ZOOM_RESET)),
) )
.clicked() .clicked()
{ {