From 00fa3494408b71093e7095efd8dc12cfd2a6971e Mon Sep 17 00:00:00 2001 From: Nordup Date: Mon, 25 Nov 2024 04:30:36 +0400 Subject: [PATCH] scroll bar theme, search select on focus --- app/scenes/components/search.tscn | 2 + app/scenes/components/search_home.tscn | 3 + app/scenes/menu_body/home.tscn | 77 +++++++++++++++++++------- app/scripts/ui/search.gd | 7 +-- 4 files changed, 66 insertions(+), 23 deletions(-) diff --git a/app/scenes/components/search.tscn b/app/scenes/components/search.tscn index e88f9ab..ccc6acb 100644 --- a/app/scenes/components/search.tscn +++ b/app/scenes/components/search.tscn @@ -63,6 +63,7 @@ size_flags_horizontal = 3 localize_numeral_system = false focus_next = NodePath("Prompt") focus_mode = 1 +theme_override_colors/selection_color = Color(0.419608, 0.231373, 0.929412, 0.588235) theme_override_colors/font_placeholder_color = Color(0.431373, 0.435294, 0.494118, 1) theme_override_colors/font_color = Color(0.831373, 0.831373, 0.831373, 1) theme_override_fonts/font = ExtResource("1_cimak") @@ -70,6 +71,7 @@ theme_override_font_sizes/font_size = 15 theme_override_styles/focus = SubResource("StyleBoxFlat_hyysn") theme_override_styles/normal = SubResource("StyleBoxFlat_hyysn") placeholder_text = "Search or type URL" +select_all_on_focus = true script = ExtResource("1_7ivk2") gate_events = ExtResource("2_13io8") prompt_panel = NodePath("Prompt/Panel") diff --git a/app/scenes/components/search_home.tscn b/app/scenes/components/search_home.tscn index 9e1ff07..3e9eed1 100644 --- a/app/scenes/components/search_home.tscn +++ b/app/scenes/components/search_home.tscn @@ -83,6 +83,7 @@ size_flags_horizontal = 3 localize_numeral_system = false focus_next = NodePath("Prompt") focus_mode = 1 +theme_override_colors/selection_color = Color(0.4185, 0.2325, 0.93, 0.588235) theme_override_colors/font_placeholder_color = Color(0.431373, 0.435294, 0.494118, 1) theme_override_colors/font_color = Color(0.831373, 0.831373, 0.831373, 1) theme_override_fonts/font = ExtResource("1_o2a5w") @@ -90,9 +91,11 @@ theme_override_font_sizes/font_size = 20 theme_override_styles/focus = SubResource("StyleBoxFlat_w0n18") theme_override_styles/normal = SubResource("StyleBoxFlat_w0n18") placeholder_text = "What are you looking for today?" +select_all_on_focus = true script = ExtResource("2_g181m") gate_events = ExtResource("3_bulmv") prompt_panel = NodePath("Prompt/Panel") +focus_on_ready = true [node name="SearchStatus" type="Control" parent="."] modulate = Color(0.831373, 0.831373, 0.831373, 1) diff --git a/app/scenes/menu_body/home.tscn b/app/scenes/menu_body/home.tscn index 3ad6585..27b8f6b 100644 --- a/app/scenes/menu_body/home.tscn +++ b/app/scenes/menu_body/home.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=3 uid="uid://ca647gp63bshc"] +[gd_scene load_steps=12 format=3 uid="uid://ca647gp63bshc"] [ext_resource type="Texture2D" uid="uid://bw1cffhlt112i" path="res://assets/textures/icon-round.svg" id="1_dh3vr"] [ext_resource type="Script" path="res://scripts/ui/menu/bookmark_container.gd" id="1_g38mt"] @@ -7,6 +7,39 @@ [ext_resource type="PackedScene" uid="uid://bs2cwop0ei1r1" path="res://scenes/components/search_home.tscn" id="3_guc56"] [ext_resource type="PackedScene" uid="uid://82ca8so31njy" path="res://scenes/components/bookmark.tscn" id="3_isdis"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_u8k0c"] +bg_color = Color(0.113725, 0.117647, 0.14902, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_66jqw"] +bg_color = Color(0.32549, 0.14902, 0.8, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6pkf6"] +bg_color = Color(0.423529, 0.235294, 0.933333, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxLine" id="StyleBoxLine_y55p5"] +color = Color(0, 0, 0, 0) +thickness = 5 +vertical = true + +[sub_resource type="Theme" id="Theme_vxovh"] +VScrollBar/styles/grabber = SubResource("StyleBoxFlat_u8k0c") +VScrollBar/styles/grabber_highlight = SubResource("StyleBoxFlat_66jqw") +VScrollBar/styles/grabber_pressed = SubResource("StyleBoxFlat_6pkf6") +VScrollBar/styles/scroll = SubResource("StyleBoxLine_y55p5") +VScrollBar/styles/scroll_focus = null + [node name="Home" type="Control"] layout_mode = 3 anchors_preset = 15 @@ -15,29 +48,35 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="ScrollContainer" type="ScrollContainer" parent="."] +[node name="MarginContainer" type="MarginContainer" parent="."] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +theme_override_constants/margin_left = 3 +theme_override_constants/margin_right = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer"] +layout_mode = 2 size_flags_horizontal = 3 +theme = SubResource("Theme_vxovh") follow_focus = true horizontal_scroll_mode = 0 -[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/ScrollContainer"] clip_contents = true layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="SpaceTop" type="Control" parent="ScrollContainer/VBoxContainer"] +[node name="SpaceTop" type="Control" parent="MarginContainer/ScrollContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 260) layout_mode = 2 size_flags_vertical = 3 -[node name="TextureRect" type="TextureRect" parent="ScrollContainer/VBoxContainer/SpaceTop"] +[node name="TextureRect" type="TextureRect" parent="MarginContainer/ScrollContainer/VBoxContainer/SpaceTop"] layout_mode = 1 anchors_preset = 7 anchor_left = 0.5 @@ -53,49 +92,49 @@ grow_vertical = 0 texture = ExtResource("1_dh3vr") expand_mode = 1 -[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 size_flags_vertical = 3 -[node name="SpaceLeft" type="Control" parent="ScrollContainer/VBoxContainer/HBoxContainer"] +[node name="SpaceLeft" type="Control" parent="MarginContainer/ScrollContainer/VBoxContainer/HBoxContainer"] custom_minimum_size = Vector2(200, 0) layout_mode = 2 -[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/HBoxContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/ScrollContainer/VBoxContainer/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -[node name="MaxSizeContainer2" type="MarginContainer" parent="ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer"] +[node name="MaxSizeContainer2" type="MarginContainer" parent="MarginContainer/ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer"] custom_minimum_size = Vector2(300, 44) layout_mode = 2 -theme_override_constants/margin_left = 396 +theme_override_constants/margin_left = 0 theme_override_constants/margin_top = 0 -theme_override_constants/margin_right = 396 +theme_override_constants/margin_right = 0 theme_override_constants/margin_bottom = 0 script = ExtResource("2_ceb6w") limit = Vector2(720, -1) -[node name="SearchHome" parent="ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer/MaxSizeContainer2" instance=ExtResource("3_guc56")] +[node name="SearchHome" parent="MarginContainer/ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer/MaxSizeContainer2" instance=ExtResource("3_guc56")] layout_mode = 2 -[node name="SpaceMid" type="Control" parent="ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer"] +[node name="SpaceMid" type="Control" parent="MarginContainer/ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 60) layout_mode = 2 -[node name="MaxSizeContainer" type="MarginContainer" parent="ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer"] +[node name="MaxSizeContainer" type="MarginContainer" parent="MarginContainer/ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer"] custom_minimum_size = Vector2(180, 400) layout_mode = 2 size_flags_horizontal = 3 size_flags_stretch_ratio = 2.0 -theme_override_constants/margin_left = 281 +theme_override_constants/margin_left = 0 theme_override_constants/margin_top = 0 -theme_override_constants/margin_right = 281 +theme_override_constants/margin_right = 0 theme_override_constants/margin_bottom = 0 script = ExtResource("2_ceb6w") limit = Vector2(950, -1) valign = 0 -[node name="Bookmarks" type="HFlowContainer" parent="ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer/MaxSizeContainer"] +[node name="Bookmarks" type="HFlowContainer" parent="MarginContainer/ScrollContainer/VBoxContainer/HBoxContainer/VBoxContainer/MaxSizeContainer"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -107,11 +146,11 @@ script = ExtResource("1_g38mt") bookmarks = ExtResource("2_2igc6") bookmark_scene = ExtResource("3_isdis") -[node name="SpaceRight" type="Control" parent="ScrollContainer/VBoxContainer/HBoxContainer"] +[node name="SpaceRight" type="Control" parent="MarginContainer/ScrollContainer/VBoxContainer/HBoxContainer"] custom_minimum_size = Vector2(200, 0) layout_mode = 2 -[node name="SpaceBottom" type="Control" parent="ScrollContainer/VBoxContainer"] +[node name="SpaceBottom" type="Control" parent="MarginContainer/ScrollContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 120) layout_mode = 2 size_flags_vertical = 3 diff --git a/app/scripts/ui/search.gd b/app/scripts/ui/search.gd index 987cb0b..e424dfa 100644 --- a/app/scripts/ui/search.gd +++ b/app/scripts/ui/search.gd @@ -6,12 +6,15 @@ signal on_navigation(event: int) @export var gate_events: GateEvents @export var prompt_panel: Control +@export var focus_on_ready: bool func _ready() -> void: gate_events.open_gate.connect(set_current_url) gate_events.search.connect(set_current_url) gate_events.exit_gate.connect(set_current_url.bind("")) + + if focus_on_ready: grab_focus() func set_current_url(_url: String) -> void: @@ -24,10 +27,6 @@ func _on_text_submitted(_url: String) -> void: open_gate() -func _on_go_pressed() -> void: - open_gate() - - func open_gate() -> void: if text.is_empty(): return