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.
text = "Dies ist eine Telegram-Message.
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