From e6db5f76c5fd95220b9a05e541d277aa7104ae43 Mon Sep 17 00:00:00 2001 From: AR-DEV-1 Date: Wed, 2 Sep 2026 15:37:56 +0300 Subject: [PATCH] Make ProjectList visually consistent with the Project Manager --- editor/project_manager/project_manager.cpp | 2 +- editor/themes/editor_theme_manager.cpp | 29 +++++++++++++++++----- editor/themes/editor_theme_manager.h | 1 + 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/editor/project_manager/project_manager.cpp b/editor/project_manager/project_manager.cpp index c39238bd15c..7a85f60e756 100644 --- a/editor/project_manager/project_manager.cpp +++ b/editor/project_manager/project_manager.cpp @@ -240,7 +240,7 @@ void ProjectManager::_update_theme(bool p_skip_creation) { main_vbox->add_theme_constant_override("separation", top_bar_separation); background_panel->add_theme_style_override(SceneStringName(panel), get_theme_stylebox(SNAME("Background"), EditorStringName(EditorStyles))); - main_view_container->add_theme_style_override(SceneStringName(panel), get_theme_stylebox(SceneStringName(panel), SNAME("TabContainer"))); + main_view_container->add_theme_style_override(SceneStringName(panel), get_theme_stylebox(SNAME("panel"), SNAME("ProjectManager"))); title_bar_logo->set_button_icon(get_editor_theme_icon(SNAME("TitleBarLogo"))); diff --git a/editor/themes/editor_theme_manager.cpp b/editor/themes/editor_theme_manager.cpp index c926883fbc2..6f366f2f775 100644 --- a/editor/themes/editor_theme_manager.cpp +++ b/editor/themes/editor_theme_manager.cpp @@ -730,6 +730,19 @@ void EditorThemeManager::_create_shared_styles(const Ref &p_theme, } else { p_config.tree_panel_style->set_border_color(p_config.dark_color_3); } + + // Project Manager panel. + + p_config.project_manager_panel_style = p_config.base_style->duplicate(); + p_config.project_manager_panel_style->set_bg_color(p_config.dark_color_1); + p_config.project_manager_panel_style->set_border_color(p_config.dark_color_2); + + if (p_config.draw_extra_borders) { + p_config.project_manager_panel_style->set_border_width_all(Math::round(EDSCALE)); + p_config.project_manager_panel_style->set_border_color(p_config.extra_border_color_1); + } else { + p_config.project_manager_panel_style->set_border_width_all(0); + } } } } @@ -1887,6 +1900,7 @@ void EditorThemeManager::_populate_editor_styles(const Ref &p_theme // Project manager. { p_theme->set_stylebox("project_list", "ProjectManager", p_config.tree_panel_style); + p_theme->set_stylebox("panel", "ProjectManager", p_config.project_manager_panel_style); p_theme->set_constant("sidebar_button_icon_separation", "ProjectManager", int(6 * EDSCALE)); p_theme->set_icon("browse_folder", "ProjectManager", p_theme->get_icon(SNAME("FolderBrowse"), EditorStringName(EditorIcons))); p_theme->set_icon("browse_file", "ProjectManager", p_theme->get_icon(SNAME("FileBrowse"), EditorStringName(EditorIcons))); @@ -1897,24 +1911,27 @@ void EditorThemeManager::_populate_editor_styles(const Ref &p_theme Ref tag = p_config.button_style->duplicate(); tag->set_bg_color(p_config.dark_theme ? tag->get_bg_color().lightened(0.2) : tag->get_bg_color().darkened(0.2)); + const int tag_corner_radius = Math::round(p_config.corner_radius * EDSCALE); tag->set_corner_radius(CORNER_TOP_LEFT, 0); tag->set_corner_radius(CORNER_BOTTOM_LEFT, 0); - tag->set_corner_radius(CORNER_TOP_RIGHT, 4); - tag->set_corner_radius(CORNER_BOTTOM_RIGHT, 4); + tag->set_corner_radius(CORNER_TOP_RIGHT, p_config.corner_radius); + tag->set_corner_radius(CORNER_BOTTOM_RIGHT, p_config.corner_radius); + tag->set_corner_radius(CORNER_TOP_RIGHT, tag_corner_radius); + tag->set_corner_radius(CORNER_BOTTOM_RIGHT, tag_corner_radius); p_theme->set_stylebox(CoreStringName(normal), "ProjectTagButton", tag); tag = p_config.button_style_hover->duplicate(); tag->set_corner_radius(CORNER_TOP_LEFT, 0); tag->set_corner_radius(CORNER_BOTTOM_LEFT, 0); - tag->set_corner_radius(CORNER_TOP_RIGHT, 4); - tag->set_corner_radius(CORNER_BOTTOM_RIGHT, 4); + tag->set_corner_radius(CORNER_TOP_RIGHT, tag_corner_radius); + tag->set_corner_radius(CORNER_BOTTOM_RIGHT, tag_corner_radius); p_theme->set_stylebox(SceneStringName(hover), "ProjectTagButton", tag); tag = p_config.button_style_pressed->duplicate(); tag->set_corner_radius(CORNER_TOP_LEFT, 0); tag->set_corner_radius(CORNER_BOTTOM_LEFT, 0); - tag->set_corner_radius(CORNER_TOP_RIGHT, 4); - tag->set_corner_radius(CORNER_BOTTOM_RIGHT, 4); + tag->set_corner_radius(CORNER_TOP_RIGHT, tag_corner_radius); + tag->set_corner_radius(CORNER_BOTTOM_RIGHT, tag_corner_radius); p_theme->set_stylebox(SceneStringName(pressed), "ProjectTagButton", tag); } } diff --git a/editor/themes/editor_theme_manager.h b/editor/themes/editor_theme_manager.h index b167e1f6a93..336e370f1c2 100644 --- a/editor/themes/editor_theme_manager.h +++ b/editor/themes/editor_theme_manager.h @@ -157,6 +157,7 @@ class EditorThemeManager { Ref panel_container_style; Ref content_panel_style; Ref tree_panel_style; + Ref project_manager_panel_style; Vector2 widget_margin;