Tweak script editor zoom presets to be more useful

The presets are now 50%, 75%, 90%, 100%, 110%, 125%, 150%.

This also mentions Ctrl + mouse wheel in the tooltip.
This commit is contained in:
Hugo Locurcio 2024-07-21 05:32:35 +02:00
parent e25f3c0d38
commit 84e278cbfd
No known key found for this signature in database
GPG Key ID: 39E8F8BE30B0A49C
1 changed files with 4 additions and 4 deletions

View File

@ -798,7 +798,7 @@ FindReplaceBar::FindReplaceBar() {
/*** CODE EDITOR ****/ /*** CODE EDITOR ****/
static constexpr float ZOOM_FACTOR_PRESETS[7] = { 0.25f, 0.5f, 0.75f, 1.0f, 1.5f, 2.0f, 3.0f }; static constexpr float ZOOM_FACTOR_PRESETS[8] = { 0.5f, 0.75f, 0.9f, 1.0f, 1.1f, 1.25f, 1.5f, 2.0f };
// This function should be used to handle shortcuts that could otherwise // This function should be used to handle shortcuts that could otherwise
// be handled too late if they weren't handled here. // be handled too late if they weren't handled here.
@ -1690,8 +1690,7 @@ void CodeTextEditor::_zoom_to(float p_zoom_factor) {
} }
void CodeTextEditor::set_zoom_factor(float p_zoom_factor) { void CodeTextEditor::set_zoom_factor(float p_zoom_factor) {
int preset_count = sizeof(ZOOM_FACTOR_PRESETS) / sizeof(float); zoom_factor = CLAMP(p_zoom_factor, 0.25f, 3.0f);
zoom_factor = CLAMP(p_zoom_factor, ZOOM_FACTOR_PRESETS[0], ZOOM_FACTOR_PRESETS[preset_count - 1]);
int neutral_font_size = int(EDITOR_GET("interface/editor/code_font_size")) * EDSCALE; int neutral_font_size = int(EDITOR_GET("interface/editor/code_font_size")) * EDSCALE;
int new_font_size = Math::round(zoom_factor * neutral_font_size); int new_font_size = Math::round(zoom_factor * neutral_font_size);
@ -1815,7 +1814,8 @@ CodeTextEditor::CodeTextEditor() {
status_bar->add_child(zoom_button); status_bar->add_child(zoom_button);
zoom_button->set_flat(true); zoom_button->set_flat(true);
zoom_button->set_v_size_flags(SIZE_EXPAND | SIZE_SHRINK_CENTER); zoom_button->set_v_size_flags(SIZE_EXPAND | SIZE_SHRINK_CENTER);
zoom_button->set_tooltip_text(TTR("Zoom factor")); zoom_button->set_tooltip_text(
TTR("Zoom factor") + "\n" + vformat(TTR("%sMouse wheel, %s/%s: Finetune\n%s: Reset"), keycode_get_string((Key)KeyModifierMask::CMD_OR_CTRL), ED_GET_SHORTCUT("script_editor/zoom_in")->get_as_text(), ED_GET_SHORTCUT("script_editor/zoom_out")->get_as_text(), ED_GET_SHORTCUT("script_editor/reset_zoom")->get_as_text()));
zoom_button->set_text("100 %"); zoom_button->set_text("100 %");
PopupMenu *zoom_menu = zoom_button->get_popup(); PopupMenu *zoom_menu = zoom_button->get_popup();