|
@@ -633,6 +633,16 @@ void EditorThemeManager::_create_shared_styles(const Ref<EditorTheme> &p_theme,
|
|
|
// in 4.0, and even if it was, it may not always work in practice (e.g. running with compositing disabled).
|
|
|
p_config.popup_style->set_corner_radius_all(0);
|
|
|
|
|
|
+ p_config.popup_border_style = p_config.popup_style->duplicate();
|
|
|
+ p_config.popup_border_style->set_content_margin_all(MAX(Math::round(EDSCALE), p_config.border_width) + 2 + (p_config.base_margin * 1.5) * EDSCALE);
|
|
|
+ // Always display a border for popups like PopupMenus so they can be distinguished from their background.
|
|
|
+ p_config.popup_border_style->set_border_width_all(MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
+ if (p_config.draw_extra_borders) {
|
|
|
+ p_config.popup_border_style->set_border_color(p_config.extra_border_color_2);
|
|
|
+ } else {
|
|
|
+ p_config.popup_border_style->set_border_color(p_config.dark_color_2);
|
|
|
+ }
|
|
|
+
|
|
|
p_config.window_style = p_config.popup_style->duplicate();
|
|
|
p_config.window_style->set_border_color(p_config.base_color);
|
|
|
p_config.window_style->set_border_width(SIDE_TOP, 24 * EDSCALE);
|
|
@@ -707,7 +717,7 @@ void EditorThemeManager::_populate_standard_styles(const Ref<EditorTheme> &p_the
|
|
|
}
|
|
|
|
|
|
// PopupPanel
|
|
|
- p_theme->set_stylebox(SceneStringName(panel), "PopupPanel", p_config.popup_style);
|
|
|
+ p_theme->set_stylebox(SceneStringName(panel), "PopupPanel", p_config.popup_border_style);
|
|
|
}
|
|
|
|
|
|
// Buttons.
|
|
@@ -1310,18 +1320,11 @@ void EditorThemeManager::_populate_standard_styles(const Ref<EditorTheme> &p_the
|
|
|
|
|
|
// PopupMenu.
|
|
|
{
|
|
|
- Ref<StyleBoxFlat> style_popup_menu = p_config.popup_style->duplicate();
|
|
|
+ Ref<StyleBoxFlat> style_popup_menu = p_config.popup_border_style->duplicate();
|
|
|
// Use 1 pixel for the sides, since if 0 is used, the highlight of hovered items is drawn
|
|
|
// on top of the popup border. This causes a 'gap' in the panel border when an item is highlighted,
|
|
|
// and it looks weird. 1px solves this.
|
|
|
- style_popup_menu->set_content_margin_individual(EDSCALE, 2 * EDSCALE, EDSCALE, 2 * EDSCALE);
|
|
|
- // Always display a border for PopupMenus so they can be distinguished from their background.
|
|
|
- style_popup_menu->set_border_width_all(EDSCALE);
|
|
|
- if (p_config.draw_extra_borders) {
|
|
|
- style_popup_menu->set_border_color(p_config.extra_border_color_2);
|
|
|
- } else {
|
|
|
- style_popup_menu->set_border_color(p_config.dark_color_2);
|
|
|
- }
|
|
|
+ style_popup_menu->set_content_margin_individual(Math::round(EDSCALE), 2 * EDSCALE, Math::round(EDSCALE), 2 * EDSCALE);
|
|
|
p_theme->set_stylebox(SceneStringName(panel), "PopupMenu", style_popup_menu);
|
|
|
|
|
|
Ref<StyleBoxFlat> style_menu_hover = p_config.button_style_hover->duplicate();
|
|
@@ -1331,17 +1334,17 @@ void EditorThemeManager::_populate_standard_styles(const Ref<EditorTheme> &p_the
|
|
|
|
|
|
Ref<StyleBoxLine> style_popup_separator(memnew(StyleBoxLine));
|
|
|
style_popup_separator->set_color(p_config.separator_color);
|
|
|
- style_popup_separator->set_grow_begin(p_config.popup_margin - MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
- style_popup_separator->set_grow_end(p_config.popup_margin - MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
+ style_popup_separator->set_grow_begin(Math::round(EDSCALE) - MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
+ style_popup_separator->set_grow_end(Math::round(EDSCALE) - MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
style_popup_separator->set_thickness(MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
|
|
|
Ref<StyleBoxLine> style_popup_labeled_separator_left(memnew(StyleBoxLine));
|
|
|
- style_popup_labeled_separator_left->set_grow_begin(p_config.popup_margin - MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
+ style_popup_labeled_separator_left->set_grow_begin(Math::round(EDSCALE) - MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
style_popup_labeled_separator_left->set_color(p_config.separator_color);
|
|
|
style_popup_labeled_separator_left->set_thickness(MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
|
|
|
Ref<StyleBoxLine> style_popup_labeled_separator_right(memnew(StyleBoxLine));
|
|
|
- style_popup_labeled_separator_right->set_grow_end(p_config.popup_margin - MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
+ style_popup_labeled_separator_right->set_grow_end(Math::round(EDSCALE) - MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
style_popup_labeled_separator_right->set_color(p_config.separator_color);
|
|
|
style_popup_labeled_separator_right->set_thickness(MAX(Math::round(EDSCALE), p_config.border_width));
|
|
|
|
|
@@ -2114,21 +2117,6 @@ void EditorThemeManager::_populate_editor_styles(const Ref<EditorTheme> &p_theme
|
|
|
|
|
|
// EditorValidationPanel.
|
|
|
p_theme->set_stylebox(SceneStringName(panel), "EditorValidationPanel", p_config.tree_panel_style);
|
|
|
-
|
|
|
- // ControlEditor.
|
|
|
- {
|
|
|
- p_theme->set_type_variation("ControlEditorPopupPanel", "PopupPanel");
|
|
|
-
|
|
|
- Ref<StyleBoxFlat> control_editor_popup_style = p_config.popup_style->duplicate();
|
|
|
- control_editor_popup_style->set_shadow_size(0);
|
|
|
- control_editor_popup_style->set_content_margin(SIDE_LEFT, p_config.base_margin * EDSCALE);
|
|
|
- control_editor_popup_style->set_content_margin(SIDE_TOP, p_config.base_margin * EDSCALE);
|
|
|
- control_editor_popup_style->set_content_margin(SIDE_RIGHT, p_config.base_margin * EDSCALE);
|
|
|
- control_editor_popup_style->set_content_margin(SIDE_BOTTOM, p_config.base_margin * EDSCALE);
|
|
|
- control_editor_popup_style->set_border_width_all(0);
|
|
|
-
|
|
|
- p_theme->set_stylebox(SceneStringName(panel), "ControlEditorPopupPanel", control_editor_popup_style);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
// Editor inspector.
|