You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Add focus font color to Button and derivatives
This commit is contained in:
@@ -119,6 +119,9 @@
|
|||||||
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
|
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
|
||||||
Text [Color] used when the [Button] is disabled.
|
Text [Color] used when the [Button] is disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
<theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
|
Text [Color] used when the [Button] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
|
||||||
|
</theme_item>
|
||||||
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
Text [Color] used when the [Button] is being hovered.
|
Text [Color] used when the [Button] is being hovered.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
@@ -143,6 +146,9 @@
|
|||||||
<theme_item name="icon_disabled_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
<theme_item name="icon_disabled_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
||||||
Icon modulate [Color] used when the [Button] is disabled.
|
Icon modulate [Color] used when the [Button] is disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
<theme_item name="icon_focus_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
||||||
|
Icon modulate [Color] used when the [Button] is focused. Only replaces the normal modulate color of the button. Disabled, hovered, and pressed states take precedence over this color.
|
||||||
|
</theme_item>
|
||||||
<theme_item name="icon_hover_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
<theme_item name="icon_hover_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
||||||
Icon modulate [Color] used when the [Button] is being hovered.
|
Icon modulate [Color] used when the [Button] is being hovered.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
The check icon to display when the [CheckBox] is checked.
|
The check icon to display when the [CheckBox] is checked.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
<theme_item name="checked_disabled" data_type="icon" type="Texture2D">
|
<theme_item name="checked_disabled" data_type="icon" type="Texture2D">
|
||||||
|
The check icon to display when the [CheckBox] is checked and disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
<theme_item name="disabled" data_type="style" type="StyleBox">
|
<theme_item name="disabled" data_type="style" type="StyleBox">
|
||||||
The [StyleBox] to display as a background when the [CheckBox] is disabled.
|
The [StyleBox] to display as a background when the [CheckBox] is disabled.
|
||||||
@@ -37,6 +38,9 @@
|
|||||||
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
|
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
|
||||||
The [CheckBox] text's font color when it's disabled.
|
The [CheckBox] text's font color when it's disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
<theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
|
The [CheckBox] text's font color when it's focused. Only replaces the normal text color of the checkbox. Disabled, hovered, and pressed states take precedence over this color.
|
||||||
|
</theme_item>
|
||||||
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
The [CheckBox] text's font color when it's hovered.
|
The [CheckBox] text's font color when it's hovered.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
@@ -84,6 +88,7 @@
|
|||||||
The check icon to display when the [CheckBox] is unchecked.
|
The check icon to display when the [CheckBox] is unchecked.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
<theme_item name="unchecked_disabled" data_type="icon" type="Texture2D">
|
<theme_item name="unchecked_disabled" data_type="icon" type="Texture2D">
|
||||||
|
The check icon to display when the [CheckBox] is unchecked and disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
</theme_items>
|
</theme_items>
|
||||||
</class>
|
</class>
|
||||||
|
|||||||
@@ -32,6 +32,9 @@
|
|||||||
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
|
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
|
||||||
The [CheckButton] text's font color when it's disabled.
|
The [CheckButton] text's font color when it's disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
<theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
|
The [CheckButton] text's font color when it's focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
|
||||||
|
</theme_item>
|
||||||
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
The [CheckButton] text's font color when it's hovered.
|
The [CheckButton] text's font color when it's hovered.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
|||||||
@@ -74,6 +74,9 @@
|
|||||||
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.3)">
|
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.3)">
|
||||||
Text [Color] used when the [ColorPickerButton] is disabled.
|
Text [Color] used when the [ColorPickerButton] is disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
<theme_item name="font_focus_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
||||||
|
Text [Color] used when the [ColorPickerButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
|
||||||
|
</theme_item>
|
||||||
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
|
||||||
Text [Color] used when the [ColorPickerButton] is being hovered.
|
Text [Color] used when the [ColorPickerButton] is being hovered.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
|||||||
@@ -75,6 +75,9 @@
|
|||||||
<theme_item name="font_color" data_type="color" type="Color" default="Color(0.88, 0.88, 0.88, 1)">
|
<theme_item name="font_color" data_type="color" type="Color" default="Color(0.88, 0.88, 0.88, 1)">
|
||||||
Default text [Color] of the [LinkButton].
|
Default text [Color] of the [LinkButton].
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
<theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
|
Text [Color] used when the [LinkButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
|
||||||
|
</theme_item>
|
||||||
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
Text [Color] used when the [LinkButton] is being hovered.
|
Text [Color] used when the [LinkButton] is being hovered.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
|||||||
@@ -58,6 +58,9 @@
|
|||||||
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(1, 1, 1, 0.3)">
|
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(1, 1, 1, 0.3)">
|
||||||
Text [Color] used when the [MenuButton] is disabled.
|
Text [Color] used when the [MenuButton] is disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
<theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
|
Text [Color] used when the [MenuButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
|
||||||
|
</theme_item>
|
||||||
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
Text [Color] used when the [MenuButton] is being hovered.
|
Text [Color] used when the [MenuButton] is being hovered.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
|||||||
@@ -209,6 +209,9 @@
|
|||||||
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
|
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
|
||||||
Text [Color] used when the [OptionButton] is disabled.
|
Text [Color] used when the [OptionButton] is disabled.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
<theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
|
Text [Color] used when the [OptionButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
|
||||||
|
</theme_item>
|
||||||
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
|
||||||
Text [Color] used when the [OptionButton] is being hovered.
|
Text [Color] used when the [OptionButton] is being hovered.
|
||||||
</theme_item>
|
</theme_item>
|
||||||
|
|||||||
@@ -384,6 +384,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||||||
|
|
||||||
const Color font_color = mono_color.lerp(base_color, 0.25);
|
const Color font_color = mono_color.lerp(base_color, 0.25);
|
||||||
const Color font_hover_color = mono_color.lerp(base_color, 0.125);
|
const Color font_hover_color = mono_color.lerp(base_color, 0.125);
|
||||||
|
const Color font_focus_color = mono_color.lerp(base_color, 0.125);
|
||||||
const Color font_disabled_color = Color(mono_color.r, mono_color.g, mono_color.b, 0.3);
|
const Color font_disabled_color = Color(mono_color.r, mono_color.g, mono_color.b, 0.3);
|
||||||
const Color font_readonly_color = Color(mono_color.r, mono_color.g, mono_color.b, 0.65);
|
const Color font_readonly_color = Color(mono_color.r, mono_color.g, mono_color.b, 0.65);
|
||||||
const Color selection_color = accent_color * Color(1, 1, 1, 0.4);
|
const Color selection_color = accent_color * Color(1, 1, 1, 0.4);
|
||||||
@@ -392,6 +393,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||||||
|
|
||||||
Color icon_hover_color = Color(1, 1, 1) * (dark_theme ? 1.15 : 1.45);
|
Color icon_hover_color = Color(1, 1, 1) * (dark_theme ? 1.15 : 1.45);
|
||||||
icon_hover_color.a = 1.0;
|
icon_hover_color.a = 1.0;
|
||||||
|
Color icon_focus_color = icon_hover_color;
|
||||||
// Make the pressed icon color overbright because icons are not completely white on a dark theme.
|
// Make the pressed icon color overbright because icons are not completely white on a dark theme.
|
||||||
// On a light theme, icons are dark, so we need to modulate them with an even brighter color.
|
// On a light theme, icons are dark, so we need to modulate them with an even brighter color.
|
||||||
Color icon_pressed_color = accent_color * (dark_theme ? 1.15 : 3.5);
|
Color icon_pressed_color = accent_color * (dark_theme ? 1.15 : 3.5);
|
||||||
@@ -625,6 +627,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||||||
|
|
||||||
theme->set_color("font_color", "MenuButton", font_color);
|
theme->set_color("font_color", "MenuButton", font_color);
|
||||||
theme->set_color("font_hover_color", "MenuButton", font_hover_color);
|
theme->set_color("font_hover_color", "MenuButton", font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "MenuButton", font_focus_color);
|
||||||
|
|
||||||
theme->set_stylebox("MenuHover", "EditorStyles", style_widget_hover);
|
theme->set_stylebox("MenuHover", "EditorStyles", style_widget_hover);
|
||||||
|
|
||||||
@@ -637,9 +640,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||||||
|
|
||||||
theme->set_color("font_color", "Button", font_color);
|
theme->set_color("font_color", "Button", font_color);
|
||||||
theme->set_color("font_hover_color", "Button", font_hover_color);
|
theme->set_color("font_hover_color", "Button", font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "Button", font_focus_color);
|
||||||
theme->set_color("font_pressed_color", "Button", accent_color);
|
theme->set_color("font_pressed_color", "Button", accent_color);
|
||||||
theme->set_color("font_disabled_color", "Button", font_disabled_color);
|
theme->set_color("font_disabled_color", "Button", font_disabled_color);
|
||||||
theme->set_color("icon_hover_color", "Button", icon_hover_color);
|
theme->set_color("icon_hover_color", "Button", icon_hover_color);
|
||||||
|
theme->set_color("icon_focus_color", "Button", icon_focus_color);
|
||||||
theme->set_color("icon_pressed_color", "Button", icon_pressed_color);
|
theme->set_color("icon_pressed_color", "Button", icon_pressed_color);
|
||||||
|
|
||||||
// OptionButton
|
// OptionButton
|
||||||
@@ -657,9 +662,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||||||
|
|
||||||
theme->set_color("font_color", "OptionButton", font_color);
|
theme->set_color("font_color", "OptionButton", font_color);
|
||||||
theme->set_color("font_hover_color", "OptionButton", font_hover_color);
|
theme->set_color("font_hover_color", "OptionButton", font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "OptionButton", font_focus_color);
|
||||||
theme->set_color("font_pressed_color", "OptionButton", accent_color);
|
theme->set_color("font_pressed_color", "OptionButton", accent_color);
|
||||||
theme->set_color("font_disabled_color", "OptionButton", font_disabled_color);
|
theme->set_color("font_disabled_color", "OptionButton", font_disabled_color);
|
||||||
theme->set_color("icon_hover_color", "OptionButton", icon_hover_color);
|
theme->set_color("icon_hover_color", "OptionButton", icon_hover_color);
|
||||||
|
theme->set_color("icon_focus_color", "OptionButton", icon_focus_color);
|
||||||
theme->set_icon("arrow", "OptionButton", theme->get_icon("GuiOptionArrow", "EditorIcons"));
|
theme->set_icon("arrow", "OptionButton", theme->get_icon("GuiOptionArrow", "EditorIcons"));
|
||||||
theme->set_constant("arrow_margin", "OptionButton", widget_default_margin.x - 2 * EDSCALE);
|
theme->set_constant("arrow_margin", "OptionButton", widget_default_margin.x - 2 * EDSCALE);
|
||||||
theme->set_constant("modulate_arrow", "OptionButton", true);
|
theme->set_constant("modulate_arrow", "OptionButton", true);
|
||||||
@@ -683,9 +690,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||||||
|
|
||||||
theme->set_color("font_color", "CheckButton", font_color);
|
theme->set_color("font_color", "CheckButton", font_color);
|
||||||
theme->set_color("font_hover_color", "CheckButton", font_hover_color);
|
theme->set_color("font_hover_color", "CheckButton", font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "CheckButton", font_focus_color);
|
||||||
theme->set_color("font_pressed_color", "CheckButton", accent_color);
|
theme->set_color("font_pressed_color", "CheckButton", accent_color);
|
||||||
theme->set_color("font_disabled_color", "CheckButton", font_disabled_color);
|
theme->set_color("font_disabled_color", "CheckButton", font_disabled_color);
|
||||||
theme->set_color("icon_hover_color", "CheckButton", icon_hover_color);
|
theme->set_color("icon_hover_color", "CheckButton", icon_hover_color);
|
||||||
|
theme->set_color("icon_focus_color", "CheckButton", icon_focus_color);
|
||||||
|
|
||||||
theme->set_constant("hseparation", "CheckButton", 8 * EDSCALE);
|
theme->set_constant("hseparation", "CheckButton", 8 * EDSCALE);
|
||||||
theme->set_constant("check_vadjust", "CheckButton", 0 * EDSCALE);
|
theme->set_constant("check_vadjust", "CheckButton", 0 * EDSCALE);
|
||||||
@@ -712,9 +721,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||||||
|
|
||||||
theme->set_color("font_color", "CheckBox", font_color);
|
theme->set_color("font_color", "CheckBox", font_color);
|
||||||
theme->set_color("font_hover_color", "CheckBox", font_hover_color);
|
theme->set_color("font_hover_color", "CheckBox", font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "CheckBox", font_focus_color);
|
||||||
theme->set_color("font_pressed_color", "CheckBox", accent_color);
|
theme->set_color("font_pressed_color", "CheckBox", accent_color);
|
||||||
theme->set_color("font_disabled_color", "CheckBox", font_disabled_color);
|
theme->set_color("font_disabled_color", "CheckBox", font_disabled_color);
|
||||||
theme->set_color("icon_hover_color", "CheckBox", icon_hover_color);
|
theme->set_color("icon_hover_color", "CheckBox", icon_hover_color);
|
||||||
|
theme->set_color("icon_focus_color", "CheckBox", icon_focus_color);
|
||||||
|
|
||||||
theme->set_constant("hseparation", "CheckBox", 8 * EDSCALE);
|
theme->set_constant("hseparation", "CheckBox", 8 * EDSCALE);
|
||||||
theme->set_constant("check_vadjust", "CheckBox", 0 * EDSCALE);
|
theme->set_constant("check_vadjust", "CheckBox", 0 * EDSCALE);
|
||||||
@@ -1219,6 +1230,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||||||
theme->set_stylebox("focus", "LinkButton", style_empty);
|
theme->set_stylebox("focus", "LinkButton", style_empty);
|
||||||
theme->set_color("font_color", "LinkButton", font_color);
|
theme->set_color("font_color", "LinkButton", font_color);
|
||||||
theme->set_color("font_hover_color", "LinkButton", font_hover_color);
|
theme->set_color("font_hover_color", "LinkButton", font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "LinkButton", font_focus_color);
|
||||||
theme->set_color("font_pressed_color", "LinkButton", accent_color);
|
theme->set_color("font_pressed_color", "LinkButton", accent_color);
|
||||||
theme->set_color("font_disabled_color", "LinkButton", font_disabled_color);
|
theme->set_color("font_disabled_color", "LinkButton", font_disabled_color);
|
||||||
|
|
||||||
|
|||||||
@@ -2894,9 +2894,13 @@ void TileMapEditor::_layers_selection_button_draw() {
|
|||||||
clr = get_theme_color(SNAME("font_disabled_color"));
|
clr = get_theme_color(SNAME("font_disabled_color"));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
if (layers_selection_button->has_focus()) {
|
||||||
|
clr = get_theme_color(SNAME("font_focus_color"));
|
||||||
|
} else {
|
||||||
clr = get_theme_color(SNAME("font_color"));
|
clr = get_theme_color(SNAME("font_color"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Size2 size = layers_selection_button->get_size();
|
Size2 size = layers_selection_button->get_size();
|
||||||
|
|
||||||
|
|||||||
@@ -841,9 +841,13 @@ void TileSetAtlasSourceEditor::_tile_data_editor_dropdown_button_draw() {
|
|||||||
clr = get_theme_color(SNAME("font_disabled_color"));
|
clr = get_theme_color(SNAME("font_disabled_color"));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
if (tile_data_editor_dropdown_button->has_focus()) {
|
||||||
|
clr = get_theme_color(SNAME("font_focus_color"));
|
||||||
|
} else {
|
||||||
clr = get_theme_color(SNAME("font_color"));
|
clr = get_theme_color(SNAME("font_color"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Size2 size = tile_data_editor_dropdown_button->get_size();
|
Size2 size = tile_data_editor_dropdown_button->get_size();
|
||||||
|
|
||||||
|
|||||||
@@ -111,10 +111,19 @@ void Button::_notification(int p_what) {
|
|||||||
if (!flat) {
|
if (!flat) {
|
||||||
style->draw(ci, Rect2(Point2(0, 0), size));
|
style->draw(ci, Rect2(Point2(0, 0), size));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Focus colors only take precedence over normal state.
|
||||||
|
if (has_focus()) {
|
||||||
|
color = get_theme_color(SNAME("font_focus_color"));
|
||||||
|
if (has_theme_color(SNAME("icon_focus_color"))) {
|
||||||
|
color_icon = get_theme_color(SNAME("icon_focus_color"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
color = get_theme_color(SNAME("font_color"));
|
color = get_theme_color(SNAME("font_color"));
|
||||||
if (has_theme_color(SNAME("icon_normal_color"))) {
|
if (has_theme_color(SNAME("icon_normal_color"))) {
|
||||||
color_icon = get_theme_color(SNAME("icon_normal_color"));
|
color_icon = get_theme_color(SNAME("icon_normal_color"));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} break;
|
} break;
|
||||||
case DRAW_HOVER_PRESSED: {
|
case DRAW_HOVER_PRESSED: {
|
||||||
if (has_theme_stylebox(SNAME("hover_pressed")) && has_theme_stylebox_override("hover_pressed")) {
|
if (has_theme_stylebox(SNAME("hover_pressed")) && has_theme_stylebox_override("hover_pressed")) {
|
||||||
|
|||||||
@@ -51,26 +51,32 @@ VBoxContainer *FileDialog::get_vbox() {
|
|||||||
void FileDialog::_theme_changed() {
|
void FileDialog::_theme_changed() {
|
||||||
Color font_color = vbox->get_theme_color(SNAME("font_color"), SNAME("Button"));
|
Color font_color = vbox->get_theme_color(SNAME("font_color"), SNAME("Button"));
|
||||||
Color font_hover_color = vbox->get_theme_color(SNAME("font_hover_color"), SNAME("Button"));
|
Color font_hover_color = vbox->get_theme_color(SNAME("font_hover_color"), SNAME("Button"));
|
||||||
|
Color font_focus_color = vbox->get_theme_color(SNAME("font_focus_color"), SNAME("Button"));
|
||||||
Color font_pressed_color = vbox->get_theme_color(SNAME("font_pressed_color"), SNAME("Button"));
|
Color font_pressed_color = vbox->get_theme_color(SNAME("font_pressed_color"), SNAME("Button"));
|
||||||
|
|
||||||
dir_up->add_theme_color_override("icon_normal_color", font_color);
|
dir_up->add_theme_color_override("icon_normal_color", font_color);
|
||||||
dir_up->add_theme_color_override("icon_hover_color", font_hover_color);
|
dir_up->add_theme_color_override("icon_hover_color", font_hover_color);
|
||||||
|
dir_up->add_theme_color_override("icon_focus_color", font_focus_color);
|
||||||
dir_up->add_theme_color_override("icon_pressed_color", font_pressed_color);
|
dir_up->add_theme_color_override("icon_pressed_color", font_pressed_color);
|
||||||
|
|
||||||
dir_prev->add_theme_color_override("icon_color_normal", font_color);
|
dir_prev->add_theme_color_override("icon_color_normal", font_color);
|
||||||
dir_prev->add_theme_color_override("icon_color_hover", font_hover_color);
|
dir_prev->add_theme_color_override("icon_color_hover", font_hover_color);
|
||||||
|
dir_prev->add_theme_color_override("icon_focus_color", font_focus_color);
|
||||||
dir_prev->add_theme_color_override("icon_color_pressed", font_pressed_color);
|
dir_prev->add_theme_color_override("icon_color_pressed", font_pressed_color);
|
||||||
|
|
||||||
dir_next->add_theme_color_override("icon_color_normal", font_color);
|
dir_next->add_theme_color_override("icon_color_normal", font_color);
|
||||||
dir_next->add_theme_color_override("icon_color_hover", font_hover_color);
|
dir_next->add_theme_color_override("icon_color_hover", font_hover_color);
|
||||||
|
dir_next->add_theme_color_override("icon_focus_color", font_focus_color);
|
||||||
dir_next->add_theme_color_override("icon_color_pressed", font_pressed_color);
|
dir_next->add_theme_color_override("icon_color_pressed", font_pressed_color);
|
||||||
|
|
||||||
refresh->add_theme_color_override("icon_normal_color", font_color);
|
refresh->add_theme_color_override("icon_normal_color", font_color);
|
||||||
refresh->add_theme_color_override("icon_hover_color", font_hover_color);
|
refresh->add_theme_color_override("icon_hover_color", font_hover_color);
|
||||||
|
refresh->add_theme_color_override("icon_focus_color", font_focus_color);
|
||||||
refresh->add_theme_color_override("icon_pressed_color", font_pressed_color);
|
refresh->add_theme_color_override("icon_pressed_color", font_pressed_color);
|
||||||
|
|
||||||
show_hidden->add_theme_color_override("icon_normal_color", font_color);
|
show_hidden->add_theme_color_override("icon_normal_color", font_color);
|
||||||
show_hidden->add_theme_color_override("icon_hover_color", font_hover_color);
|
show_hidden->add_theme_color_override("icon_hover_color", font_hover_color);
|
||||||
|
show_hidden->add_theme_color_override("icon_focus_color", font_focus_color);
|
||||||
show_hidden->add_theme_color_override("icon_pressed_color", font_pressed_color);
|
show_hidden->add_theme_color_override("icon_pressed_color", font_pressed_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -168,7 +168,12 @@ void LinkButton::_notification(int p_what) {
|
|||||||
|
|
||||||
switch (get_draw_mode()) {
|
switch (get_draw_mode()) {
|
||||||
case DRAW_NORMAL: {
|
case DRAW_NORMAL: {
|
||||||
|
if (has_focus()) {
|
||||||
|
color = get_theme_color(SNAME("font_focus_color"));
|
||||||
|
} else {
|
||||||
color = get_theme_color(SNAME("font_color"));
|
color = get_theme_color(SNAME("font_color"));
|
||||||
|
}
|
||||||
|
|
||||||
do_underline = underline_mode == UNDERLINE_MODE_ALWAYS;
|
do_underline = underline_mode == UNDERLINE_MODE_ALWAYS;
|
||||||
} break;
|
} break;
|
||||||
case DRAW_HOVER_PRESSED:
|
case DRAW_HOVER_PRESSED:
|
||||||
|
|||||||
@@ -71,9 +71,13 @@ void OptionButton::_notification(int p_what) {
|
|||||||
clr = get_theme_color(SNAME("font_disabled_color"));
|
clr = get_theme_color(SNAME("font_disabled_color"));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
if (has_focus()) {
|
||||||
|
clr = get_theme_color(SNAME("font_focus_color"));
|
||||||
|
} else {
|
||||||
clr = get_theme_color(SNAME("font_color"));
|
clr = get_theme_color(SNAME("font_color"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Size2 size = get_size();
|
Size2 size = get_size();
|
||||||
|
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
Color control_font_lower_color = Color(0.63, 0.63, 0.63);
|
Color control_font_lower_color = Color(0.63, 0.63, 0.63);
|
||||||
Color control_font_low_color = Color(0.69, 0.69, 0.69);
|
Color control_font_low_color = Color(0.69, 0.69, 0.69);
|
||||||
Color control_font_hover_color = Color(0.94, 0.94, 0.94);
|
Color control_font_hover_color = Color(0.94, 0.94, 0.94);
|
||||||
|
Color control_font_focus_color = Color(0.94, 0.94, 0.94);
|
||||||
Color control_font_disabled_color = Color(0.9, 0.9, 0.9, 0.2);
|
Color control_font_disabled_color = Color(0.9, 0.9, 0.9, 0.2);
|
||||||
Color control_font_pressed_color = Color(1, 1, 1);
|
Color control_font_pressed_color = Color(1, 1, 1);
|
||||||
|
|
||||||
@@ -185,6 +186,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
theme->set_color("font_color", "Button", control_font_color);
|
theme->set_color("font_color", "Button", control_font_color);
|
||||||
theme->set_color("font_pressed_color", "Button", control_font_pressed_color);
|
theme->set_color("font_pressed_color", "Button", control_font_pressed_color);
|
||||||
theme->set_color("font_hover_color", "Button", control_font_hover_color);
|
theme->set_color("font_hover_color", "Button", control_font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "Button", control_font_focus_color);
|
||||||
theme->set_color("font_hover_pressed_color", "Button", control_font_pressed_color);
|
theme->set_color("font_hover_pressed_color", "Button", control_font_pressed_color);
|
||||||
theme->set_color("font_disabled_color", "Button", control_font_disabled_color);
|
theme->set_color("font_disabled_color", "Button", control_font_disabled_color);
|
||||||
theme->set_color("font_outline_color", "Button", Color(1, 1, 1));
|
theme->set_color("font_outline_color", "Button", Color(1, 1, 1));
|
||||||
@@ -193,6 +195,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
theme->set_color("icon_pressed_color", "Button", Color(1, 1, 1, 1));
|
theme->set_color("icon_pressed_color", "Button", Color(1, 1, 1, 1));
|
||||||
theme->set_color("icon_hover_color", "Button", Color(1, 1, 1, 1));
|
theme->set_color("icon_hover_color", "Button", Color(1, 1, 1, 1));
|
||||||
theme->set_color("icon_hover_pressed_color", "Button", Color(1, 1, 1, 1));
|
theme->set_color("icon_hover_pressed_color", "Button", Color(1, 1, 1, 1));
|
||||||
|
theme->set_color("icon_focus_color", "Button", Color(1, 1, 1, 1));
|
||||||
theme->set_color("icon_disabled_color", "Button", Color(1, 1, 1, 1));
|
theme->set_color("icon_disabled_color", "Button", Color(1, 1, 1, 1));
|
||||||
|
|
||||||
theme->set_constant("hseparation", "Button", 2 * scale);
|
theme->set_constant("hseparation", "Button", 2 * scale);
|
||||||
@@ -207,6 +210,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
theme->set_color("font_color", "LinkButton", control_font_color);
|
theme->set_color("font_color", "LinkButton", control_font_color);
|
||||||
theme->set_color("font_pressed_color", "LinkButton", control_font_pressed_color);
|
theme->set_color("font_pressed_color", "LinkButton", control_font_pressed_color);
|
||||||
theme->set_color("font_hover_color", "LinkButton", control_font_hover_color);
|
theme->set_color("font_hover_color", "LinkButton", control_font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "LinkButton", control_font_focus_color);
|
||||||
theme->set_color("font_outline_color", "LinkButton", Color(1, 1, 1));
|
theme->set_color("font_outline_color", "LinkButton", Color(1, 1, 1));
|
||||||
|
|
||||||
theme->set_constant("outline_size", "LinkButton", 0);
|
theme->set_constant("outline_size", "LinkButton", 0);
|
||||||
@@ -245,6 +249,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
theme->set_color("font_color", "OptionButton", control_font_color);
|
theme->set_color("font_color", "OptionButton", control_font_color);
|
||||||
theme->set_color("font_pressed_color", "OptionButton", control_font_pressed_color);
|
theme->set_color("font_pressed_color", "OptionButton", control_font_pressed_color);
|
||||||
theme->set_color("font_hover_color", "OptionButton", control_font_hover_color);
|
theme->set_color("font_hover_color", "OptionButton", control_font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "OptionButton", control_font_focus_color);
|
||||||
theme->set_color("font_disabled_color", "OptionButton", control_font_disabled_color);
|
theme->set_color("font_disabled_color", "OptionButton", control_font_disabled_color);
|
||||||
theme->set_color("font_outline_color", "OptionButton", Color(1, 1, 1));
|
theme->set_color("font_outline_color", "OptionButton", Color(1, 1, 1));
|
||||||
|
|
||||||
@@ -266,6 +271,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
theme->set_color("font_color", "MenuButton", control_font_color);
|
theme->set_color("font_color", "MenuButton", control_font_color);
|
||||||
theme->set_color("font_pressed_color", "MenuButton", control_font_pressed_color);
|
theme->set_color("font_pressed_color", "MenuButton", control_font_pressed_color);
|
||||||
theme->set_color("font_hover_color", "MenuButton", control_font_hover_color);
|
theme->set_color("font_hover_color", "MenuButton", control_font_hover_color);
|
||||||
|
theme->set_color("font_focus_color", "MenuButton", control_font_focus_color);
|
||||||
theme->set_color("font_disabled_color", "MenuButton", Color(1, 1, 1, 0.3));
|
theme->set_color("font_disabled_color", "MenuButton", Color(1, 1, 1, 0.3));
|
||||||
theme->set_color("font_outline_color", "MenuButton", Color(1, 1, 1));
|
theme->set_color("font_outline_color", "MenuButton", Color(1, 1, 1));
|
||||||
|
|
||||||
@@ -308,6 +314,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
theme->set_color("font_pressed_color", "CheckBox", control_font_pressed_color);
|
theme->set_color("font_pressed_color", "CheckBox", control_font_pressed_color);
|
||||||
theme->set_color("font_hover_color", "CheckBox", control_font_hover_color);
|
theme->set_color("font_hover_color", "CheckBox", control_font_hover_color);
|
||||||
theme->set_color("font_hover_pressed_color", "CheckBox", control_font_pressed_color);
|
theme->set_color("font_hover_pressed_color", "CheckBox", control_font_pressed_color);
|
||||||
|
theme->set_color("font_focus_color", "CheckBox", control_font_focus_color);
|
||||||
theme->set_color("font_disabled_color", "CheckBox", control_font_disabled_color);
|
theme->set_color("font_disabled_color", "CheckBox", control_font_disabled_color);
|
||||||
theme->set_color("font_outline_color", "CheckBox", Color(1, 1, 1));
|
theme->set_color("font_outline_color", "CheckBox", Color(1, 1, 1));
|
||||||
|
|
||||||
@@ -347,6 +354,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
theme->set_color("font_pressed_color", "CheckButton", control_font_pressed_color);
|
theme->set_color("font_pressed_color", "CheckButton", control_font_pressed_color);
|
||||||
theme->set_color("font_hover_color", "CheckButton", control_font_hover_color);
|
theme->set_color("font_hover_color", "CheckButton", control_font_hover_color);
|
||||||
theme->set_color("font_hover_pressed_color", "CheckButton", control_font_pressed_color);
|
theme->set_color("font_hover_pressed_color", "CheckButton", control_font_pressed_color);
|
||||||
|
theme->set_color("font_focus_color", "CheckButton", control_font_focus_color);
|
||||||
theme->set_color("font_disabled_color", "CheckButton", control_font_disabled_color);
|
theme->set_color("font_disabled_color", "CheckButton", control_font_disabled_color);
|
||||||
theme->set_color("font_outline_color", "CheckButton", Color(1, 1, 1));
|
theme->set_color("font_outline_color", "CheckButton", Color(1, 1, 1));
|
||||||
|
|
||||||
@@ -867,6 +875,7 @@ void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const
|
|||||||
theme->set_color("font_color", "ColorPickerButton", Color(1, 1, 1, 1));
|
theme->set_color("font_color", "ColorPickerButton", Color(1, 1, 1, 1));
|
||||||
theme->set_color("font_pressed_color", "ColorPickerButton", Color(0.8, 0.8, 0.8, 1));
|
theme->set_color("font_pressed_color", "ColorPickerButton", Color(0.8, 0.8, 0.8, 1));
|
||||||
theme->set_color("font_hover_color", "ColorPickerButton", Color(1, 1, 1, 1));
|
theme->set_color("font_hover_color", "ColorPickerButton", Color(1, 1, 1, 1));
|
||||||
|
theme->set_color("font_focus_color", "ColorPickerButton", Color(1, 1, 1, 1));
|
||||||
theme->set_color("font_disabled_color", "ColorPickerButton", Color(0.9, 0.9, 0.9, 0.3));
|
theme->set_color("font_disabled_color", "ColorPickerButton", Color(0.9, 0.9, 0.9, 0.3));
|
||||||
theme->set_color("font_outline_color", "ColorPickerButton", Color(1, 1, 1));
|
theme->set_color("font_outline_color", "ColorPickerButton", Color(1, 1, 1));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user