Some checks failed
Godot CI / Import + smoke test (push) Failing after 14s
Проблема: Body RichTextLabel был с custom_minimum_size (540, 220)
ВСЕГДА. На шагах с коротким текстом (диск/имя/пароль/часовой пояс)
лейбл занимал 220px пустого пространства между заголовком и
полями ввода, выдавливая чекбокс/кнопки за пределы экрана.
Решение:
- В .tscn Body custom_minimum_size = (540, 0), fit_content=true
(адаптируется под контент).
- Window custom_minimum_size = (580, 220) — раньше 348, теперь
окно само растёт под content.
- В скрипте 2 хелпера:
* _set_body_compact() — fit_content=true, min_size (540, 0).
Используется для всех коротких шагов.
* _set_body_scrollable(h) — fit_content=false, min_size (540, h),
scroll_to_line(0). Используется только для LICENSE_FULL.
- Все шаги (_to_disk, _to_username, _to_password, _to_timezone,
_to_installing) вызывают _set_body_compact() в начале.
- LICENSE_FULL вызывает _set_body_scrollable(220) для скроллябельной
лицензии + в title подсказка «прокрути колесом мыши».
Теперь окно установки правильно ужимается под короткий контент и
все поля видны на экране.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
234 lines
6.2 KiB
Text
234 lines
6.2 KiB
Text
[gd_scene load_steps=5 format=3]
|
|
|
|
[ext_resource type="Script" path="res://scripts/prologue/act2_install.gd" id="1_act2"]
|
|
|
|
[sub_resource type="StyleBoxFlat" id="style_window"]
|
|
bg_color = Color(0.13, 0.14, 0.18, 0.97)
|
|
border_width_left = 2
|
|
border_width_top = 2
|
|
border_width_right = 2
|
|
border_width_bottom = 2
|
|
border_color = Color(0.42, 0.44, 0.5, 1)
|
|
corner_radius_top_left = 4
|
|
corner_radius_top_right = 4
|
|
corner_radius_bottom_left = 4
|
|
corner_radius_bottom_right = 4
|
|
content_margin_left = 12.0
|
|
content_margin_top = 8.0
|
|
content_margin_right = 12.0
|
|
content_margin_bottom = 10.0
|
|
|
|
[sub_resource type="StyleBoxFlat" id="style_titlebar"]
|
|
bg_color = Color(0.08, 0.09, 0.13, 1)
|
|
border_width_bottom = 1
|
|
border_color = Color(0.42, 0.44, 0.5, 1)
|
|
corner_radius_top_left = 3
|
|
corner_radius_top_right = 3
|
|
content_margin_left = 8.0
|
|
content_margin_top = 4.0
|
|
content_margin_right = 8.0
|
|
content_margin_bottom = 4.0
|
|
|
|
[sub_resource type="StyleBoxFlat" id="style_panel"]
|
|
bg_color = Color(0.16, 0.17, 0.22, 1)
|
|
border_width_left = 1
|
|
border_width_top = 1
|
|
border_width_right = 1
|
|
border_width_bottom = 1
|
|
border_color = Color(0.35, 0.37, 0.43, 1)
|
|
corner_radius_top_left = 2
|
|
corner_radius_top_right = 2
|
|
corner_radius_bottom_left = 2
|
|
corner_radius_bottom_right = 2
|
|
content_margin_left = 8.0
|
|
content_margin_top = 6.0
|
|
content_margin_right = 8.0
|
|
content_margin_bottom = 6.0
|
|
|
|
[node name="Act2Install" type="Control"]
|
|
layout_mode = 3
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
script = ExtResource("1_act2")
|
|
|
|
[node name="Desktop" type="ColorRect" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
color = Color(0.04, 0.08, 0.18, 1)
|
|
|
|
[node name="FourSquares" type="Control" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
|
|
[node name="LogoText" type="Label" parent="FourSquares"]
|
|
layout_mode = 0
|
|
offset_left = 0.0
|
|
offset_top = 130.0
|
|
offset_right = 640.0
|
|
offset_bottom = 160.0
|
|
text = "ШИНДОВС 9"
|
|
horizontal_alignment = 1
|
|
modulate = Color(0.94, 0.94, 0.94, 1)
|
|
|
|
[node name="SqRed" type="ColorRect" parent="FourSquares"]
|
|
offset_left = 290.0
|
|
offset_top = 170.0
|
|
offset_right = 314.0
|
|
offset_bottom = 194.0
|
|
color = Color(0.9, 0.2, 0.2, 1)
|
|
|
|
[node name="SqGreen" type="ColorRect" parent="FourSquares"]
|
|
offset_left = 316.0
|
|
offset_top = 170.0
|
|
offset_right = 340.0
|
|
offset_bottom = 194.0
|
|
color = Color(0.2, 0.78, 0.3, 1)
|
|
|
|
[node name="SqBlue" type="ColorRect" parent="FourSquares"]
|
|
offset_left = 290.0
|
|
offset_top = 196.0
|
|
offset_right = 314.0
|
|
offset_bottom = 220.0
|
|
color = Color(0.2, 0.4, 0.9, 1)
|
|
|
|
[node name="SqYellow" type="ColorRect" parent="FourSquares"]
|
|
offset_left = 316.0
|
|
offset_top = 196.0
|
|
offset_right = 340.0
|
|
offset_bottom = 220.0
|
|
color = Color(0.94, 0.71, 0.1, 1)
|
|
|
|
[node name="BootHint" type="Label" parent="FourSquares"]
|
|
offset_left = 0.0
|
|
offset_top = 240.0
|
|
offset_right = 640.0
|
|
offset_bottom = 260.0
|
|
text = "Подготовка установки…"
|
|
horizontal_alignment = 1
|
|
modulate = Color(0.7, 0.7, 0.7, 1)
|
|
|
|
[node name="Center" type="CenterContainer" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
|
|
[node name="Window" type="PanelContainer" parent="Center"]
|
|
custom_minimum_size = Vector2(580, 220)
|
|
layout_mode = 2
|
|
theme_override_styles/panel = SubResource("style_window")
|
|
|
|
[node name="V" type="VBoxContainer" parent="Center/Window"]
|
|
layout_mode = 2
|
|
|
|
[node name="TitleBar" type="PanelContainer" parent="Center/Window/V"]
|
|
layout_mode = 2
|
|
theme_override_styles/panel = SubResource("style_titlebar")
|
|
|
|
[node name="Title" type="Label" parent="Center/Window/V/TitleBar"]
|
|
layout_mode = 2
|
|
text = "Шиндовс 9 — Установка"
|
|
horizontal_alignment = 1
|
|
modulate = Color(0.94, 0.71, 0.1, 1)
|
|
|
|
[node name="Body" type="RichTextLabel" parent="Center/Window/V"]
|
|
custom_minimum_size = Vector2(540, 0)
|
|
layout_mode = 2
|
|
bbcode_enabled = true
|
|
fit_content = true
|
|
scroll_active = true
|
|
scroll_following = false
|
|
mouse_filter = 0
|
|
text = "Загрузка…"
|
|
theme_override_font_sizes/normal_font_size = 11
|
|
theme_override_font_sizes/bold_font_size = 11
|
|
theme_override_font_sizes/italics_font_size = 11
|
|
theme_override_font_sizes/mono_font_size = 11
|
|
|
|
[node name="Input" type="LineEdit" parent="Center/Window/V"]
|
|
layout_mode = 2
|
|
placeholder_text = "..."
|
|
max_length = 24
|
|
|
|
[node name="InputHint" type="Label" parent="Center/Window/V"]
|
|
layout_mode = 2
|
|
text = ""
|
|
autowrap_mode = 3
|
|
modulate = Color(0.6, 0.6, 0.6, 1)
|
|
|
|
[node name="CheckBoxNoPwd" type="CheckBox" parent="Center/Window/V"]
|
|
layout_mode = 2
|
|
text = "Без пароля"
|
|
|
|
[node name="TimeZone" type="OptionButton" parent="Center/Window/V"]
|
|
layout_mode = 2
|
|
|
|
[node name="ErrorLabel" type="Label" parent="Center/Window/V"]
|
|
layout_mode = 2
|
|
text = ""
|
|
modulate = Color(0.95, 0.3, 0.3, 1)
|
|
|
|
[node name="Progress" type="ProgressBar" parent="Center/Window/V"]
|
|
layout_mode = 2
|
|
max_value = 100.0
|
|
show_percentage = true
|
|
|
|
[node name="Buttons" type="HBoxContainer" parent="Center/Window/V"]
|
|
layout_mode = 2
|
|
alignment = 2
|
|
|
|
[node name="BtnB" type="Button" parent="Center/Window/V/Buttons"]
|
|
layout_mode = 2
|
|
custom_minimum_size = Vector2(110, 28)
|
|
text = "Читать"
|
|
|
|
[node name="BtnA" type="Button" parent="Center/Window/V/Buttons"]
|
|
layout_mode = 2
|
|
custom_minimum_size = Vector2(110, 28)
|
|
text = "Принять"
|
|
|
|
[node name="WelcomeScreen" type="Control" parent="."]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
visible = false
|
|
|
|
[node name="BG" type="ColorRect" parent="WelcomeScreen"]
|
|
layout_mode = 1
|
|
anchors_preset = 15
|
|
anchor_right = 1.0
|
|
anchor_bottom = 1.0
|
|
color = Color(0.04, 0.08, 0.18, 1)
|
|
|
|
[node name="V" type="VBoxContainer" parent="WelcomeScreen"]
|
|
offset_left = 0.0
|
|
offset_top = 130.0
|
|
offset_right = 640.0
|
|
offset_bottom = 240.0
|
|
alignment = 1
|
|
|
|
[node name="WelcomeText" type="Label" parent="WelcomeScreen/V"]
|
|
layout_mode = 2
|
|
text = "Добро пожаловать."
|
|
horizontal_alignment = 1
|
|
modulate = Color(0.94, 0.94, 0.94, 1)
|
|
|
|
[node name="Hint" type="Label" parent="WelcomeScreen/V"]
|
|
layout_mode = 2
|
|
text = "Шиндовс 9 готов к работе."
|
|
horizontal_alignment = 1
|
|
modulate = Color(0.7, 0.7, 0.7, 1)
|
|
|
|
[node name="LaunchSteme" type="Button" parent="WelcomeScreen/V"]
|
|
layout_mode = 2
|
|
custom_minimum_size = Vector2(160, 32)
|
|
size_flags_horizontal = 4
|
|
text = "Запустить стеме"
|
|
|
|
[connection signal="pressed" from="WelcomeScreen/V/LaunchSteme" to="." method="_on_launch_steme"]
|