Skip to content

Commit b795fbb

Browse files
authored
Fix new zoom widget font size logic (#1782)
1 parent 07de1b6 commit b795fbb

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

src/ui_widgets/zoom_widget.gd

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func _ready() -> void:
2121
zoom_out_button.shortcuts_bind = shortcuts
2222
zoom_in_button.shortcuts_bind = shortcuts
2323
zoom_reset_button.shortcuts_bind = shortcuts
24-
24+
zoom_reset_button.theme_changed.connect(_sync_zoom_reset_button_font_size)
2525
HandlerGUI.register_focus_sequence(self, [zoom_out_button, zoom_reset_button, zoom_in_button])
2626

2727

@@ -40,12 +40,7 @@ func sync_to_value(new_zoom: float) -> void:
4040
zoom_reset_button.text = Utils.num_simple(new_zoom * 100, precision) + "%"
4141
else:
4242
zoom_reset_button.text = Utils.num_simple(new_zoom, 1) + "x"
43-
44-
if zoom_reset_button.has_theme_font_size_override("font_size"):
45-
zoom_reset_button.remove_theme_font_size_override("font_size")
46-
zoom_reset_button.reset_size()
47-
if zoom_reset_button.size.x > zoom_reset_button.custom_minimum_size.x:
48-
zoom_reset_button.add_theme_font_size_override("font_size", zoom_reset_button.get_theme_font_size("font_size") - 1)
43+
_sync_zoom_reset_button_font_size()
4944

5045
var is_max_zoom := is_equal_approx(new_zoom, max_zoom)
5146
zoom_in_button.disabled = is_max_zoom
@@ -54,3 +49,12 @@ func sync_to_value(new_zoom: float) -> void:
5449
var is_min_zoom := is_equal_approx(new_zoom, min_zoom)
5550
zoom_out_button.disabled = is_min_zoom
5651
zoom_out_button.mouse_default_cursor_shape = Control.CURSOR_ARROW if is_min_zoom else Control.CURSOR_POINTING_HAND
52+
53+
func _sync_zoom_reset_button_font_size() -> void:
54+
zoom_reset_button.theme_changed.disconnect(_sync_zoom_reset_button_font_size)
55+
if zoom_reset_button.has_theme_font_size_override("font_size"):
56+
zoom_reset_button.remove_theme_font_size_override("font_size")
57+
zoom_reset_button.reset_size()
58+
if zoom_reset_button.size.x > zoom_reset_button.custom_minimum_size.x:
59+
zoom_reset_button.add_theme_font_size_override("font_size", zoom_reset_button.get_theme_font_size("font_size") - 1)
60+
zoom_reset_button.theme_changed.connect(_sync_zoom_reset_button_font_size)

0 commit comments

Comments
 (0)