Skip to content

Commit f9c4a73

Browse files
TabsPanel: Fix some bugs and cleanup (#29)
1 parent 7bb649b commit f9c4a73

File tree

7 files changed

+19
-17
lines changed

7 files changed

+19
-17
lines changed

src/ui_parts/display.gd

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extends VBoxContainer
22

33
const NumberEdit = preload("res://src/ui_widgets/number_edit.gd")
4-
const TabPanel = preload("res://src/ui_parts/tab_panel.tscn")
4+
const TabsPanel = preload("res://src/ui_parts/tabs_panel.tscn")
55

66
@onready var viewport: SubViewport = %Viewport
77
@onready var reference_texture: TextureRect = %Viewport/ReferenceTexture
@@ -15,14 +15,16 @@ const TabPanel = preload("res://src/ui_parts/tab_panel.tscn")
1515
@onready var input_debug_label: Label = %DebugContainer/InputDebugLabel
1616
@onready var toolbar: PanelContainer = $ViewportPanel/VBoxContainer/Toolbar
1717

18-
var tab_panel: PanelContainer
18+
var tabs_panel: PanelContainer
19+
var should_refresh_tabs := false
1920

2021
var reference_overlay := false
2122

2223
func _ready() -> void:
2324
Configs.language_changed.connect(update_translations)
2425
Configs.snap_changed.connect(update_snap_config)
2526
Configs.theme_changed.connect(update_theme)
27+
Configs.tabs_changed.connect(set.bind("should_refresh_tabs" ,true))
2628
Configs.active_tab_changed.connect(sync_reference_image)
2729
Configs.active_tab_reference_changed.connect(sync_reference_image)
2830
sync_reference_image()
@@ -37,13 +39,13 @@ func _ready() -> void:
3739
update_snap_config()
3840
get_window().window_input.connect(_update_input_debug)
3941

40-
tab_panel = TabPanel.instantiate()
42+
tabs_panel = TabsPanel.instantiate()
4143
var overlay_ref := ColorRect.new()
4244
overlay_ref.color = Color(0, 0, 0, 0.4)
4345
overlay_ref.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT)
4446
overlay_ref.hide()
4547
get_tree().root.add_child.call_deferred(overlay_ref)
46-
overlay_ref.add_child(tab_panel)
48+
overlay_ref.add_child(tabs_panel)
4749

4850
func update_translations() -> void:
4951
%LeftMenu/Visuals.tooltip_text = Translator.translate("Visuals")
@@ -171,6 +173,9 @@ func _update_input_debug(event: InputEvent) -> void:
171173
input_debug_label.text = new_text
172174

173175

174-
func _on_tab_switcher_pressed() -> void:
175-
tab_panel.get_parent().show()
176-
tab_panel.animate_in()
176+
func show_tabs_panel() -> void:
177+
if should_refresh_tabs:
178+
tabs_panel.refresh_tabs()
179+
should_refresh_tabs = false
180+
tabs_panel.get_parent().show()
181+
tabs_panel.animate_in()

src/ui_parts/display.tscn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ allow_lower = false
151151
layout_mode = 2
152152
size_flags_horizontal = 3
153153

154-
[node name="TabSwitcher" type="Button" parent="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions"]
154+
[node name="TabsPanel" type="Button" parent="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions"]
155155
layout_mode = 2
156156
focus_mode = 0
157157
mouse_default_cursor_shape = 2
@@ -205,6 +205,6 @@ horizontal_alignment = 2
205205
[connection signal="pressed" from="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions/LeftMenu/Reference" to="." method="_on_reference_pressed"]
206206
[connection signal="toggled" from="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions/LeftMenu/Snapping/SnapButton" to="." method="_on_snap_button_toggled"]
207207
[connection signal="value_changed" from="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions/LeftMenu/Snapping/SnapNumberEdit" to="." method="_on_snap_number_edit_value_changed"]
208-
[connection signal="pressed" from="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions/TabSwitcher" to="." method="_on_tab_switcher_pressed"]
208+
[connection signal="pressed" from="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions/TabsPanel" to="." method="show_tabs_panel"]
209209
[connection signal="zoom_changed" from="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions/ZoomMenu" to="ViewportPanel/VBoxContainer/ViewportContainer/Viewport" method="_on_zoom_changed"]
210210
[connection signal="zoom_reset_pressed" from="ViewportPanel/VBoxContainer/Toolbar/ViewportOptions/ZoomMenu" to="ViewportPanel/VBoxContainer/ViewportContainer/Viewport" method="center_frame"]

src/ui_parts/export_menu.tscn

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
[gd_scene load_steps=7 format=3 uid="uid://c13dadqbljqlu"]
22

33
[ext_resource type="Script" uid="uid://bouo2y3v0gy4a" path="res://src/ui_parts/export_menu.gd" id="1_objnb"]
4-
[ext_resource type="Script" uid="uid://chk5g6lh7jc14" path="res://src/ui_widgets/HTitledPanel.gd" id="2_07m68"]
54
[ext_resource type="PackedScene" uid="uid://xh26qa68xed4" path="res://src/ui_widgets/preview_rect.tscn" id="2_ewk0a"]
65
[ext_resource type="Texture2D" uid="uid://v0lqyuvo50yq" path="res://assets/icons/Info.svg" id="2_rk3rd"]
76
[ext_resource type="FontFile" uid="uid://clpf84p1lfwlp" path="res://assets/fonts/Font.ttf" id="5_s3e6m"]

src/ui_parts/tab_panel.gd renamed to src/ui_parts/tabs_panel.gd

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ func animate_out() -> void:
2121
get_parent().hide()
2222

2323
func refresh_tabs() -> void:
24-
print("Refreshing tabs...")
2524
for i in tab_container.get_children():
2625
i.queue_free()
2726

File renamed without changes.

src/ui_parts/tab_panel.tscn renamed to src/ui_parts/tabs_panel.tscn

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
[gd_scene load_steps=3 format=3 uid="uid://csrfbf30rdcc0"]
22

3-
[ext_resource type="Script" uid="uid://rwf3r3qie2mv" path="res://src/ui_parts/tab_panel.gd" id="1_qdc8p"]
4-
[ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://assets/icons/Plus.svg" id="2_oftom"]
3+
[ext_resource type="Script" uid="uid://rwf3r3qie2mv" path="res://src/ui_parts/tabs_panel.gd" id="1_a4usf"]
4+
[ext_resource type="Texture2D" uid="uid://eif2ioi0mw17" path="res://assets/icons/Plus.svg" id="2_1shv1"]
55

6-
[node name="TabSwitcher" type="PanelContainer"]
6+
[node name="TabsPanel" type="PanelContainer"]
77
custom_minimum_size = Vector2(180, 0)
88
anchors_preset = 9
99
anchor_bottom = 1.0
1010
offset_right = 96.0
1111
grow_vertical = 2
1212
theme_type_variation = &"DarkPanel"
13-
script = ExtResource("1_qdc8p")
13+
script = ExtResource("1_a4usf")
1414

1515
[node name="VBoxContainer" type="VBoxContainer" parent="."]
1616
layout_mode = 2
@@ -34,6 +34,6 @@ focus_mode = 0
3434
mouse_default_cursor_shape = 2
3535
theme_type_variation = &"IconButton"
3636
text = "New Tab"
37-
icon = ExtResource("2_oftom")
37+
icon = ExtResource("2_1shv1")
3838

3939
[connection signal="pressed" from="VBoxContainer/NewTab" to="." method="_on_new_tab_pressed"]

src/ui_widgets/tab_item.gd

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ func setup(tab_title: String, svg_text: String, is_active: bool = false) -> void
1818

1919
func highlight_active_tab() -> void:
2020
var active_index := Configs.savedata.get_active_tab_index()
21-
print("active_index ", active_index)
2221
if get_index() == active_index:
2322
highlight(true)
2423
else:

0 commit comments

Comments
 (0)