diff --git a/material_maker/globals.gd b/material_maker/globals.gd index baf778c76..f99f45808 100644 --- a/material_maker/globals.gd +++ b/material_maker/globals.gd @@ -58,8 +58,9 @@ const DEFAULT_CONFIG : Dictionary = { ui_use_native_file_dialogs = true, win_tablet_driver = 0, dialog_dim_background = true, - node_minimize_button = true, - node_close_button = true, + node_minimize_button = false, + node_close_button = false, + custom_theme_base_color = Color(0.529, 0.467, 0.686), } @@ -228,3 +229,6 @@ func get_node_title_from_gen(generator : MMGenBase) -> String: var gnode : GraphNode = graph.get_node(node_path) return gnode.title.to_snake_case() return "unnamed" + +func is_custom_theme() -> bool: + return config.get_value("window", "theme") == "custom" diff --git a/material_maker/main_window.gd b/material_maker/main_window.gd index 1df3ba3de..a81041213 100644 --- a/material_maker/main_window.gd +++ b/material_maker/main_window.gd @@ -51,7 +51,7 @@ const RECENTS_MENU_CLEAR = 1001 const MENU_SAVE_PRESET : int = 1002 const MENU_MANAGE_PRESETS : int = 1003 -const THEMES = ["Default Dark", "Default Light", "Classic"] +const THEMES = ["Default Dark", "Default Light", "Custom", "Classic"] const MENU : Array[Dictionary] = [ { menu="File/New material", command="new_material", shortcut="Control+N" }, @@ -342,6 +342,10 @@ func on_config_changed() -> void: if c.has_method("update"): c.update() + # set custom theme + if mm_globals.config.get_value("window", "theme") == "custom": + change_theme_custom.call_deferred() + func get_panel(panel_name : String) -> Control: return layout.get_panel(panel_name) @@ -622,7 +626,16 @@ func create_menu_set_theme(menu : MMMenuManager.MenuBase) -> void: menu.add_item(t) menu.connect_id_pressed(self._on_SetTheme_id_pressed) +func change_theme_custom() -> void: + var base : Color = mm_globals.get_config("custom_theme_base_color") + theme = ThemeUtils.generate_custom_theme(base) + $NodeFactory.on_theme_changed() + func change_theme(theme_name) -> void: + if theme_name == "custom": + change_theme_custom() + return + if not ResourceLoader.exists("res://material_maker/theme/"+theme_name+".tres"): theme_name = "default dark" var _theme = load("res://material_maker/theme/"+theme_name+".tres") @@ -630,13 +643,12 @@ func change_theme(theme_name) -> void: return if _theme is EnhancedTheme: _theme.update() - await get_tree().process_frame theme = _theme if "classic" in theme_name: RenderingServer.set_default_clear_color(Color(0.14, 0.17,0.23)) else: RenderingServer.set_default_clear_color( - Color("4d4d4d") if "light" in theme_name else Color("1f1f1f")) + Color.WHITE if "light" in theme_name else Color("1f1f1f")) $NodeFactory.on_theme_changed() func _on_SetTheme_id_pressed(id) -> void: @@ -1537,6 +1549,5 @@ func draw_children(p, x): func _draw_debug(): draw_children(self, get_global_mouse_position()) - func _on_console_resizer_container_mouse_entered() -> void: pass # Replace with function body. diff --git a/material_maker/nodes/portal/portal.gd b/material_maker/nodes/portal/portal.gd index 36d7f3d38..77a2002cf 100644 --- a/material_maker/nodes/portal/portal.gd +++ b/material_maker/nodes/portal/portal.gd @@ -351,6 +351,10 @@ static func draw_links(g : MMGraphEdit) -> void: var to : Vector2 = graph_node_center(wo, g) if wo.selected or wi.selected: # link / io highlight + g.draw_dashed_line(from, to, Color.BLACK, link_width + 0.2, dash_length, true, true) + g.draw_circle(from, circle_r * zoom, Color.BLACK, false, (circle_outline_width + 1.0) * zoom, true) + g.draw_circle(to, circle_r * zoom, Color.BLACK, false, (circle_outline_width + 1.0) * zoom, true) + g.draw_dashed_line(from, to, link_color, link_width, dash_length, true, true) g.draw_circle(from, circle_r * zoom, in_color, false, circle_outline_width * zoom, true) g.draw_circle(to, circle_r * zoom, out_color, false, circle_outline_width * zoom, true) @@ -360,6 +364,10 @@ static func draw_links(g : MMGraphEdit) -> void: var dir_a := (from - to).normalized().rotated(-PI * 0.25) var dir_b := (from - to).normalized().rotated(PI * 0.25) var aw := maxf(20.0 * zoom, 15.0) + g.draw_multiline(PackedVector2Array([ + mid, mid + dir_a * aw, + mid, mid + dir_b * aw]), Color.BLACK, link_width * 0.8 + 0.25, true) + g.draw_multiline(PackedVector2Array([ mid, mid + dir_a * aw, mid, mid + dir_b * aw]), link_color, link_width*0.8, true) diff --git a/material_maker/theme/default dark.tres b/material_maker/theme/default dark.tres index ab33d0ff5..dd1079f25 100644 --- a/material_maker/theme/default dark.tres +++ b/material_maker/theme/default dark.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" script_class="EnhancedTheme" load_steps=42 format=3 uid="uid://dhuhq2immquoh"] +[gd_resource type="Theme" script_class="EnhancedTheme" format=3 uid="uid://dhuhq2immquoh"] [ext_resource type="Theme" uid="uid://b628lwfk6ig2c" path="res://material_maker/theme/default.tres" id="3_xjelh"] [ext_resource type="Script" uid="uid://3ga2k3abkk0d" path="res://material_maker/theme/enhanced_theme_system/color_swap.gd" id="4_0efyb"] @@ -199,8 +199,8 @@ metadata/_custom_type_script = "uid://3ga2k3abkk0d" [sub_resource type="Resource" id="Resource_i62a2"] script = ExtResource("4_0efyb") name = "AddNodePopupList" -orig = Color(0.0980392, 0.0980392, 0.101961, 1) -target = Color(0.0980392, 0.0980392, 0.101961, 1) +orig = Color(0.11764706, 0.10980392, 0.10980392, 1) +target = Color(0.09803922, 0.09803922, 0.101960786, 1) metadata/_custom_type_script = "uid://3ga2k3abkk0d" [sub_resource type="Resource" id="Resource_0m7hk"] @@ -238,9 +238,100 @@ orig = Color(0.9882353, 1, 1, 1) target = Color(0.2509804, 0.26666668, 0.2901961, 1) metadata/_custom_type_script = "uid://3ga2k3abkk0d" +[sub_resource type="Resource" id="Resource_m5moq"] +script = ExtResource("4_0efyb") +name = "FileDialogPanel" +orig = Color(0.13333334, 0.14509805, 0.14509805, 1) +target = Color(0.13333334, 0.14509805, 0.14509805, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_dcu6r"] +script = ExtResource("4_0efyb") +name = "PanelMenuBackgrounds" +orig = Color(0.0666667, 0.0705882, 0.0784314, 1) +target = Color(0.06666667, 0.07058824, 0.078431375, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_wxjhn"] +script = ExtResource("4_0efyb") +name = "TreeHover" +orig = Color(0.5882353, 0.6039216, 0.6039216, 1) +target = Color(0.2827941, 0.29489788, 0.31771314, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_5p331"] +script = ExtResource("4_0efyb") +name = "TreeHoverSelected" +orig = Color(0.59607846, 0.6039216, 0.6039216, 1) +target = Color(0.28235295, 0.29411766, 0.31764707, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_jfdia"] +script = ExtResource("4_0efyb") +name = "PopupMenuHover" +orig = Color(0.15686275, 0.1764706, 0.19215687, 1) +target = Color(0.16862746, 0.1764706, 0.19215687, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_4wnip"] +script = ExtResource("4_0efyb") +name = "ItemListHover" +orig = Color(0.16078432, 0.16862746, 0.18431373, 1) +target = Color(0.22795805, 0.23807225, 0.25829834, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_xhoey"] +script = ExtResource("4_0efyb") +name = "CodeEditNormal" +orig = Color(0.09803922, 0.09803922, 0.101960786, 1) +target = Color(0.09803922, 0.09803922, 0.101960786, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_ek7vi"] +script = ExtResource("4_0efyb") +name = "RerouteNormal" +orig = Color(0.3137255, 0.3137255, 0.34901962, 1) +target = Color(0.3137255, 0.3137255, 0.34901962, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_vl7cx"] +script = ExtResource("4_0efyb") +name = "RerouteSelected" +orig = Color(0.42352942, 0.42352942, 0.4627451, 1) +target = Color(0.42352942, 0.42352942, 0.4627451, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_qv0im"] +script = ExtResource("4_0efyb") +name = "CodeEditNormal" +orig = Color(0.08627451, 0.09803922, 0.101960786, 1) +target = Color(0.08627451, 0.09803922, 0.101960786, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_27dwd"] +script = ExtResource("4_0efyb") +name = "PortalLink" +orig = Color(0.61960787, 0.49411765, 0.7254902, 1) +target = Color(0.61960787, 0.49411765, 0.7254902, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_pi8e2"] +script = ExtResource("4_0efyb") +name = "NodeTitleBarBG" +orig = Color(0.49, 0.506, 0.545, 1) +target = Color(0.49019608, 0.5058824, 0.54509807, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_5xfna"] +script = ExtResource("4_0efyb") +name = "AcceptDialog" +orig = Color(0.15686275, 0.1764706, 0.19215687, 1) +target = Color(0.0869, 0.09960501, 0.11, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + [resource] script = ExtResource("5_yjidp") base_theme = ExtResource("3_xjelh") font_color_swaps = Array[ExtResource("4_0efyb")]([SubResource("Resource_silay"), SubResource("Resource_eavso"), SubResource("Resource_1jhxl"), SubResource("Resource_qiwix"), SubResource("Resource_5yhcl"), SubResource("Resource_vdnfu"), SubResource("Resource_21aar"), SubResource("Resource_us4qf")]) icon_color_swaps = Array[ExtResource("4_0efyb")]([SubResource("Resource_cisvi"), SubResource("Resource_j2h7k"), SubResource("Resource_8dhbo"), SubResource("Resource_5oh4i")]) -theme_color_swaps = Array[ExtResource("4_0efyb")]([SubResource("Resource_ub5ur"), SubResource("Resource_5rv7m"), SubResource("Resource_xqbwo"), SubResource("Resource_a2t6i"), SubResource("Resource_pekt7"), SubResource("Resource_vbpcr"), SubResource("Resource_qngft"), SubResource("Resource_5mixu"), SubResource("Resource_kxmra"), SubResource("Resource_siafh"), SubResource("Resource_s732t"), SubResource("Resource_j1t84"), SubResource("Resource_g7e3b"), SubResource("Resource_oirgf"), SubResource("Resource_1pump"), SubResource("Resource_fxm05"), SubResource("Resource_mfxjg"), SubResource("Resource_upxps"), SubResource("Resource_430ei"), SubResource("Resource_svk4l"), SubResource("Resource_i62a2"), SubResource("Resource_0m7hk"), SubResource("Resource_0s6l0"), SubResource("Resource_odamo"), SubResource("Resource_baiyy"), SubResource("Resource_tcqgv")]) +theme_color_swaps = Array[ExtResource("4_0efyb")]([SubResource("Resource_ub5ur"), SubResource("Resource_5rv7m"), SubResource("Resource_xqbwo"), SubResource("Resource_a2t6i"), SubResource("Resource_pekt7"), SubResource("Resource_vbpcr"), SubResource("Resource_qngft"), SubResource("Resource_5mixu"), SubResource("Resource_kxmra"), SubResource("Resource_siafh"), SubResource("Resource_s732t"), SubResource("Resource_j1t84"), SubResource("Resource_g7e3b"), SubResource("Resource_oirgf"), SubResource("Resource_1pump"), SubResource("Resource_fxm05"), SubResource("Resource_mfxjg"), SubResource("Resource_upxps"), SubResource("Resource_430ei"), SubResource("Resource_svk4l"), SubResource("Resource_i62a2"), SubResource("Resource_0m7hk"), SubResource("Resource_0s6l0"), SubResource("Resource_odamo"), SubResource("Resource_baiyy"), SubResource("Resource_tcqgv"), SubResource("Resource_m5moq"), SubResource("Resource_dcu6r"), SubResource("Resource_wxjhn"), SubResource("Resource_5p331"), SubResource("Resource_jfdia"), SubResource("Resource_4wnip"), SubResource("Resource_xhoey"), SubResource("Resource_ek7vi"), SubResource("Resource_vl7cx"), SubResource("Resource_qv0im"), SubResource("Resource_27dwd"), SubResource("Resource_pi8e2"), SubResource("Resource_5xfna")]) diff --git a/material_maker/theme/default light.tres b/material_maker/theme/default light.tres index 4920c98fc..4cfc0359b 100644 --- a/material_maker/theme/default light.tres +++ b/material_maker/theme/default light.tres @@ -221,7 +221,7 @@ metadata/_custom_type_script = "uid://3ga2k3abkk0d" [sub_resource type="Resource" id="Resource_p6yfp"] script = ExtResource("4_rhf2q") name = "AddNodePopupList" -orig = Color(0.0980392, 0.0980392, 0.101961, 1) +orig = Color(0.11764706, 0.10980392, 0.10980392, 1) target = Color(0.821789, 0.821789, 0.821789, 1) metadata/_custom_type_script = "uid://3ga2k3abkk0d" @@ -312,7 +312,7 @@ metadata/_custom_type_script = "uid://3ga2k3abkk0d" [sub_resource type="Resource" id="Resource_5w06f"] script = ExtResource("4_rhf2q") name = "CodeEditNormal" -orig = Color(0.0980392, 0.0980392, 0.101961, 1) +orig = Color(0.08627451, 0.09803922, 0.101960786, 1) target = Color(0.804688, 0.804688, 0.804688, 1) metadata/_custom_type_script = "uid://3ga2k3abkk0d" @@ -366,7 +366,7 @@ metadata/_custom_type_script = "uid://3ga2k3abkk0d" [sub_resource type="Resource" id="Resource_wwbst"] script = ExtResource("4_rhf2q") -name = "ScrollbarGrabberHighlight" +name = "ScrollBarGrabberHighlight" orig = Color(0.9843137, 1, 1, 1) target = Color(0.2901961, 0.30980393, 0.32156864, 1) metadata/_custom_type_script = "uid://3ga2k3abkk0d" @@ -384,9 +384,79 @@ name = "RichTextLabelDefaultColor" orig = Color(1, 1, 1, 1) metadata/_custom_type_script = "uid://3ga2k3abkk0d" +[sub_resource type="Resource" id="Resource_d2i8i"] +script = ExtResource("4_rhf2q") +name = "FloatFillHover" +orig = Color(0.357, 0.357, 0.357, 1) +target = Color(0.35686275, 0.35686275, 0.35686275, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_jbrv2"] +script = ExtResource("4_rhf2q") +name = "TreeHover" +orig = Color(0.5882353, 0.6039216, 0.6039216, 1) +target = Color(0.5882353, 0.6039216, 0.6039216, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_yllg0"] +script = ExtResource("4_rhf2q") +name = "TreeHoverSelected" +orig = Color(0.59607846, 0.6039216, 0.6039216, 1) +target = Color(0.59607846, 0.6039216, 0.6039216, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_085hi"] +script = ExtResource("4_rhf2q") +name = "PopupMenuHover" +orig = Color(0.15686275, 0.1764706, 0.19215687, 1) +target = Color(0.16862746, 0.1764706, 0.19215687, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_0upd8"] +script = ExtResource("4_rhf2q") +name = "ItemListHover" +orig = Color(0.16078432, 0.16862746, 0.18431373, 1) +target = Color(0.6048, 0.6132, 0.63, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_xa7pd"] +script = ExtResource("4_rhf2q") +name = "RerouteNormal" +orig = Color(0.3137255, 0.3137255, 0.34901962, 1) +target = Color(0.3137255, 0.3137255, 0.34901962, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_3jhyj"] +script = ExtResource("4_rhf2q") +name = "RerouteSelected" +orig = Color(0.42352942, 0.42352942, 0.4627451, 1) +target = Color(0.42352942, 0.42352942, 0.4627451, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_f7xk8"] +script = ExtResource("4_rhf2q") +name = "PortalLink" +orig = Color(0.61960787, 0.49411765, 0.7254902, 1) +target = Color(0.61960787, 0.49411765, 0.7254902, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_4va63"] +script = ExtResource("4_rhf2q") +name = "NodeTitleBarBG" +orig = Color(0.49019608, 0.5058824, 0.54509807, 1) +target = Color(0.49019608, 0.5058824, 0.54509807, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + +[sub_resource type="Resource" id="Resource_6ekoh"] +script = ExtResource("4_rhf2q") +name = "AcceptDialog" +orig = Color(0.15686275, 0.1764706, 0.19215687, 1) +target = Color(0.78, 0.78, 0.78, 1) +metadata/_custom_type_script = "uid://3ga2k3abkk0d" + [resource] script = ExtResource("5_fagh3") base_theme = ExtResource("1_ugsao") font_color_swaps = Array[ExtResource("4_rhf2q")]([SubResource("Resource_silay"), SubResource("Resource_eavso"), SubResource("Resource_1jhxl"), SubResource("Resource_qiwix"), SubResource("Resource_5yhcl"), SubResource("Resource_vdnfu"), SubResource("Resource_21aar"), SubResource("Resource_us4qf"), SubResource("Resource_3wcad"), SubResource("Resource_mhcke"), SubResource("Resource_41atc")]) icon_color_swaps = Array[ExtResource("4_rhf2q")]([SubResource("Resource_cisvi"), SubResource("Resource_j2h7k"), SubResource("Resource_8dhbo"), SubResource("Resource_5oh4i")]) -theme_color_swaps = Array[ExtResource("4_rhf2q")]([SubResource("Resource_ub5ur"), SubResource("Resource_5rv7m"), SubResource("Resource_xqbwo"), SubResource("Resource_a2t6i"), SubResource("Resource_pekt7"), SubResource("Resource_vbpcr"), SubResource("Resource_qngft"), SubResource("Resource_5mixu"), SubResource("Resource_kxmra"), SubResource("Resource_siafh"), SubResource("Resource_s732t"), SubResource("Resource_j1t84"), SubResource("Resource_g7e3b"), SubResource("Resource_oirgf"), SubResource("Resource_1pump"), SubResource("Resource_fxm05"), SubResource("Resource_mfxjg"), SubResource("Resource_upxps"), SubResource("Resource_upxps"), SubResource("Resource_lk0mo"), SubResource("Resource_sgt8g"), SubResource("Resource_p6yfp"), SubResource("Resource_mntha"), SubResource("Resource_5l403"), SubResource("Resource_qx1ic"), SubResource("Resource_skxhu"), SubResource("Resource_gf74u"), SubResource("Resource_6iwcg"), SubResource("Resource_emwrq"), SubResource("Resource_g0345"), SubResource("Resource_mqr67"), SubResource("Resource_enwto"), SubResource("Resource_t0kvp"), SubResource("Resource_tw3yc"), SubResource("Resource_5w06f"), SubResource("Resource_m8hbw"), SubResource("Resource_xnhnj"), SubResource("Resource_jh8b5"), SubResource("Resource_2d8ce"), SubResource("Resource_qqxbn"), SubResource("Resource_4naeq"), SubResource("Resource_pu57y"), SubResource("Resource_wwbst"), SubResource("Resource_q74a5"), SubResource("Resource_41atc"), SubResource("Resource_kh8x1")]) +theme_color_swaps = Array[ExtResource("4_rhf2q")]([SubResource("Resource_ub5ur"), SubResource("Resource_5rv7m"), SubResource("Resource_xqbwo"), SubResource("Resource_a2t6i"), SubResource("Resource_pekt7"), SubResource("Resource_vbpcr"), SubResource("Resource_qngft"), SubResource("Resource_5mixu"), SubResource("Resource_kxmra"), SubResource("Resource_siafh"), SubResource("Resource_s732t"), SubResource("Resource_j1t84"), SubResource("Resource_g7e3b"), SubResource("Resource_oirgf"), SubResource("Resource_1pump"), SubResource("Resource_fxm05"), SubResource("Resource_mfxjg"), SubResource("Resource_upxps"), SubResource("Resource_upxps"), SubResource("Resource_lk0mo"), SubResource("Resource_sgt8g"), SubResource("Resource_p6yfp"), SubResource("Resource_mntha"), SubResource("Resource_5l403"), SubResource("Resource_qx1ic"), SubResource("Resource_skxhu"), SubResource("Resource_gf74u"), SubResource("Resource_6iwcg"), SubResource("Resource_emwrq"), SubResource("Resource_g0345"), SubResource("Resource_mqr67"), SubResource("Resource_enwto"), SubResource("Resource_t0kvp"), SubResource("Resource_tw3yc"), SubResource("Resource_5w06f"), SubResource("Resource_m8hbw"), SubResource("Resource_xnhnj"), SubResource("Resource_jh8b5"), SubResource("Resource_2d8ce"), SubResource("Resource_qqxbn"), SubResource("Resource_4naeq"), SubResource("Resource_pu57y"), SubResource("Resource_wwbst"), SubResource("Resource_q74a5"), SubResource("Resource_kh8x1"), SubResource("Resource_d2i8i"), SubResource("Resource_jbrv2"), SubResource("Resource_yllg0"), SubResource("Resource_085hi"), SubResource("Resource_0upd8"), SubResource("Resource_xa7pd"), SubResource("Resource_3jhyj"), SubResource("Resource_f7xk8"), SubResource("Resource_4va63"), SubResource("Resource_6ekoh")]) diff --git a/material_maker/theme/default.tres b/material_maker/theme/default.tres index f19d6072b..1b011bab3 100644 --- a/material_maker/theme/default.tres +++ b/material_maker/theme/default.tres @@ -9,7 +9,7 @@ content_margin_left = 6.0 content_margin_top = 6.0 content_margin_right = 6.0 content_margin_bottom = 6.0 -bg_color = Color(0.0941176, 0.0980392, 0.101961, 1) +bg_color = Color(0.15686275, 0.1764706, 0.19215687, 1) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_inl5r"] content_margin_left = 3.0 @@ -103,7 +103,7 @@ metadata/recolor = false [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_m27ao"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_oy0ko"] -bg_color = Color(0.0980392, 0.0980392, 0.101961, 1) +bg_color = Color(0.08627451, 0.09803922, 0.101960786, 1) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ck0hb"] content_margin_left = 4.0 @@ -240,7 +240,7 @@ content_margin_left = 3.0 content_margin_top = 3.0 content_margin_right = 3.0 content_margin_bottom = 3.0 -bg_color = Color(0.168627, 0.176471, 0.192157, 1) +bg_color = Color(0.16078432, 0.16862746, 0.18431373, 1) corner_radius_top_left = 3 corner_radius_top_right = 3 corner_radius_bottom_right = 3 @@ -311,8 +311,16 @@ border_width_right = 1 border_width_bottom = 1 border_color = Color(0.359069, 0.359069, 0.359069, 1) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5k62t"] +bg_color = Color(0.59607846, 0.6039216, 0.6039216, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 +corner_detail = 5 + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_agwde"] -bg_color = Color(0.0980392, 0.0980392, 0.101961, 1) +bg_color = Color(0.11764706, 0.10980392, 0.10980392, 1) [sub_resource type="AtlasTexture" id="AtlasTexture_08mel"] atlas = ExtResource("1_s43fy") @@ -995,7 +1003,7 @@ content_margin_left = 3.0 content_margin_top = 3.0 content_margin_right = 3.0 content_margin_bottom = 3.0 -bg_color = Color(0.168627, 0.176471, 0.192157, 1) +bg_color = Color(0.20784314, 0.21568628, 0.23529412, 1) corner_radius_top_left = 3 corner_radius_top_right = 3 corner_radius_bottom_right = 3 @@ -1025,6 +1033,22 @@ corner_radius_bottom_right = 3 corner_radius_bottom_left = 3 corner_detail = 4 +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vqfa7"] +bg_color = Color(0.043137256, 0.043137256, 0.047058824, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 +corner_detail = 4 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ngrf6"] +bg_color = Color(0.16862746, 0.1764706, 0.19215687, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 +corner_detail = 4 + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8sgsn"] content_margin_left = 3.0 content_margin_top = 3.0 @@ -1171,6 +1195,14 @@ shadow_size = 4 [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_iwtn1"] content_margin_left = 4.0 +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_iyaen"] +bg_color = Color(0.5882353, 0.6039216, 0.6039216, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 +corner_detail = 5 + [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yrroa"] content_margin_left = 4.0 @@ -1300,6 +1332,7 @@ LineEdit/styles/read_only = SubResource("StyleBoxFlat_k7e83") MM_AddNodePanel/base_type = &"PanelContainer" MM_AddNodePanel/styles/panel = SubResource("StyleBoxFlat_f0kci") MM_AddNodePanelList/base_type = &"ItemList" +MM_AddNodePanelList/styles/hovered_selected = SubResource("StyleBoxFlat_5k62t") MM_AddNodePanelList/styles/panel = SubResource("StyleBoxFlat_agwde") MM_CommentNode/icons/resizer = SubResource("AtlasTexture_08mel") MM_CommentNode/styles/default = SubResource("StyleBoxFlat_asgc8") @@ -1491,6 +1524,8 @@ PopupMenu/icons/unchecked_disabled = SubResource("AtlasTexture_ftwxj") PopupMenu/styles/hover = SubResource("StyleBoxFlat_fq0uc") PopupMenu/styles/panel = SubResource("StyleBoxFlat_8p2hu") PopupPanel/styles/panel = SubResource("StyleBoxFlat_rqlqa") +ProgressBar/styles/background = SubResource("StyleBoxFlat_vqfa7") +ProgressBar/styles/fill = SubResource("StyleBoxFlat_ngrf6") RichTextLabel/colors/default_color = Color(1, 1, 1, 1) SpinBox/colors/down_disabled_icon_modulate = Color(0.875, 0.875, 0.875, 0.5) SpinBox/colors/down_hover_icon_modulate = Color(1, 1, 1, 1) @@ -1529,10 +1564,14 @@ TooltipLabel/font_sizes/font_size = 15 TooltipPanel/styles/panel = SubResource("StyleBoxFlat_5rnro") Tree/colors/font_color = Color(0.7, 0.7, 0.7, 1) Tree/colors/font_disabled_color = Color(0.875, 0.875, 0.875, 0.5) +Tree/colors/font_hovered_color = Color(1, 1, 1, 1) +Tree/colors/font_hovered_selected_color = Color(1, 1, 1, 1) Tree/colors/font_selected_color = Color(1, 1, 1, 1) Tree/constants/draw_guides = 0 Tree/constants/draw_relationship_lines = 0 Tree/styles/focus = SubResource("StyleBoxEmpty_iwtn1") +Tree/styles/hovered = SubResource("StyleBoxFlat_iyaen") +Tree/styles/hovered_selected = SubResource("StyleBoxFlat_5k62t") Tree/styles/panel = SubResource("StyleBoxEmpty_yrroa") Tree/styles/selected = SubResource("StyleBoxFlat_x5l5s") Tree/styles/selected_focus = SubResource("StyleBoxFlat_x5l5s") diff --git a/material_maker/theme/enhanced_theme_system/color_swap.gd b/material_maker/theme/enhanced_theme_system/color_swap.gd index d8f313d7b..5a2403c10 100644 --- a/material_maker/theme/enhanced_theme_system/color_swap.gd +++ b/material_maker/theme/enhanced_theme_system/color_swap.gd @@ -3,11 +3,13 @@ extends Resource @export var name := "" +## Original color to be replaced @export var orig := Color(): set(val): orig = val emit_changed() +## Replacement color @export var target := Color(): set(val): target = val diff --git a/material_maker/theme/theme_utils.gd b/material_maker/theme/theme_utils.gd new file mode 100644 index 000000000..69055a92b --- /dev/null +++ b/material_maker/theme/theme_utils.gd @@ -0,0 +1,112 @@ +class_name ThemeUtils + +const LIGHT_THEME = preload("res://material_maker/theme/default light.tres") +const DARK_THEME = preload("res://material_maker/theme/default dark.tres") + +const CUSTOM_RULES : Dictionary[String, Dictionary] = { + "Main Background": { "light": -0.1, "dark": -0.5 }, + "Background": { "light": 0.3, "dark": -0.3 }, + "Grid": { "light": -0.2, "dark": 0.25 }, + "Nodes": { "light": 0.1, "dark": -0.5 }, + "Elements": { "light": -0.1, "dark": -0.15 }, + "Hover": { "light": -0.15, "dark": 0.1 }, + "Tab Selected": { "light": 0.1, "dark": -0.2 }, + "Tab Unselected": { "light": -0.1, "dark": 0.2 }, + "TreeHover": { "light": 0.2, "dark": 0.2 }, + "TreeHoverSelected": { "light": 0.1, "dark": 0.1 }, + "FloatFillHover": { "light": -0.2, "dark": 0.25, "sat": 0.5}, + "FloatFillNormal": { "light": 0.1, "dark": 0.1 }, + "AddNodePopup": { "light": -0.1, "dark": -0.3 }, + "AddNodePopupList": { "light": 0.25, "dark": -0.4 }, + "PanelMenuBackgrounds": { "light": 0.25, "dark": -0.25 }, + "PopupMenuHover": { "light": -0.2, "dark": 0.1 }, + "ItemListHover": { "light": 0.0, "dark": 0.1 }, + "RerouteNormal": { "light": -0.25, "dark": 0.1 }, + "RerouteSelected": { "light": -0.35, "dark": -0.2 }, + "PortalLink": { "light": -0.1, "dark": -0.1 }, + "ScrollBarGrabberHighlight": { "light": 0.4, "dark": 0.3 }, + "ScrollBarBG": { "alpha": 0.4 }, + "OptionEditButtonPopup": { "light": 0.25, "dark": -0.4 }, +} + +static func get_base_color(base : Color, target : Color) -> Color: + return Color.from_hsv(base.h, + lerpf(base.s, target.s, 0.2), lerpf(base.v, target.v, 0.6), target.a) + +static func process_swap_rule(i : ColorSwap, base : Color, theme_type : String) -> void: + var rule : Dictionary = CUSTOM_RULES[i.name] + + if rule.has("light") and rule.has("dark"): + var swap : float = rule[theme_type] + if swap > 0.0: + i.target = base.lightened(abs(swap)) + else: + i.target = base.darkened(abs(swap)) + + if rule.has("alpha"): + i.target.a = rule["alpha"] + elif rule.has("sat"): + if base.s > 0.0: + i.target.s *= 1.0 + rule["sat"] + i.target = i.target.clamp() + +static func get_editor_background() -> Color: + var theme_path : String = mm_globals.main_window.theme.resource_path + if "dark" in theme_path: + return Color("0b0b0c") + elif "classic" in theme_path: + return Color("1e2330") + elif "light" in theme_path: + return Color("eaeaea") + else: + var custom_base : Color = mm_globals.get_config("custom_theme_base_color") + if custom_base.get_luminance() > 0.5: + custom_base.darkened(0.2) + return custom_base.darkened(0.1) + +static func generate_custom_theme(base : Color) -> Theme: + var is_dark : bool = true + var theme : EnhancedTheme = DARK_THEME + if base.get_luminance() > 0.5: + is_dark = false + theme = LIGHT_THEME + var custom_theme : EnhancedTheme = theme.duplicate(true) + + for i : ColorSwap in custom_theme.theme_color_swaps: + var base_col : Color = get_base_color(base, i.target) + var theme_type : String = "dark" if is_dark else "light" + + if CUSTOM_RULES.has(i.name): + process_swap_rule(i, base_col, theme_type) + else: + if i.name == "NodeTitleBarBG": + if base.s > 0.0: + i.target = Color.from_hsv(base_col.h, 0.1, base_col.v, base_col.a) + elif i.name in ["RichTextLabel" ,"RichTextLabelDefaultColor", "PortGroup", + "Port Preview Color", "Node Title Color"]: + pass + elif "CodeEdit" in i.name or "Comment" in i.name: + pass + else: + i.target = base_col + + for i : ColorSwap in custom_theme.icon_color_swaps: + var base_col : Color = get_base_color(base, i.target) + match i.name: + "Secondary": + if base.s > 0.0: + if is_dark: + i.target = Color.from_hsv(base.h, 0.4, 0.9) + else: + i.target = Color.from_hsv(base.h, 0.6, 0.5) + "Hover": + i.target = base_col.darkened(0.2 if is_dark else 0.4) + + if is_dark: + RenderingServer.set_default_clear_color(base.darkened(0.3)) + else: + RenderingServer.set_default_clear_color(base.lightened(0.5)) + + custom_theme.update() + return custom_theme + diff --git a/material_maker/theme/theme_utils.gd.uid b/material_maker/theme/theme_utils.gd.uid new file mode 100644 index 000000000..8f5d700d4 --- /dev/null +++ b/material_maker/theme/theme_utils.gd.uid @@ -0,0 +1 @@ +uid://ddaudkq6l077x diff --git a/material_maker/windows/material_editor/export_editor.gd b/material_maker/windows/material_editor/export_editor.gd index 8dd1f30a8..d7f6c7068 100644 --- a/material_maker/windows/material_editor/export_editor.gd +++ b/material_maker/windows/material_editor/export_editor.gd @@ -373,10 +373,4 @@ func _on_Cancel_pressed() -> void: func _notification(what: int) -> void: match what: NOTIFICATION_THEME_CHANGED: - var theme_path : String = mm_globals.main_window.theme.resource_path - if "dark" in theme_path: - $BG.color = Color("0b0b0c") - elif "classic" in theme_path: - $BG.color = Color("1e2330") - else: - $BG.color = Color("eaeaea") + $BG.color = ThemeUtils.get_editor_background() diff --git a/material_maker/windows/node_editor/node_editor.gd b/material_maker/windows/node_editor/node_editor.gd index ab19dfc90..9ed542712 100644 --- a/material_maker/windows/node_editor/node_editor.gd +++ b/material_maker/windows/node_editor/node_editor.gd @@ -179,10 +179,4 @@ func _on_Cancel_pressed() -> void: func _notification(what: int) -> void: match what: NOTIFICATION_THEME_CHANGED: - var theme_path : String = mm_globals.main_window.theme.resource_path - if "dark" in theme_path: - $BG.color = Color("0b0b0c") - elif "classic" in theme_path: - $BG.color = Color("1e2330") - else: - $BG.color = Color("eaeaea") + $BG.color = ThemeUtils.get_editor_background() diff --git a/material_maker/windows/preferences/color_option.gd b/material_maker/windows/preferences/color_option.gd new file mode 100644 index 000000000..48e50b868 --- /dev/null +++ b/material_maker/windows/preferences/color_option.gd @@ -0,0 +1,17 @@ +class_name ColorOption +extends ColorPickerButton + +@export var config_variable : String + +func _ready() -> void: + get_popup().about_to_popup.connect(_picker_about_to_popup) + +func _picker_about_to_popup() -> void: + get_popup().content_scale_factor = get_tree().root.content_scale_factor + +func init_from_config(config : ConfigFile) -> void: + if config.has_section_key("config", config_variable): + color = config.get_value("config", config_variable) + +func update_config(config : ConfigFile) -> void: + config.set_value("config", config_variable, color) diff --git a/material_maker/windows/preferences/color_option.gd.uid b/material_maker/windows/preferences/color_option.gd.uid new file mode 100644 index 000000000..9b5aad672 --- /dev/null +++ b/material_maker/windows/preferences/color_option.gd.uid @@ -0,0 +1 @@ +uid://dw4gdy6mp8ecu diff --git a/material_maker/windows/preferences/color_option.tscn b/material_maker/windows/preferences/color_option.tscn new file mode 100644 index 000000000..63b360763 --- /dev/null +++ b/material_maker/windows/preferences/color_option.tscn @@ -0,0 +1,9 @@ +[gd_scene format=3 uid="uid://dk7ygrwx0h1k3"] + +[ext_resource type="Script" path="res://material_maker/windows/preferences/color_option.gd" id="1_nt4w0"] + +[node name="ColorOption" type="ColorPickerButton" unique_id=2141949997] +offset_right = 8.0 +offset_bottom = 8.0 +edit_alpha = false +script = ExtResource("1_nt4w0") diff --git a/material_maker/windows/preferences/preferences.tscn b/material_maker/windows/preferences/preferences.tscn index 5e33751ba..926c31202 100644 --- a/material_maker/windows/preferences/preferences.tscn +++ b/material_maker/windows/preferences/preferences.tscn @@ -1,14 +1,15 @@ -[gd_scene load_steps=8 format=3 uid="uid://c1j6a4jdggjm6"] +[gd_scene format=3 uid="uid://c1j6a4jdggjm6"] [ext_resource type="PackedScene" uid="uid://drg0s4lftblx3" path="res://material_maker/windows/preferences/bool_option.tscn" id="1"] [ext_resource type="Script" uid="uid://cwom8loyqsvf2" path="res://material_maker/windows/preferences/preferences.gd" id="2"] [ext_resource type="FontFile" uid="uid://bn648prik7soq" path="res://material_maker/theme/font_rubik/Rubik-416.ttf" id="2_vp06c"] [ext_resource type="PackedScene" uid="uid://3lo2jh781ten" path="res://material_maker/windows/preferences/float_option.tscn" id="3"] -[ext_resource type="Script" path="res://material_maker/windows/preferences/preferences_tree.gd" id="3_mlqij"] +[ext_resource type="Script" uid="uid://b6irr1ykhui6l" path="res://material_maker/windows/preferences/preferences_tree.gd" id="3_mlqij"] [ext_resource type="Script" uid="uid://gmystrme5ayw" path="res://material_maker/windows/preferences/lang_option.gd" id="4"] -[ext_resource type="Script" path="res://material_maker/windows/preferences/enum_option.gd" id="5_vp06c"] +[ext_resource type="Script" uid="uid://d3h4xmek7b2vq" path="res://material_maker/windows/preferences/enum_option.gd" id="5_vp06c"] +[ext_resource type="PackedScene" uid="uid://dk7ygrwx0h1k3" path="res://material_maker/windows/preferences/color_option.tscn" id="7_btfio"] -[node name="Preferences" type="Window"] +[node name="Preferences" type="Window" unique_id=1485489776] oversampling_override = 1.0 title = "Preferences" position = Vector2i(0, 36) @@ -16,7 +17,7 @@ size = Vector2i(700, 450) exclusive = true script = ExtResource("2") -[node name="HSplitContainer" type="HSplitContainer" parent="."] +[node name="HSplitContainer" type="HSplitContainer" parent="." unique_id=1174726703] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -24,10 +25,11 @@ grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 6 size_flags_vertical = 3 -split_offset = 100 +split_offsets = PackedInt32Array(100) dragger_visibility = 2 +split_offset = 100 -[node name="PreferenceCategory" type="MarginContainer" parent="HSplitContainer"] +[node name="PreferenceCategory" type="MarginContainer" parent="HSplitContainer" unique_id=286393547] custom_minimum_size = Vector2(86.8, 0) layout_mode = 2 theme_override_constants/margin_left = 4 @@ -35,7 +37,7 @@ theme_override_constants/margin_top = 4 theme_override_constants/margin_right = 4 theme_override_constants/margin_bottom = 4 -[node name="Tree" type="Tree" parent="HSplitContainer/PreferenceCategory" groups=["updated_from_locale"]] +[node name="Tree" type="Tree" parent="HSplitContainer/PreferenceCategory" unique_id=166368649 groups=["updated_from_locale"]] unique_name_in_owner = true layout_mode = 2 theme_override_constants/item_margin = 2 @@ -44,19 +46,19 @@ theme_override_font_sizes/font_size = 18 auto_tooltip = false script = ExtResource("3_mlqij") -[node name="PreferencesPanel" type="MarginContainer" parent="HSplitContainer"] +[node name="PreferencesPanel" type="MarginContainer" parent="HSplitContainer" unique_id=1961637900] layout_mode = 2 theme_override_constants/margin_left = 4 theme_override_constants/margin_top = 4 theme_override_constants/margin_right = 4 theme_override_constants/margin_bottom = 4 -[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel"] +[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel" unique_id=845261862] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="TabContainer" type="TabContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer"] +[node name="TabContainer" type="TabContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer" unique_id=1860024635] unique_name_in_owner = true custom_minimum_size = Vector2(289, 172) layout_mode = 2 @@ -66,54 +68,54 @@ current_tab = 0 tabs_visible = false use_hidden_tabs_for_min_size = true -[node name="General" type="ScrollContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer"] +[node name="General" type="ScrollContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer" unique_id=2068234910] layout_mode = 2 theme_type_variation = &"MM_PreferenceTab" metadata/_tab_index = 0 -[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General"] +[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General" unique_id=658708222] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="Language" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Language" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1479055401] layout_mode = 2 -[node name="Label2" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language"] +[node name="Label2" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language" unique_id=1350511582] layout_mode = 2 text = "Language" -[node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language"] +[node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language" unique_id=2111586858] layout_mode = 2 size_flags_horizontal = 10 -[node name="Language" type="OptionButton" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language/HBoxContainer"] +[node name="Language" type="OptionButton" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language/HBoxContainer" unique_id=857414086] unique_name_in_owner = true custom_minimum_size = Vector2(0, 10) layout_mode = 2 script = ExtResource("4") config_variable = "locale" -[node name="InstallLanguage" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language/HBoxContainer"] +[node name="InstallLanguage" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language/HBoxContainer" unique_id=2119465381] layout_mode = 2 text = "Install" -[node name="DownloadLanguage" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language/HBoxContainer"] +[node name="DownloadLanguage" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Language/HBoxContainer" unique_id=303573219] layout_mode = 2 text = "Download" -[node name="Spacer1" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Spacer1" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1316009745] custom_minimum_size = Vector2(0, 10) layout_mode = 2 -[node name="ConfirmQuit" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="ConfirmQuit" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1285880409] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/ConfirmQuit"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/ConfirmQuit" unique_id=1605272853] layout_mode = 2 text = "Confirm when quitting the application" -[node name="ConfirmQuit" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/ConfirmQuit" instance=ExtResource("1")] +[node name="ConfirmQuit" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/ConfirmQuit" unique_id=874582637 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -121,14 +123,14 @@ text = "On" flat = false config_variable = "confirm_quit" -[node name="ConfirmCloseProject" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="ConfirmCloseProject" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=774719060] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/ConfirmCloseProject"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/ConfirmCloseProject" unique_id=1032437186] layout_mode = 2 text = "Confirm when closing a project" -[node name="ConfirmCloseProject" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/ConfirmCloseProject" instance=ExtResource("1")] +[node name="ConfirmCloseProject" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/ConfirmCloseProject" unique_id=971810941 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -136,18 +138,18 @@ text = "On" flat = false config_variable = "confirm_close_project" -[node name="Spacer2" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Spacer2" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1722651339] custom_minimum_size = Vector2(0, 10) layout_mode = 2 -[node name="GuiScale" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="GuiScale" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=2126676788] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiScale"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiScale" unique_id=1996674525] layout_mode = 2 text = "UI scale (0 = auto)" -[node name="GuiScale" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiScale" instance=ExtResource("3")] +[node name="GuiScale" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiScale" unique_id=279365120 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -157,15 +159,32 @@ max_value = 2.0 step = 0.01 float_only = true -[node name="GuiUseNativeFileDialogs" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="GuiCustomThemeBase" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=289210759] +layout_mode = 2 + +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiCustomThemeBase" unique_id=1673945173] +layout_mode = 2 +mouse_filter = 1 +text = "Custom theme base color" + +[node name="GuiCustomThemeBase" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiCustomThemeBase" unique_id=2141949997 instance=ExtResource("7_btfio")] +custom_minimum_size = Vector2(200, 24) +layout_mode = 2 +size_flags_horizontal = 10 +tooltip_text = "Base color used for the custom theme" +color = Color(0.5294118, 0.46666667, 0.6862745, 1) +edit_intensity = false +config_variable = "custom_theme_base_color" + +[node name="GuiUseNativeFileDialogs" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1149136654] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiUseNativeFileDialogs"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiUseNativeFileDialogs" unique_id=1129305370] layout_mode = 2 mouse_filter = 1 text = "Use native file dialogs" -[node name="GuiUseNativeFileDialogs" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiUseNativeFileDialogs" instance=ExtResource("1")] +[node name="GuiUseNativeFileDialogs" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/GuiUseNativeFileDialogs" unique_id=563431272 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -174,15 +193,15 @@ text = "On" flat = false config_variable = "ui_use_native_file_dialogs" -[node name="DialogDimBackground" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="DialogDimBackground" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1934506593] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/DialogDimBackground"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/DialogDimBackground" unique_id=1956286688] layout_mode = 2 mouse_filter = 1 text = "Dim background when showing dialogs" -[node name="DialogDimBackground" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/DialogDimBackground" instance=ExtResource("1")] +[node name="DialogDimBackground" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/DialogDimBackground" unique_id=1962601340 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -191,19 +210,19 @@ text = "On" flat = false config_variable = "dialog_dim_background" -[node name="Spacer5" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Spacer5" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1594242780] custom_minimum_size = Vector2(0, 10) layout_mode = 2 -[node name="Gui3DPreviewResolution" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Gui3DPreviewResolution" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=561414326] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewResolution"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewResolution" unique_id=253989362] layout_mode = 2 mouse_filter = 1 text = "3D preview resolution" -[node name="Gui3DPreviewResolution" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewResolution" instance=ExtResource("3")] +[node name="Gui3DPreviewResolution" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewResolution" unique_id=1753416973 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -215,15 +234,15 @@ max_value = 2.5 step = 0.1 float_only = true -[node name="Gui3DPreviewTesselationDetail" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Gui3DPreviewTesselationDetail" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1013893565] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewTesselationDetail"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewTesselationDetail" unique_id=1307408431] layout_mode = 2 mouse_filter = 1 text = "3D preview tesselation detail" -[node name="Gui3DPreviewTesselationDetail" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewTesselationDetail" instance=ExtResource("3")] +[node name="Gui3DPreviewTesselationDetail" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewTesselationDetail" unique_id=559499100 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -237,14 +256,14 @@ max_value = 1024.0 step = 1.0 float_only = true -[node name="Gui3DPreviewSunShadow" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Gui3DPreviewSunShadow" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1290542739] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewSunShadow"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewSunShadow" unique_id=612719374] layout_mode = 2 text = "3D preview sun shadow (requires restart)" -[node name="Gui3DPreviewSunShadow" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewSunShadow" instance=ExtResource("1")] +[node name="Gui3DPreviewSunShadow" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/Gui3DPreviewSunShadow" unique_id=1407900697 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -255,20 +274,20 @@ text = "On" flat = false config_variable = "ui_3d_preview_sun_shadow" -[node name="WinTabletDriverSpacer" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="WinTabletDriverSpacer" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1163962528] unique_name_in_owner = true custom_minimum_size = Vector2(0, 10) layout_mode = 2 -[node name="WinTabletDriver" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="WinTabletDriver" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=628638669] unique_name_in_owner = true layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/WinTabletDriver"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/WinTabletDriver" unique_id=1879179958] layout_mode = 2 text = "Tablet Driver" -[node name="EnumOption" type="OptionButton" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/WinTabletDriver"] +[node name="EnumOption" type="OptionButton" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/WinTabletDriver" unique_id=1162388229] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -288,18 +307,18 @@ popup/item_2/id = 2 script = ExtResource("5_vp06c") config_variable = "win_tablet_driver" -[node name="Spacer3" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Spacer3" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=766986110] custom_minimum_size = Vector2(0, 10) layout_mode = 2 -[node name="EnableVSync" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="EnableVSync" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=574499111] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/EnableVSync"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/EnableVSync" unique_id=1014933471] layout_mode = 2 text = "VSync" -[node name="EnableVSync" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/EnableVSync" instance=ExtResource("1")] +[node name="EnableVSync" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/EnableVSync" unique_id=961003235 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -307,14 +326,14 @@ text = "On" flat = false config_variable = "vsync" -[node name="FPSLimit" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="FPSLimit" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1105745373] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/FPSLimit"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/FPSLimit" unique_id=189696828] layout_mode = 2 text = "FPS Limit" -[node name="FPSLimit" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/FPSLimit" instance=ExtResource("3")] +[node name="FPSLimit" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/FPSLimit" unique_id=1998631115 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -327,10 +346,10 @@ max_value = 200.0 step = 1.0 float_only = true -[node name="IdleFPSLimit" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="IdleFPSLimit" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1597736868] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/IdleFPSLimit"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/IdleFPSLimit" unique_id=876350972] layout_mode = 2 size_flags_horizontal = 0 tooltip_text = "FPS limit to use when window isn't focused to save CPU/GPU resources. @@ -338,7 +357,7 @@ Lower values may help reducing power usage, but could increase response time whe mouse_filter = 1 text = "Idle FPS limit" -[node name="IdleFPSLimit" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/IdleFPSLimit" instance=ExtResource("3")] +[node name="IdleFPSLimit" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer/IdleFPSLimit" unique_id=439141317 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -351,28 +370,28 @@ max_value = 20.0 step = 1.0 float_only = true -[node name="Spacer4" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer"] +[node name="Spacer4" type="Control" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/General/VBoxContainer" unique_id=1352983178] custom_minimum_size = Vector2(0, 10) layout_mode = 2 -[node name="Bake" type="ScrollContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer"] +[node name="Bake" type="ScrollContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer" unique_id=920599177] visible = false layout_mode = 2 theme_type_variation = &"MM_PreferenceTab" metadata/_tab_index = 1 -[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake"] +[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake" unique_id=1315078898] layout_mode = 2 size_flags_horizontal = 3 -[node name="RayCount" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer"] +[node name="RayCount" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer" unique_id=1427021470] layout_mode = 2 -[node name="LabelRayCount" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayCount"] +[node name="LabelRayCount" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayCount" unique_id=954037537] layout_mode = 2 text = "Ray Count" -[node name="RayCount" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayCount" instance=ExtResource("3")] +[node name="RayCount" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayCount" unique_id=1172002894 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -383,14 +402,14 @@ max_value = 256.0 step = 1.0 float_only = true -[node name="RayLength" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer"] +[node name="RayLength" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer" unique_id=1950012793] layout_mode = 2 -[node name="LabelRayLength" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayLength"] +[node name="LabelRayLength" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayLength" unique_id=111957692] layout_mode = 2 text = "Ray Length" -[node name="RayLength" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayLength" instance=ExtResource("3")] +[node name="RayLength" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayLength" unique_id=1413033912 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -401,14 +420,14 @@ max_value = 1024.0 step = 1.0 float_only = true -[node name="RayBias" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer"] +[node name="RayBias" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer" unique_id=536518833] layout_mode = 2 -[node name="LabelRayBias" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayBias"] +[node name="LabelRayBias" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayBias" unique_id=1083840008] layout_mode = 2 text = "Ray Bias" -[node name="RayBias" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayBias" instance=ExtResource("3")] +[node name="RayBias" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/RayBias" unique_id=2045844420 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -418,14 +437,14 @@ max_value = 1024.0 step = 0.001 float_only = true -[node name="DenoiseRadius" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer"] +[node name="DenoiseRadius" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer" unique_id=1474892575] layout_mode = 2 -[node name="LabelDenoiseRadius" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/DenoiseRadius"] +[node name="LabelDenoiseRadius" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/DenoiseRadius" unique_id=155541771] layout_mode = 2 text = "Denoise Radius" -[node name="DenoiseRadius" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/DenoiseRadius" instance=ExtResource("3")] +[node name="DenoiseRadius" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Bake/VBoxContainer/DenoiseRadius" unique_id=1220678992 instance=ExtResource("3")] custom_minimum_size = Vector2(200, 24) layout_mode = 2 size_flags_horizontal = 10 @@ -436,24 +455,24 @@ max_value = 10.0 step = 1.0 float_only = true -[node name="Graph" type="ScrollContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer"] +[node name="Graph" type="ScrollContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer" unique_id=93125428] visible = false layout_mode = 2 theme_type_variation = &"MM_PreferenceTab" metadata/_tab_index = 2 -[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph"] +[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph" unique_id=1298462494] layout_mode = 2 size_flags_horizontal = 3 -[node name="AutoSizeComment" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer"] +[node name="AutoSizeComment" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer" unique_id=400614318] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/AutoSizeComment"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/AutoSizeComment" unique_id=1364859207] layout_mode = 2 text = "Auto size comment node to selection" -[node name="AutoSizeComment" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/AutoSizeComment" instance=ExtResource("1")] +[node name="AutoSizeComment" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/AutoSizeComment" unique_id=1915437259 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -461,14 +480,14 @@ text = "On" flat = false config_variable = "auto_size_comment" -[node name="NodeMinimizeButton" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer"] +[node name="NodeMinimizeButton" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer" unique_id=612661497] layout_mode = 2 -[node name="LabelNodeMinBtn" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/NodeMinimizeButton"] +[node name="LabelNodeMinBtn" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/NodeMinimizeButton" unique_id=1133726698] layout_mode = 2 text = "Show minimize button on nodes" -[node name="NodeMinimizeButton" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/NodeMinimizeButton" instance=ExtResource("1")] +[node name="NodeMinimizeButton" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/NodeMinimizeButton" unique_id=1550510635 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -478,14 +497,14 @@ text = "On" flat = false config_variable = "node_minimize_button" -[node name="NodeCloseButton" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer"] +[node name="NodeCloseButton" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer" unique_id=1957422900] layout_mode = 2 -[node name="LabelNodeCloseButton" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/NodeCloseButton"] +[node name="LabelNodeCloseButton" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/NodeCloseButton" unique_id=2035093370] layout_mode = 2 text = "Show close button on nodes" -[node name="NodeCloseButton" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/NodeCloseButton" instance=ExtResource("1")] +[node name="NodeCloseButton" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Graph/VBoxContainer/NodeCloseButton" unique_id=1771781945 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -494,24 +513,24 @@ text = "On" flat = false config_variable = "node_close_button" -[node name="Export" type="ScrollContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer"] +[node name="Export" type="ScrollContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer" unique_id=1126583209] visible = false layout_mode = 2 theme_type_variation = &"MM_PreferenceTab" metadata/_tab_index = 3 -[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Export"] +[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Export" unique_id=2033999991] layout_mode = 2 size_flags_horizontal = 3 -[node name="RememberAnimExport" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Export/VBoxContainer"] +[node name="RememberAnimExport" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Export/VBoxContainer" unique_id=289518700] layout_mode = 2 -[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Export/VBoxContainer/RememberAnimExport"] +[node name="Label" type="Label" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Export/VBoxContainer/RememberAnimExport" unique_id=1426984449] layout_mode = 2 text = "Remember last animation export settings" -[node name="RememberAnimExport" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Export/VBoxContainer/RememberAnimExport" instance=ExtResource("1")] +[node name="RememberAnimExport" parent="HSplitContainer/PreferencesPanel/VBoxContainer/TabContainer/Export/VBoxContainer/RememberAnimExport" unique_id=1515772997 instance=ExtResource("1")] custom_minimum_size = Vector2(200, 0) layout_mode = 2 size_flags_horizontal = 10 @@ -520,27 +539,27 @@ text = "On" flat = false config_variable = "remember_anim_export" -[node name="MarginContainer" type="MarginContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer"] +[node name="MarginContainer" type="MarginContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer" unique_id=845302224] layout_mode = 2 theme_override_constants/margin_top = 4 theme_override_constants/margin_right = 4 theme_override_constants/margin_bottom = 4 -[node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/MarginContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="HSplitContainer/PreferencesPanel/VBoxContainer/MarginContainer" unique_id=373445366] layout_mode = 2 size_flags_horizontal = 8 -[node name="Apply" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/MarginContainer/HBoxContainer"] +[node name="Apply" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/MarginContainer/HBoxContainer" unique_id=448049987] custom_minimum_size = Vector2(80, 0) layout_mode = 2 text = "Apply" -[node name="OK" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/MarginContainer/HBoxContainer"] +[node name="OK" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/MarginContainer/HBoxContainer" unique_id=1660138565] custom_minimum_size = Vector2(80, 0) layout_mode = 2 text = "OK" -[node name="Cancel" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/MarginContainer/HBoxContainer"] +[node name="Cancel" type="Button" parent="HSplitContainer/PreferencesPanel/VBoxContainer/MarginContainer/HBoxContainer" unique_id=2145280393] custom_minimum_size = Vector2(80, 0) layout_mode = 2 text = "Cancel" diff --git a/material_maker/windows/progress_window/progress_window.gd b/material_maker/windows/progress_window/progress_window.gd index 5a06e1b8f..8a1c711cc 100644 --- a/material_maker/windows/progress_window/progress_window.gd +++ b/material_maker/windows/progress_window/progress_window.gd @@ -2,6 +2,7 @@ extends Popup func _ready() -> void: content_scale_factor = mm_globals.main_window.get_window().content_scale_factor + theme = mm_globals.main_window.theme popup_centered() func set_text(t) -> void: