feat: testing layout system fix

This commit is contained in:
tiger tiger tiger 2026-03-20 15:38:09 +01:00
parent 64c6ae5a40
commit 65dfda2a8e
9 changed files with 178 additions and 87 deletions

View File

@ -0,0 +1,9 @@
@tool
class_name AutoSizeRichTextLabel
extends RichTextLabel
func _process(_delta: float) -> void:
if get_combined_minimum_size().y <= get_minimum_size().y:
autowrap_mode = TextServer.AUTOWRAP_OFF
else:
autowrap_mode = TextServer.AUTOWRAP_WORD_SMART

View File

@ -0,0 +1 @@
uid://dlbwvie007wfx

View File

@ -6,9 +6,12 @@
[ext_resource type="Script" uid="uid://db7t2kqbsskoq" path="res://logic-scenes/chat_view/chat-view.gd" id="4_myhe7"]
[ext_resource type="Texture2D" uid="uid://cv58eu35ra1ku" path="res://logic-scenes/chat_view/phone-dot.png" id="4_vvup7"]
[ext_resource type="Texture2D" uid="uid://bng2qbusdg7dj" path="res://logic-scenes/chat_view/phone-signal.png" id="4_xckgu"]
[ext_resource type="Script" uid="uid://be16bo6mf4kqu" path="res://logic-scenes/chat_view/chat-bubble.gd" id="5_xckgu"]
[ext_resource type="Script" uid="uid://be16bo6mf4kqu" path="res://logic-scenes/chat_view/chat-message.gd" id="5_xckgu"]
[ext_resource type="Texture2D" uid="uid://dekaqj10p8rqk" path="res://logic-scenes/chat_view/avatar-dummy.png" id="6_bvmqu"]
[ext_resource type="StyleBox" uid="uid://dj1fuvcy0sw7k" path="res://logic-scenes/chat_view/style-chat-bubble.tres" id="9_vvup7"]
[ext_resource type="LabelSettings" uid="uid://mh8uu4rlqmv5" path="res://logic-scenes/chat_view/label-timestamp.tres" id="9_xckgu"]
[ext_resource type="StyleBox" uid="uid://dd4xc216ul21m" path="res://logic-scenes/chat_view/style-chat-bubble-self.tres" id="11_qbcw0"]
[ext_resource type="Script" uid="uid://dlbwvie007wfx" path="res://logic-scenes/chat_view/auto_size_rich_text.gd" id="12_qgt32"]
[sub_resource type="Resource" id="Resource_iwd5k"]
script = ExtResource("5_xckgu")
@ -27,193 +30,256 @@ text = "🙄"
is_own_message = true
metadata/_custom_type_script = "uid://be16bo6mf4kqu"
[node name="PhoneScreen" type="VBoxContainer" unique_id=1207866359]
[node name="PhoneScreen" type="ColorRect" unique_id=1416718783]
custom_minimum_size = Vector2(800, 1280)
offset_right = 830.0
offset_bottom = 1300.0
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -1920.0
offset_right = -1048.0
offset_bottom = 1424.0
grow_horizontal = 0
color = Color(0, 0, 0, 1)
[node name="AppLayout" type="VBoxContainer" parent="." unique_id=1207866359]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_6hmi7")
[node name="TopBar" type="HBoxContainer" parent="." unique_id=715115340]
[node name="TopBar" type="HBoxContainer" parent="AppLayout" unique_id=715115340]
layout_mode = 2
alignment = 1
[node name="Time" type="Label" parent="TopBar" unique_id=538973152]
[node name="Time" type="Label" parent="AppLayout/TopBar" unique_id=538973152]
layout_mode = 2
text = "08:12 PM"
label_settings = ExtResource("2_xckgu")
horizontal_alignment = 1
vertical_alignment = 1
[node name="Notifcations" type="TextureRect" parent="TopBar" unique_id=164400921]
[node name="Notifcations" type="TextureRect" parent="AppLayout/TopBar" unique_id=164400921]
layout_mode = 2
texture = ExtResource("3_myhe7")
[node name="Dot1" type="TextureRect" parent="TopBar" unique_id=1306078406]
[node name="Dot1" type="TextureRect" parent="AppLayout/TopBar" unique_id=1306078406]
layout_mode = 2
texture = ExtResource("4_vvup7")
[node name="Dot2" type="TextureRect" parent="TopBar" unique_id=256206201]
[node name="Dot2" type="TextureRect" parent="AppLayout/TopBar" unique_id=256206201]
layout_mode = 2
texture = ExtResource("4_vvup7")
[node name="Control2" type="Control" parent="TopBar" unique_id=209916177]
[node name="Control2" type="Control" parent="AppLayout/TopBar" unique_id=209916177]
layout_mode = 2
size_flags_horizontal = 3
[node name="SignalStrength" type="TextureRect" parent="TopBar" unique_id=416104296]
[node name="SignalStrength" type="TextureRect" parent="AppLayout/TopBar" unique_id=416104296]
layout_mode = 2
texture = ExtResource("4_xckgu")
[node name="Carrier" type="Label" parent="TopBar" unique_id=61022698]
[node name="Carrier" type="Label" parent="AppLayout/TopBar" unique_id=61022698]
layout_mode = 2
text = "HRT-Mobile"
label_settings = ExtResource("2_xckgu")
horizontal_alignment = 1
vertical_alignment = 1
[node name="ScrollContainer" type="ScrollContainer" parent="." unique_id=124411261]
custom_minimum_size = Vector2(800, 1280)
[node name="ChatContainer" type="ScrollContainer" parent="AppLayout" unique_id=124411261]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 3
horizontal_scroll_mode = 0
vertical_scroll_mode = 2
script = ExtResource("4_myhe7")
messages = Array[ExtResource("5_xckgu")]([SubResource("Resource_iwd5k"), SubResource("Resource_1hd2w"), SubResource("Resource_w8y7q")])
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer" unique_id=1303301180]
[node name="VBoxContainer" type="VBoxContainer" parent="AppLayout/ChatContainer" unique_id=1303301180]
layout_mode = 2
size_flags_horizontal = 3
[node name="PanelContainer" type="PanelContainer" parent="ScrollContainer/VBoxContainer" unique_id=1212868765]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/PanelContainer" unique_id=872807975]
[node name="Message-Other" type="HBoxContainer" parent="AppLayout/ChatContainer/VBoxContainer" unique_id=872807975]
layout_mode = 2
size_flags_horizontal = 3
alignment = 2
[node name="TextureRect" type="TextureRect" parent="ScrollContainer/VBoxContainer/PanelContainer/HBoxContainer" unique_id=1340018572]
[node name="Avatar" type="TextureRect" parent="AppLayout/ChatContainer/VBoxContainer/Message-Other" unique_id=1340018572]
layout_mode = 2
size_flags_vertical = 8
texture = ExtResource("6_bvmqu")
stretch_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/PanelContainer/HBoxContainer" unique_id=1464038635]
[node name="VBoxContainer" type="VBoxContainer" parent="AppLayout/ChatContainer/VBoxContainer/Message-Other" unique_id=1464038635]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 9
[node name="RichTextLabel" type="RichTextLabel" parent="ScrollContainer/VBoxContainer/PanelContainer/HBoxContainer/VBoxContainer" unique_id=765887203]
[node name="MarginContainer" type="MarginContainer" parent="AppLayout/ChatContainer/VBoxContainer/Message-Other/VBoxContainer" unique_id=411272741]
layout_mode = 2
size_flags_horizontal = 0
theme_override_constants/margin_left = 5
theme_override_constants/margin_top = 5
theme_override_constants/margin_right = 5
theme_override_constants/margin_bottom = 5
[node name="Panel" type="Panel" parent="AppLayout/ChatContainer/VBoxContainer/Message-Other/VBoxContainer/MarginContainer" unique_id=2013893702]
layout_mode = 2
theme_override_styles/panel = ExtResource("9_vvup7")
[node name="RichTextLabel" type="RichTextLabel" parent="AppLayout/ChatContainer/VBoxContainer/Message-Other/VBoxContainer/MarginContainer" unique_id=1968975325]
custom_minimum_size = Vector2(500, 0)
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"message-other"
bbcode_enabled = true
text = "Dies ist eine Telegram-Message.
Ich schreibe mal etwas länger, ob zu sehen,
ob der Bums irgendwann umbricht.
FR, FR...
Ich schreibe mal etwas länger, ob zu sehen, ob der Bums irgendwann umbricht.
lalle back, lalle back, lalle-lalle-back ... dies ist ein test
lalle back, lalle back, lalle-lalle-back ...
"
fit_content = true
scroll_active = false
vertical_alignment = 1
justification_flags = 3
script = ExtResource("12_qgt32")
metadata/_custom_type_script = "uid://dlbwvie007wfx"
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/PanelContainer/HBoxContainer/VBoxContainer" unique_id=1782456747]
[node name="TimeStamp" type="Label" parent="AppLayout/ChatContainer/VBoxContainer/Message-Other/VBoxContainer" unique_id=1782456747]
layout_mode = 2
text = "8:12 PM"
label_settings = ExtResource("9_xckgu")
horizontal_alignment = 2
[node name="Control" type="Control" parent="ScrollContainer/VBoxContainer/PanelContainer/HBoxContainer" unique_id=1910496415]
custom_minimum_size = Vector2(128, 128)
[node name="Spacer" type="Control" parent="AppLayout/ChatContainer/VBoxContainer/Message-Other" unique_id=1910496415]
custom_minimum_size = Vector2(160, 0)
layout_mode = 2
[node name="PanelContainer2" type="PanelContainer" parent="ScrollContainer/VBoxContainer" unique_id=890417687]
[node name="Message-Self" type="HBoxContainer" parent="AppLayout/ChatContainer/VBoxContainer" unique_id=2088488179]
layout_mode = 2
size_flags_horizontal = 3
alignment = 2
[node name="Spacer" type="Control" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self" unique_id=492147653]
custom_minimum_size = Vector2(160, 0)
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/PanelContainer2" unique_id=202362927]
layout_mode = 2
[node name="Control" type="Control" parent="ScrollContainer/VBoxContainer/PanelContainer2/HBoxContainer2" unique_id=1066349528]
custom_minimum_size = Vector2(128, 128)
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/PanelContainer2/HBoxContainer2" unique_id=1812968932]
[node name="VBoxContainer" type="VBoxContainer" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self" unique_id=157124478]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 9
[node name="RichTextLabel" type="RichTextLabel" parent="ScrollContainer/VBoxContainer/PanelContainer2/HBoxContainer2/VBoxContainer" unique_id=200296370]
[node name="Bubble" type="PanelContainer" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self/VBoxContainer" unique_id=842242817]
custom_minimum_size = Vector2(0, 52)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 3
theme_override_styles/panel = ExtResource("11_qbcw0")
[node name="MarginContainer" type="MarginContainer" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self/VBoxContainer/Bubble" unique_id=766411309]
layout_mode = 2
size_flags_vertical = 4
theme_override_constants/margin_left = 5
theme_override_constants/margin_top = 5
theme_override_constants/margin_right = 5
theme_override_constants/margin_bottom = 5
[node name="RichTextLabel" type="RichTextLabel" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self/VBoxContainer/Bubble/MarginContainer" unique_id=101911137]
custom_minimum_size = Vector2(500, 0)
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"message-other"
bbcode_enabled = true
text = "Dies ist eine Telegram-Message.
Ich schreibe mal etwas länger, ob zu sehen,
ob der Bums irgendwann umbricht.
lalle back, lalle back, lalle-lalle-back ... dies ist ein test"
"
fit_content = true
scroll_active = false
vertical_alignment = 1
justification_flags = 99
script = ExtResource("12_qgt32")
metadata/_custom_type_script = "uid://dlbwvie007wfx"
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/PanelContainer2/HBoxContainer2/VBoxContainer" unique_id=357886658]
[node name="TimeStamp" type="Label" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self/VBoxContainer" unique_id=433463928]
layout_mode = 2
text = "8:12 PM"
label_settings = ExtResource("9_xckgu")
horizontal_alignment = 2
[node name="TextureRect2" type="TextureRect" parent="ScrollContainer/VBoxContainer/PanelContainer2/HBoxContainer2" unique_id=554303455]
[node name="Avatar" type="TextureRect" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self" unique_id=434370099]
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 8
texture = ExtResource("6_bvmqu")
stretch_mode = 2
[node name="PanelContainer3" type="PanelContainer" parent="ScrollContainer/VBoxContainer" unique_id=150017241]
layout_mode = 2
[node name="HBoxContainer2" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/PanelContainer3" unique_id=165650096]
layout_mode = 2
[node name="Control" type="Control" parent="ScrollContainer/VBoxContainer/PanelContainer3/HBoxContainer2" unique_id=1455939211]
custom_minimum_size = Vector2(128, 128)
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/PanelContainer3/HBoxContainer2" unique_id=335599198]
layout_mode = 2
size_flags_horizontal = 10
size_flags_vertical = 8
[node name="RichTextLabel" type="RichTextLabel" parent="ScrollContainer/VBoxContainer/PanelContainer3/HBoxContainer2/VBoxContainer" unique_id=1556001986]
[node name="Message-Self-Short" type="HBoxContainer" parent="AppLayout/ChatContainer/VBoxContainer" unique_id=1126894869]
layout_mode = 2
size_flags_horizontal = 3
alignment = 2
[node name="Spacer" type="Control" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self-Short" unique_id=2062000365]
custom_minimum_size = Vector2(160, 0)
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self-Short" unique_id=1331255119]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 9
[node name="Bubble" type="PanelContainer" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self-Short/VBoxContainer" unique_id=2249691]
custom_minimum_size = Vector2(0, 52)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 3
theme_override_styles/panel = ExtResource("11_qbcw0")
[node name="MarginContainer" type="MarginContainer" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self-Short/VBoxContainer/Bubble" unique_id=2077306006]
layout_mode = 2
size_flags_horizontal = 4
theme_override_constants/margin_left = 5
theme_override_constants/margin_top = 5
theme_override_constants/margin_right = 5
theme_override_constants/margin_bottom = 5
[node name="RichTextLabel" type="RichTextLabel" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self-Short/VBoxContainer/Bubble/MarginContainer" unique_id=1089345802]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"message-other"
bbcode_enabled = true
text = "Kasse dich Furz"
text = "Kasse Dich Furz!
"
fit_content = true
scroll_active = false
autowrap_mode = 0
vertical_alignment = 1
script = ExtResource("12_qgt32")
metadata/_custom_type_script = "uid://dlbwvie007wfx"
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/PanelContainer3/HBoxContainer2/VBoxContainer" unique_id=1608122043]
[node name="TimeStamp" type="Label" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self-Short/VBoxContainer" unique_id=1787589161]
layout_mode = 2
text = "8:12 PM"
label_settings = ExtResource("9_xckgu")
horizontal_alignment = 2
[node name="TextureRect2" type="TextureRect" parent="ScrollContainer/VBoxContainer/PanelContainer3/HBoxContainer2" unique_id=844484991]
[node name="Avatar" type="TextureRect" parent="AppLayout/ChatContainer/VBoxContainer/Message-Self-Short" unique_id=740045102]
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 8
texture = ExtResource("6_bvmqu")
stretch_mode = 2
[node name="NavBar" type="HBoxContainer" parent="." unique_id=1214154460]
[node name="PanelContainer" type="PanelContainer" parent="AppLayout" unique_id=1252298765]
layout_mode = 2
[node name="NavBar" type="HBoxContainer" parent="AppLayout" unique_id=1214154460]
layout_mode = 2
alignment = 1
[node name="Dot1" type="TextureRect" parent="NavBar" unique_id=721203980]
[node name="Dot1" type="TextureRect" parent="AppLayout/NavBar" unique_id=721203980]
layout_mode = 2
texture = ExtResource("4_vvup7")
[node name="Dot2" type="TextureRect" parent="NavBar" unique_id=1265715350]
[node name="Dot2" type="TextureRect" parent="AppLayout/NavBar" unique_id=1265715350]
layout_mode = 2
texture = ExtResource("4_vvup7")

View File

@ -5,3 +5,4 @@
[resource]
font = ExtResource("1_f4p0e")
font_size = 12
font_color = Color(0.5673677, 0.56736773, 0.56736773, 1)

View File

@ -0,0 +1,15 @@
[gd_resource type="StyleBoxFlat" format=3 uid="uid://dd4xc216ul21m"]
[resource]
bg_color = Color(2.2140146e-06, 0.55150306, 0.515221, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(1, 1, 1, 0.5019608)
border_blend = true
corner_radius_top_left = 24
corner_radius_top_right = 24
corner_radius_bottom_left = 24
shadow_size = 5
shadow_offset = Vector2(5, 8)

View File

@ -0,0 +1,15 @@
[gd_resource type="StyleBoxFlat" format=3 uid="uid://dj1fuvcy0sw7k"]
[resource]
bg_color = Color(0.21546715, 0.48896384, 0.7619432, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(1, 1, 1, 0.5019608)
border_blend = true
corner_radius_top_left = 24
corner_radius_top_right = 24
corner_radius_bottom_right = 24
shadow_size = 5
shadow_offset = Vector2(5, 8)

View File

@ -1,24 +1,8 @@
[gd_resource type="Theme" format=3 uid="uid://bhw3jbbrt3m1k"]
[ext_resource type="FontFile" uid="uid://bdkb43smt08c0" path="res://import/fonts/Ubuntu-B.ttf" id="1_k35rd"]
[ext_resource type="FontFile" uid="uid://bmh8v44f6txfo" path="res://import/fonts/Ubuntu-RI.ttf" id="2_btmtg"]
[ext_resource type="FontFile" uid="uid://b0i5ipn75noh6" path="res://import/fonts/Ubuntu-R.ttf" id="3_vup8s"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_iwd5k"]
content_margin_left = 12.0
content_margin_top = 8.0
content_margin_right = 12.0
content_margin_bottom = 8.0
bg_color = Color(0.757003, 0.509749, 0.667446, 1)
border_color = Color(0.8, 0.8, 0.8, 0)
corner_radius_top_left = 20
corner_radius_top_right = 20
corner_radius_bottom_right = 20
[ext_resource type="FontFile" uid="uid://b0i5ipn75noh6" path="res://import/fonts/Ubuntu-R.ttf" id="1_o4frn"]
[resource]
default_font = ExtResource("3_vup8s")
default_font = ExtResource("1_o4frn")
default_font_size = 24
RichTextLabel/fonts/bold_font = ExtResource("1_k35rd")
RichTextLabel/fonts/italics_font = ExtResource("2_btmtg")
RichTextLabel/styles/normal = SubResource("StyleBoxFlat_iwd5k")
VBoxContainer/constants/separation = 9