Add EditorStringNames singleton

This commit is contained in:
kobewi 2023-08-13 02:33:39 +02:00
parent fa3428ff25
commit 6de34fde27
176 changed files with 2549 additions and 2325 deletions

View File

@ -32,6 +32,7 @@
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/event_listener_line_edit.h" #include "editor/event_listener_line_edit.h"
#include "editor/input_event_configuration_dialog.h" #include "editor/input_event_configuration_dialog.h"
#include "scene/gui/check_button.h" #include "scene/gui/check_button.h"
@ -355,7 +356,7 @@ void ActionMapEditor::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
action_list_search->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); action_list_search->set_right_icon(get_editor_theme_icon(SNAME("Search")));
if (!actions_cache.is_empty()) { if (!actions_cache.is_empty()) {
update_action_list(); update_action_list();
} }
@ -442,13 +443,13 @@ void ActionMapEditor::update_action_list(const Vector<ActionInfo> &p_action_info
bool events_eq = Shortcut::is_event_array_equal(action_info.action_initial["events"], action_info.action["events"]); bool events_eq = Shortcut::is_event_array_equal(action_info.action_initial["events"], action_info.action["events"]);
bool action_eq = deadzone_eq && events_eq; bool action_eq = deadzone_eq && events_eq;
action_item->set_meta("__action_initial", action_info.action_initial); action_item->set_meta("__action_initial", action_info.action_initial);
action_item->add_button(2, action_tree->get_theme_icon(SNAME("ReloadSmall"), SNAME("EditorIcons")), BUTTON_REVERT_ACTION, action_eq, action_eq ? TTR("Cannot Revert - Action is same as initial") : TTR("Revert Action")); action_item->add_button(2, action_tree->get_editor_theme_icon(SNAME("ReloadSmall")), BUTTON_REVERT_ACTION, action_eq, action_eq ? TTR("Cannot Revert - Action is same as initial") : TTR("Revert Action"));
} }
action_item->add_button(2, action_tree->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")), BUTTON_ADD_EVENT, false, TTR("Add Event")); action_item->add_button(2, action_tree->get_editor_theme_icon(SNAME("Add")), BUTTON_ADD_EVENT, false, TTR("Add Event"));
action_item->add_button(2, action_tree->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_ACTION, !action_info.editable, action_info.editable ? TTR("Remove Action") : TTR("Cannot Remove Action")); action_item->add_button(2, action_tree->get_editor_theme_icon(SNAME("Remove")), BUTTON_REMOVE_ACTION, !action_info.editable, action_info.editable ? TTR("Remove Action") : TTR("Cannot Remove Action"));
action_item->set_custom_bg_color(0, action_tree->get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); action_item->set_custom_bg_color(0, action_tree->get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
action_item->set_custom_bg_color(1, action_tree->get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); action_item->set_custom_bg_color(1, action_tree->get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
for (int evnt_idx = 0; evnt_idx < events.size(); evnt_idx++) { for (int evnt_idx = 0; evnt_idx < events.size(); evnt_idx++) {
Ref<InputEvent> event = events[evnt_idx]; Ref<InputEvent> event = events[evnt_idx];
@ -467,34 +468,34 @@ void ActionMapEditor::update_action_list(const Vector<ActionInfo> &p_action_info
Ref<InputEventKey> k = event; Ref<InputEventKey> k = event;
if (k.is_valid()) { if (k.is_valid()) {
if (k->get_physical_keycode() == Key::NONE && k->get_keycode() == Key::NONE && k->get_key_label() != Key::NONE) { if (k->get_physical_keycode() == Key::NONE && k->get_keycode() == Key::NONE && k->get_key_label() != Key::NONE) {
event_item->set_icon(0, action_tree->get_theme_icon(SNAME("KeyboardLabel"), SNAME("EditorIcons"))); event_item->set_icon(0, action_tree->get_editor_theme_icon(SNAME("KeyboardLabel")));
} else if (k->get_keycode() != Key::NONE) { } else if (k->get_keycode() != Key::NONE) {
event_item->set_icon(0, action_tree->get_theme_icon(SNAME("Keyboard"), SNAME("EditorIcons"))); event_item->set_icon(0, action_tree->get_editor_theme_icon(SNAME("Keyboard")));
} else if (k->get_physical_keycode() != Key::NONE) { } else if (k->get_physical_keycode() != Key::NONE) {
event_item->set_icon(0, action_tree->get_theme_icon(SNAME("KeyboardPhysical"), SNAME("EditorIcons"))); event_item->set_icon(0, action_tree->get_editor_theme_icon(SNAME("KeyboardPhysical")));
} else { } else {
event_item->set_icon(0, action_tree->get_theme_icon(SNAME("KeyboardError"), SNAME("EditorIcons"))); event_item->set_icon(0, action_tree->get_editor_theme_icon(SNAME("KeyboardError")));
} }
} }
Ref<InputEventMouseButton> mb = event; Ref<InputEventMouseButton> mb = event;
if (mb.is_valid()) { if (mb.is_valid()) {
event_item->set_icon(0, action_tree->get_theme_icon(SNAME("Mouse"), SNAME("EditorIcons"))); event_item->set_icon(0, action_tree->get_editor_theme_icon(SNAME("Mouse")));
} }
Ref<InputEventJoypadButton> jb = event; Ref<InputEventJoypadButton> jb = event;
if (jb.is_valid()) { if (jb.is_valid()) {
event_item->set_icon(0, action_tree->get_theme_icon(SNAME("JoyButton"), SNAME("EditorIcons"))); event_item->set_icon(0, action_tree->get_editor_theme_icon(SNAME("JoyButton")));
} }
Ref<InputEventJoypadMotion> jm = event; Ref<InputEventJoypadMotion> jm = event;
if (jm.is_valid()) { if (jm.is_valid()) {
event_item->set_icon(0, action_tree->get_theme_icon(SNAME("JoyAxis"), SNAME("EditorIcons"))); event_item->set_icon(0, action_tree->get_editor_theme_icon(SNAME("JoyAxis")));
} }
// Third Column - Buttons // Third Column - Buttons
event_item->add_button(2, action_tree->get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")), BUTTON_EDIT_EVENT, false, TTR("Edit Event")); event_item->add_button(2, action_tree->get_editor_theme_icon(SNAME("Edit")), BUTTON_EDIT_EVENT, false, TTR("Edit Event"));
event_item->add_button(2, action_tree->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_EVENT, false, TTR("Remove Event")); event_item->add_button(2, action_tree->get_editor_theme_icon(SNAME("Remove")), BUTTON_REMOVE_EVENT, false, TTR("Remove Event"));
event_item->set_button_color(2, 0, Color(1, 1, 1, 0.75)); event_item->set_button_color(2, 0, Color(1, 1, 1, 0.75));
event_item->set_button_color(2, 1, Color(1, 1, 1, 0.75)); event_item->set_button_color(2, 1, Color(1, 1, 1, 0.75));
} }

View File

@ -33,6 +33,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "scene/gui/view_panner.h" #include "scene/gui/view_panner.h"
#include "scene/resources/text_line.h" #include "scene/resources/text_line.h"
@ -220,9 +221,9 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
[[fallthrough]]; [[fallthrough]];
} }
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
bezier_icon = get_theme_icon(SNAME("KeyBezierPoint"), SNAME("EditorIcons")); bezier_icon = get_editor_theme_icon(SNAME("KeyBezierPoint"));
bezier_handle_icon = get_theme_icon(SNAME("KeyBezierHandle"), SNAME("EditorIcons")); bezier_handle_icon = get_editor_theme_icon(SNAME("KeyBezierHandle"));
selected_icon = get_theme_icon(SNAME("KeyBezierSelected"), SNAME("EditorIcons")); selected_icon = get_editor_theme_icon(SNAME("KeyBezierSelected"));
} break; } break;
case NOTIFICATION_DRAW: { case NOTIFICATION_DRAW: {
@ -233,7 +234,7 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
int limit = timeline->get_name_limit(); int limit = timeline->get_name_limit();
if (has_focus()) { if (has_focus()) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
accent.a *= 0.7; accent.a *= 0.7;
draw_rect(Rect2(Point2(), get_size()), accent, false, Math::round(EDSCALE)); draw_rect(Rect2(Point2(), get_size()), accent, false, Math::round(EDSCALE));
} }
@ -330,20 +331,20 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
} }
} }
Color dc = get_theme_color(SNAME("disabled_font_color"), SNAME("Editor")); Color dc = get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor));
Ref<Texture2D> remove = get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")); Ref<Texture2D> remove = get_editor_theme_icon(SNAME("Remove"));
float remove_hpos = limit - hsep - remove->get_width(); float remove_hpos = limit - hsep - remove->get_width();
Ref<Texture2D> lock = get_theme_icon(SNAME("Lock"), SNAME("EditorIcons")); Ref<Texture2D> lock = get_editor_theme_icon(SNAME("Lock"));
Ref<Texture2D> unlock = get_theme_icon(SNAME("Unlock"), SNAME("EditorIcons")); Ref<Texture2D> unlock = get_editor_theme_icon(SNAME("Unlock"));
float lock_hpos = remove_hpos - hsep - lock->get_width(); float lock_hpos = remove_hpos - hsep - lock->get_width();
Ref<Texture2D> visibility_visible = get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons")); Ref<Texture2D> visibility_visible = get_editor_theme_icon(SNAME("GuiVisibilityVisible"));
Ref<Texture2D> visibility_hidden = get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons")); Ref<Texture2D> visibility_hidden = get_editor_theme_icon(SNAME("GuiVisibilityHidden"));
float visibility_hpos = lock_hpos - hsep - visibility_visible->get_width(); float visibility_hpos = lock_hpos - hsep - visibility_visible->get_width();
Ref<Texture2D> solo = get_theme_icon(SNAME("AudioBusSolo"), SNAME("EditorIcons")); Ref<Texture2D> solo = get_editor_theme_icon(SNAME("AudioBusSolo"));
float solo_hpos = visibility_hpos - hsep - solo->get_width(); float solo_hpos = visibility_hpos - hsep - solo->get_width();
float buttons_width = remove->get_width() + lock->get_width() + visibility_visible->get_width() + solo->get_width() + hsep * 3; float buttons_width = remove->get_width() + lock->get_width() + visibility_visible->get_width() + solo->get_width() + hsep * 3;
@ -391,7 +392,7 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
subtracks[current_track] = rect; subtracks[current_track] = rect;
} else { } else {
Color ac = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color ac = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
ac.a = 0.5; ac.a = 0.5;
draw_rect(rect, ac); draw_rect(rect, ac);
if (locked_tracks.has(selected_track)) { if (locked_tracks.has(selected_track)) {
@ -441,7 +442,7 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
} }
} }
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
{ //guides { //guides
float min_left_scale = font->get_height(font_size) + vsep; float min_left_scale = font->get_height(font_size) + vsep;
@ -482,7 +483,7 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
{ //draw OTHER curves { //draw OTHER curves
float scale = timeline->get_zoom_scale(); float scale = timeline->get_zoom_scale();
Ref<Texture2D> point = get_theme_icon(SNAME("KeyValue"), SNAME("EditorIcons")); Ref<Texture2D> point = get_editor_theme_icon(SNAME("KeyValue"));
for (const KeyValue<int, Color> &E : subtrack_colors) { for (const KeyValue<int, Color> &E : subtrack_colors) {
if (hidden_tracks.has(E.key)) { if (hidden_tracks.has(E.key)) {
continue; continue;
@ -630,10 +631,10 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
} }
draw_rect( draw_rect(
Rect2(bs_from, bs_to - bs_from), Rect2(bs_from, bs_to - bs_from),
get_theme_color(SNAME("box_selection_fill_color"), SNAME("Editor"))); get_theme_color(SNAME("box_selection_fill_color"), EditorStringName(Editor)));
draw_rect( draw_rect(
Rect2(bs_from, bs_to - bs_from), Rect2(bs_from, bs_to - bs_from),
get_theme_color(SNAME("box_selection_stroke_color"), SNAME("Editor")), get_theme_color(SNAME("box_selection_stroke_color"), EditorStringName(Editor)),
false, false,
Math::round(EDSCALE)); Math::round(EDSCALE));
} }
@ -681,7 +682,7 @@ void AnimationBezierTrackEdit::_play_position_draw() {
int px = (-timeline->get_value() + play_position_pos) * scale + limit; int px = (-timeline->get_value() + play_position_pos) * scale + limit;
if (px >= limit && px < (get_size().width)) { if (px >= limit && px < (get_size().width)) {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
play_position->draw_line(Point2(px, 0), Point2(px, h), color, Math::round(2 * EDSCALE)); play_position->draw_line(Point2(px, 0), Point2(px, h), color, Math::round(2 * EDSCALE));
} }
} }
@ -945,17 +946,17 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
menu->add_icon_item(bezier_icon, TTR("Insert Key Here"), MENU_KEY_INSERT); menu->add_icon_item(bezier_icon, TTR("Insert Key Here"), MENU_KEY_INSERT);
if (selection.size()) { if (selection.size()) {
menu->add_separator(); menu->add_separator();
menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Duplicate Selected Key(s)"), MENU_KEY_DUPLICATE); menu->add_icon_item(get_editor_theme_icon(SNAME("Duplicate")), TTR("Duplicate Selected Key(s)"), MENU_KEY_DUPLICATE);
menu->add_separator(); menu->add_separator();
menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Selected Key(s)"), MENU_KEY_DELETE); menu->add_icon_item(get_editor_theme_icon(SNAME("Remove")), TTR("Delete Selected Key(s)"), MENU_KEY_DELETE);
menu->add_separator(); menu->add_separator();
menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesFree"), SNAME("EditorIcons")), TTR("Make Handles Free"), MENU_KEY_SET_HANDLE_FREE); menu->add_icon_item(get_editor_theme_icon(SNAME("BezierHandlesFree")), TTR("Make Handles Free"), MENU_KEY_SET_HANDLE_FREE);
menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesLinear"), SNAME("EditorIcons")), TTR("Make Handles Linear"), MENU_KEY_SET_HANDLE_LINEAR); menu->add_icon_item(get_editor_theme_icon(SNAME("BezierHandlesLinear")), TTR("Make Handles Linear"), MENU_KEY_SET_HANDLE_LINEAR);
menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesBalanced"), SNAME("EditorIcons")), TTR("Make Handles Balanced"), MENU_KEY_SET_HANDLE_BALANCED); menu->add_icon_item(get_editor_theme_icon(SNAME("BezierHandlesBalanced")), TTR("Make Handles Balanced"), MENU_KEY_SET_HANDLE_BALANCED);
menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesMirror"), SNAME("EditorIcons")), TTR("Make Handles Mirrored"), MENU_KEY_SET_HANDLE_MIRRORED); menu->add_icon_item(get_editor_theme_icon(SNAME("BezierHandlesMirror")), TTR("Make Handles Mirrored"), MENU_KEY_SET_HANDLE_MIRRORED);
menu->add_separator(); menu->add_separator();
menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesBalanced"), SNAME("EditorIcons")), TTR("Make Handles Balanced (Auto Tangent)"), MENU_KEY_SET_HANDLE_AUTO_BALANCED); menu->add_icon_item(get_editor_theme_icon(SNAME("BezierHandlesBalanced")), TTR("Make Handles Balanced (Auto Tangent)"), MENU_KEY_SET_HANDLE_AUTO_BALANCED);
menu->add_icon_item(get_theme_icon(SNAME("BezierHandlesMirror"), SNAME("EditorIcons")), TTR("Make Handles Mirrored (Auto Tangent)"), MENU_KEY_SET_HANDLE_AUTO_MIRRORED); menu->add_icon_item(get_editor_theme_icon(SNAME("BezierHandlesMirror")), TTR("Make Handles Mirrored (Auto Tangent)"), MENU_KEY_SET_HANDLE_AUTO_MIRRORED);
} }
if (menu->get_item_count()) { if (menu->get_item_count()) {

View File

@ -36,6 +36,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_spin_slider.h" #include "editor/gui/editor_spin_slider.h"
#include "editor/gui/scene_tree_editor.h" #include "editor/gui/scene_tree_editor.h"
@ -1304,10 +1305,10 @@ void AnimationTimelineEdit::_anim_loop_pressed() {
} }
int AnimationTimelineEdit::get_buttons_width() const { int AnimationTimelineEdit::get_buttons_width() const {
Ref<Texture2D> interp_mode = get_theme_icon(SNAME("TrackContinuous"), SNAME("EditorIcons")); Ref<Texture2D> interp_mode = get_editor_theme_icon(SNAME("TrackContinuous"));
Ref<Texture2D> interp_type = get_theme_icon(SNAME("InterpRaw"), SNAME("EditorIcons")); Ref<Texture2D> interp_type = get_editor_theme_icon(SNAME("InterpRaw"));
Ref<Texture2D> loop_type = get_theme_icon(SNAME("InterpWrapClamp"), SNAME("EditorIcons")); Ref<Texture2D> loop_type = get_editor_theme_icon(SNAME("InterpWrapClamp"));
Ref<Texture2D> remove_icon = get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")); Ref<Texture2D> remove_icon = get_editor_theme_icon(SNAME("Remove"));
Ref<Texture2D> down_icon = get_theme_icon(SNAME("select_arrow"), SNAME("Tree")); Ref<Texture2D> down_icon = get_theme_icon(SNAME("select_arrow"), SNAME("Tree"));
int total_w = interp_mode->get_width() + interp_type->get_width() + loop_type->get_width() + remove_icon->get_width(); int total_w = interp_mode->get_width() + interp_type->get_width() + loop_type->get_width() + remove_icon->get_width();
@ -1317,7 +1318,7 @@ int AnimationTimelineEdit::get_buttons_width() const {
} }
int AnimationTimelineEdit::get_name_limit() const { int AnimationTimelineEdit::get_name_limit() const {
Ref<Texture2D> hsize_icon = get_theme_icon(SNAME("Hsize"), SNAME("EditorIcons")); Ref<Texture2D> hsize_icon = get_editor_theme_icon(SNAME("Hsize"));
int limit = MAX(name_limit, add_track->get_minimum_size().width + hsize_icon->get_width()); int limit = MAX(name_limit, add_track->get_minimum_size().width + hsize_icon->get_width());
@ -1331,20 +1332,20 @@ void AnimationTimelineEdit::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
panner->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/animation_editors_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EDITOR_GET("editors/panning/simple_panning"))); panner->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/animation_editors_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EDITOR_GET("editors/panning/simple_panning")));
add_track->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); add_track->set_icon(get_editor_theme_icon(SNAME("Add")));
loop->set_icon(get_theme_icon(SNAME("Loop"), SNAME("EditorIcons"))); loop->set_icon(get_editor_theme_icon(SNAME("Loop")));
time_icon->set_texture(get_theme_icon(SNAME("Time"), SNAME("EditorIcons"))); time_icon->set_texture(get_editor_theme_icon(SNAME("Time")));
add_track->get_popup()->clear(); add_track->get_popup()->clear();
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyValue"), SNAME("EditorIcons")), TTR("Property Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyValue")), TTR("Property Track"));
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyXPosition"), SNAME("EditorIcons")), TTR("3D Position Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyXPosition")), TTR("3D Position Track"));
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyXRotation"), SNAME("EditorIcons")), TTR("3D Rotation Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyXRotation")), TTR("3D Rotation Track"));
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyXScale"), SNAME("EditorIcons")), TTR("3D Scale Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyXScale")), TTR("3D Scale Track"));
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyBlendShape"), SNAME("EditorIcons")), TTR("Blend Shape Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyBlendShape")), TTR("Blend Shape Track"));
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyCall"), SNAME("EditorIcons")), TTR("Call Method Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyCall")), TTR("Call Method Track"));
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyBezier"), SNAME("EditorIcons")), TTR("Bezier Curve Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyBezier")), TTR("Bezier Curve Track"));
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyAudio"), SNAME("EditorIcons")), TTR("Audio Playback Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyAudio")), TTR("Audio Playback Track"));
add_track->get_popup()->add_icon_item(get_theme_icon(SNAME("KeyAnimation"), SNAME("EditorIcons")), TTR("Animation Playback Track")); add_track->get_popup()->add_icon_item(get_editor_theme_icon(SNAME("KeyAnimation")), TTR("Animation Playback Track"));
} break; } break;
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
@ -1376,7 +1377,7 @@ void AnimationTimelineEdit::_notification(int p_what) {
l = 0.0001; // Avoid crashor. l = 0.0001; // Avoid crashor.
} }
Ref<Texture2D> hsize_icon = get_theme_icon(SNAME("Hsize"), SNAME("EditorIcons")); Ref<Texture2D> hsize_icon = get_editor_theme_icon(SNAME("Hsize"));
hsize_rect = Rect2(get_name_limit() - hsize_icon->get_width() - 2 * EDSCALE, (get_size().height - hsize_icon->get_height()) / 2, hsize_icon->get_width(), hsize_icon->get_height()); hsize_rect = Rect2(get_name_limit() - hsize_icon->get_width() - 2 * EDSCALE, (get_size().height - hsize_icon->get_height()) / 2, hsize_icon->get_width(), hsize_icon->get_height());
draw_texture(hsize_icon, hsize_rect.position); draw_texture(hsize_icon, hsize_rect.position);
@ -1417,7 +1418,7 @@ void AnimationTimelineEdit::_notification(int p_what) {
int end_px = (l - get_value()) * scale; int end_px = (l - get_value()) * scale;
int begin_px = -get_value() * scale; int begin_px = -get_value() * scale;
Color notimecol = get_theme_color(SNAME("dark_color_2"), SNAME("Editor")); Color notimecol = get_theme_color(SNAME("dark_color_2"), EditorStringName(Editor));
Color timecolor = color; Color timecolor = color;
timecolor.a = 0.2; timecolor.a = 0.2;
Color linecolor = color; Color linecolor = color;
@ -1553,7 +1554,7 @@ Size2 AnimationTimelineEdit::get_minimum_size() const {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
ms.height = MAX(ms.height, font->get_height(font_size)); ms.height = MAX(ms.height, font->get_height(font_size));
ms.width = get_buttons_width() + add_track->get_minimum_size().width + get_theme_icon(SNAME("Hsize"), SNAME("EditorIcons"))->get_width() + 2; ms.width = get_buttons_width() + add_track->get_minimum_size().width + get_editor_theme_icon(SNAME("Hsize"))->get_width() + 2;
return ms; return ms;
} }
@ -1602,15 +1603,15 @@ void AnimationTimelineEdit::update_values() {
switch (animation->get_loop_mode()) { switch (animation->get_loop_mode()) {
case Animation::LOOP_NONE: { case Animation::LOOP_NONE: {
loop->set_icon(get_theme_icon(SNAME("Loop"), SNAME("EditorIcons"))); loop->set_icon(get_editor_theme_icon(SNAME("Loop")));
loop->set_pressed(false); loop->set_pressed(false);
} break; } break;
case Animation::LOOP_LINEAR: { case Animation::LOOP_LINEAR: {
loop->set_icon(get_theme_icon(SNAME("Loop"), SNAME("EditorIcons"))); loop->set_icon(get_editor_theme_icon(SNAME("Loop")));
loop->set_pressed(true); loop->set_pressed(true);
} break; } break;
case Animation::LOOP_PINGPONG: { case Animation::LOOP_PINGPONG: {
loop->set_icon(get_theme_icon(SNAME("PingPongLoop"), SNAME("EditorIcons"))); loop->set_icon(get_editor_theme_icon(SNAME("PingPongLoop")));
loop->set_pressed(true); loop->set_pressed(true);
} break; } break;
default: default:
@ -1631,11 +1632,11 @@ void AnimationTimelineEdit::_play_position_draw() {
int px = (-get_value() + play_position_pos) * scale + get_name_limit(); int px = (-get_value() + play_position_pos) * scale + get_name_limit();
if (px >= get_name_limit() && px < (play_position->get_size().width - get_buttons_width())) { if (px >= get_name_limit() && px < (play_position->get_size().width - get_buttons_width())) {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
play_position->draw_line(Point2(px, 0), Point2(px, h), color, Math::round(2 * EDSCALE)); play_position->draw_line(Point2(px, 0), Point2(px, h), color, Math::round(2 * EDSCALE));
play_position->draw_texture( play_position->draw_texture(
get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TimelineIndicator")),
Point2(px - get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons"))->get_width() * 0.5, 0), Point2(px - get_editor_theme_icon(SNAME("TimelineIndicator"))->get_width() * 0.5, 0),
color); color);
} }
} }
@ -1813,7 +1814,7 @@ void AnimationTrackEdit::_notification(int p_what) {
ERR_FAIL_INDEX(track, animation->get_track_count()); ERR_FAIL_INDEX(track, animation->get_track_count());
type_icon = _get_key_type_icon(); type_icon = _get_key_type_icon();
selected_icon = get_theme_icon(SNAME("KeySelected"), SNAME("EditorIcons")); selected_icon = get_editor_theme_icon(SNAME("KeySelected"));
} break; } break;
case NOTIFICATION_DRAW: { case NOTIFICATION_DRAW: {
@ -1835,10 +1836,10 @@ void AnimationTrackEdit::_notification(int p_what) {
} }
if (has_focus()) { if (has_focus()) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
accent.a *= 0.7; accent.a *= 0.7;
// Offside so the horizontal sides aren't cutoff. // Offside so the horizontal sides aren't cutoff.
draw_style_box(get_theme_stylebox(SNAME("Focus"), SNAME("EditorStyles")), Rect2(Point2(1 * EDSCALE, 0), get_size() - Size2(1 * EDSCALE, 0))); draw_style_box(get_theme_stylebox(SNAME("Focus"), EditorStringName(EditorStyles)), Rect2(Point2(1 * EDSCALE, 0), get_size() - Size2(1 * EDSCALE, 0)));
} }
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
@ -1848,7 +1849,7 @@ void AnimationTrackEdit::_notification(int p_what) {
Color linecolor = color; Color linecolor = color;
linecolor.a = 0.2; linecolor.a = 0.2;
Color dc = get_theme_color(SNAME("disabled_font_color"), SNAME("Editor")); Color dc = get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor));
// NAMES AND ICONS // // NAMES AND ICONS //
@ -1874,7 +1875,7 @@ void AnimationTrackEdit::_notification(int p_what) {
String text; String text;
Color text_color = color; Color text_color = color;
if (node && EditorNode::get_singleton()->get_editor_selection()->is_selected(node)) { if (node && EditorNode::get_singleton()->get_editor_selection()->is_selected(node)) {
text_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); text_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
} }
if (in_group) { if (in_group) {
@ -1949,24 +1950,24 @@ void AnimationTrackEdit::_notification(int p_what) {
{ {
Ref<Texture2D> wrap_icon[2] = { Ref<Texture2D> wrap_icon[2] = {
get_theme_icon(SNAME("InterpWrapClamp"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("InterpWrapClamp")),
get_theme_icon(SNAME("InterpWrapLoop"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("InterpWrapLoop")),
}; };
Ref<Texture2D> interp_icon[5] = { Ref<Texture2D> interp_icon[5] = {
get_theme_icon(SNAME("InterpRaw"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("InterpRaw")),
get_theme_icon(SNAME("InterpLinear"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("InterpLinear")),
get_theme_icon(SNAME("InterpCubic"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("InterpCubic")),
get_theme_icon(SNAME("InterpLinearAngle"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("InterpLinearAngle")),
get_theme_icon(SNAME("InterpCubicAngle"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("InterpCubicAngle")),
}; };
Ref<Texture2D> cont_icon[3] = { Ref<Texture2D> cont_icon[3] = {
get_theme_icon(SNAME("TrackContinuous"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TrackContinuous")),
get_theme_icon(SNAME("TrackDiscrete"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TrackDiscrete")),
get_theme_icon(SNAME("TrackCapture"), SNAME("EditorIcons")) get_editor_theme_icon(SNAME("TrackCapture"))
}; };
Ref<Texture2D> blend_icon[2] = { Ref<Texture2D> blend_icon[2] = {
get_theme_icon(SNAME("UseBlendEnable"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("UseBlendEnable")),
get_theme_icon(SNAME("UseBlendDisable"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("UseBlendDisable")),
}; };
int ofs = get_size().width - timeline->get_buttons_width(); int ofs = get_size().width - timeline->get_buttons_width();
@ -2096,7 +2097,7 @@ void AnimationTrackEdit::_notification(int p_what) {
{ {
// Erase. // Erase.
Ref<Texture2D> icon = get_theme_icon(animation->track_is_compressed(track) ? SNAME("Lock") : SNAME("Remove"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(animation->track_is_compressed(track) ? SNAME("Lock") : SNAME("Remove"));
remove_rect.position.x = ofs + ((get_size().width - ofs) - icon->get_width()); remove_rect.position.x = ofs + ((get_size().width - ofs) - icon->get_width());
remove_rect.position.y = int(get_size().height - icon->get_height()) / 2; remove_rect.position.y = int(get_size().height - icon->get_height()) / 2;
@ -2117,7 +2118,7 @@ void AnimationTrackEdit::_notification(int p_what) {
} }
if (dropping_at != 0) { if (dropping_at != 0) {
Color drop_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color drop_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
if (dropping_at < 0) { if (dropping_at < 0) {
draw_line(Vector2(0, 0), Vector2(get_size().width, 0), drop_color, Math::round(EDSCALE)); draw_line(Vector2(0, 0), Vector2(get_size().width, 0), drop_color, Math::round(EDSCALE));
} else { } else {
@ -2202,7 +2203,7 @@ void AnimationTrackEdit::draw_key(int p_index, float p_pixels_sec, int p_x, bool
if (animation->track_get_type(track) == Animation::TYPE_VALUE && !Math::is_equal_approx(animation->track_get_key_transition(track, p_index), real_t(1.0))) { if (animation->track_get_type(track) == Animation::TYPE_VALUE && !Math::is_equal_approx(animation->track_get_key_transition(track, p_index), real_t(1.0))) {
// Use a different icon for keys with non-linear easing. // Use a different icon for keys with non-linear easing.
icon_to_draw = get_theme_icon(p_selected ? SNAME("KeyEasedSelected") : SNAME("KeyValueEased"), SNAME("EditorIcons")); icon_to_draw = get_editor_theme_icon(p_selected ? SNAME("KeyEasedSelected") : SNAME("KeyValueEased"));
} }
// Override type icon for invalid value keys, unless selected. // Override type icon for invalid value keys, unless selected.
@ -2210,7 +2211,7 @@ void AnimationTrackEdit::draw_key(int p_index, float p_pixels_sec, int p_x, bool
const Variant &v = animation->track_get_key_value(track, p_index); const Variant &v = animation->track_get_key_value(track, p_index);
Variant::Type valid_type = Variant::NIL; Variant::Type valid_type = Variant::NIL;
if (!_is_value_key_valid(v, valid_type)) { if (!_is_value_key_valid(v, valid_type)) {
icon_to_draw = get_theme_icon(SNAME("KeyInvalid"), SNAME("EditorIcons")); icon_to_draw = get_editor_theme_icon(SNAME("KeyInvalid"));
} }
} }
@ -2333,7 +2334,7 @@ void AnimationTrackEdit::set_animation_and_track(const Ref<Animation> &p_animati
node_path = animation->track_get_path(p_track); node_path = animation->track_get_path(p_track);
type_icon = _get_key_type_icon(); type_icon = _get_key_type_icon();
selected_icon = get_theme_icon(SNAME("KeySelected"), SNAME("EditorIcons")); selected_icon = get_editor_theme_icon(SNAME("KeySelected"));
} }
NodePath AnimationTrackEdit::get_path() const { NodePath AnimationTrackEdit::get_path() const {
@ -2341,7 +2342,7 @@ NodePath AnimationTrackEdit::get_path() const {
} }
Size2 AnimationTrackEdit::get_minimum_size() const { Size2 AnimationTrackEdit::get_minimum_size() const {
Ref<Texture2D> texture = get_theme_icon(SNAME("Object"), SNAME("EditorIcons")); Ref<Texture2D> texture = get_editor_theme_icon(SNAME("Object"));
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
int separation = get_theme_constant(SNAME("v_separation"), SNAME("ItemList")); int separation = get_theme_constant(SNAME("v_separation"), SNAME("ItemList"));
@ -2374,7 +2375,7 @@ void AnimationTrackEdit::_play_position_draw() {
int px = (-timeline->get_value() + play_position_pos) * scale + timeline->get_name_limit(); int px = (-timeline->get_value() + play_position_pos) * scale + timeline->get_name_limit();
if (px >= timeline->get_name_limit() && px < (get_size().width - timeline->get_buttons_width())) { if (px >= timeline->get_name_limit() && px < (get_size().width - timeline->get_buttons_width())) {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
play_position->draw_line(Point2(px, 0), Point2(px, h), color, Math::round(2 * EDSCALE)); play_position->draw_line(Point2(px, 0), Point2(px, h), color, Math::round(2 * EDSCALE));
} }
} }
@ -2432,15 +2433,15 @@ bool AnimationTrackEdit::_is_value_key_valid(const Variant &p_key_value, Variant
Ref<Texture2D> AnimationTrackEdit::_get_key_type_icon() const { Ref<Texture2D> AnimationTrackEdit::_get_key_type_icon() const {
const Ref<Texture2D> type_icons[9] = { const Ref<Texture2D> type_icons[9] = {
get_theme_icon(SNAME("KeyValue"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("KeyValue")),
get_theme_icon(SNAME("KeyTrackPosition"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("KeyTrackPosition")),
get_theme_icon(SNAME("KeyTrackRotation"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("KeyTrackRotation")),
get_theme_icon(SNAME("KeyTrackScale"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("KeyTrackScale")),
get_theme_icon(SNAME("KeyTrackBlendShape"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("KeyTrackBlendShape")),
get_theme_icon(SNAME("KeyCall"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("KeyCall")),
get_theme_icon(SNAME("KeyBezier"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("KeyBezier")),
get_theme_icon(SNAME("KeyAudio"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("KeyAudio")),
get_theme_icon(SNAME("KeyAnimation"), SNAME("EditorIcons")) get_editor_theme_icon(SNAME("KeyAnimation"))
}; };
return type_icons[animation->track_get_type(track)]; return type_icons[animation->track_get_type(track)];
} }
@ -2663,12 +2664,12 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
} }
menu->clear(); menu->clear();
if (animation->track_get_type(track) == Animation::TYPE_AUDIO) { if (animation->track_get_type(track) == Animation::TYPE_AUDIO) {
menu->add_icon_item(get_theme_icon(SNAME("UseBlendEnable"), SNAME("EditorIcons")), TTR("Use Blend"), MENU_USE_BLEND_ENABLED); menu->add_icon_item(get_editor_theme_icon(SNAME("UseBlendEnable")), TTR("Use Blend"), MENU_USE_BLEND_ENABLED);
menu->add_icon_item(get_theme_icon(SNAME("UseBlendDisable"), SNAME("EditorIcons")), TTR("Don't Use Blend"), MENU_USE_BLEND_DISABLED); menu->add_icon_item(get_editor_theme_icon(SNAME("UseBlendDisable")), TTR("Don't Use Blend"), MENU_USE_BLEND_DISABLED);
} else { } else {
menu->add_icon_item(get_theme_icon(SNAME("TrackContinuous"), SNAME("EditorIcons")), TTR("Continuous"), MENU_CALL_MODE_CONTINUOUS); menu->add_icon_item(get_editor_theme_icon(SNAME("TrackContinuous")), TTR("Continuous"), MENU_CALL_MODE_CONTINUOUS);
menu->add_icon_item(get_theme_icon(SNAME("TrackDiscrete"), SNAME("EditorIcons")), TTR("Discrete"), MENU_CALL_MODE_DISCRETE); menu->add_icon_item(get_editor_theme_icon(SNAME("TrackDiscrete")), TTR("Discrete"), MENU_CALL_MODE_DISCRETE);
menu->add_icon_item(get_theme_icon(SNAME("TrackCapture"), SNAME("EditorIcons")), TTR("Capture"), MENU_CALL_MODE_CAPTURE); menu->add_icon_item(get_editor_theme_icon(SNAME("TrackCapture")), TTR("Capture"), MENU_CALL_MODE_CAPTURE);
} }
menu->reset_size(); menu->reset_size();
@ -2685,9 +2686,9 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected)); menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
} }
menu->clear(); menu->clear();
menu->add_icon_item(get_theme_icon(SNAME("InterpRaw"), SNAME("EditorIcons")), TTR("Nearest"), MENU_INTERPOLATION_NEAREST); menu->add_icon_item(get_editor_theme_icon(SNAME("InterpRaw")), TTR("Nearest"), MENU_INTERPOLATION_NEAREST);
menu->add_icon_item(get_theme_icon(SNAME("InterpLinear"), SNAME("EditorIcons")), TTR("Linear"), MENU_INTERPOLATION_LINEAR); menu->add_icon_item(get_editor_theme_icon(SNAME("InterpLinear")), TTR("Linear"), MENU_INTERPOLATION_LINEAR);
menu->add_icon_item(get_theme_icon(SNAME("InterpCubic"), SNAME("EditorIcons")), TTR("Cubic"), MENU_INTERPOLATION_CUBIC); menu->add_icon_item(get_editor_theme_icon(SNAME("InterpCubic")), TTR("Cubic"), MENU_INTERPOLATION_CUBIC);
// Check whether it is angle property. // Check whether it is angle property.
AnimationPlayerEditor *ape = AnimationPlayerEditor::get_singleton(); AnimationPlayerEditor *ape = AnimationPlayerEditor::get_singleton();
if (ape) { if (ape) {
@ -2700,8 +2701,8 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
ClassDB::get_property_info(nd->get_class(), prop, &prop_info); ClassDB::get_property_info(nd->get_class(), prop, &prop_info);
bool is_angle = prop_info.type == Variant::FLOAT && prop_info.hint_string.find("radians") != -1; bool is_angle = prop_info.type == Variant::FLOAT && prop_info.hint_string.find("radians") != -1;
if (is_angle) { if (is_angle) {
menu->add_icon_item(get_theme_icon(SNAME("InterpLinearAngle"), SNAME("EditorIcons")), TTR("Linear Angle"), MENU_INTERPOLATION_LINEAR_ANGLE); menu->add_icon_item(get_editor_theme_icon(SNAME("InterpLinearAngle")), TTR("Linear Angle"), MENU_INTERPOLATION_LINEAR_ANGLE);
menu->add_icon_item(get_theme_icon(SNAME("InterpCubicAngle"), SNAME("EditorIcons")), TTR("Cubic Angle"), MENU_INTERPOLATION_CUBIC_ANGLE); menu->add_icon_item(get_editor_theme_icon(SNAME("InterpCubicAngle")), TTR("Cubic Angle"), MENU_INTERPOLATION_CUBIC_ANGLE);
} }
} }
} }
@ -2720,8 +2721,8 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected)); menu->connect("id_pressed", callable_mp(this, &AnimationTrackEdit::_menu_selected));
} }
menu->clear(); menu->clear();
menu->add_icon_item(get_theme_icon(SNAME("InterpWrapClamp"), SNAME("EditorIcons")), TTR("Clamp Loop Interp"), MENU_LOOP_CLAMP); menu->add_icon_item(get_editor_theme_icon(SNAME("InterpWrapClamp")), TTR("Clamp Loop Interp"), MENU_LOOP_CLAMP);
menu->add_icon_item(get_theme_icon(SNAME("InterpWrapLoop"), SNAME("EditorIcons")), TTR("Wrap Loop Interp"), MENU_LOOP_WRAP); menu->add_icon_item(get_editor_theme_icon(SNAME("InterpWrapLoop")), TTR("Wrap Loop Interp"), MENU_LOOP_WRAP);
menu->reset_size(); menu->reset_size();
Vector2 popup_pos = get_screen_position() + loop_wrap_rect.position + Vector2(0, loop_wrap_rect.size.height); Vector2 popup_pos = get_screen_position() + loop_wrap_rect.position + Vector2(0, loop_wrap_rect.size.height);
@ -2818,18 +2819,18 @@ void AnimationTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
} }
menu->clear(); menu->clear();
menu->add_icon_item(get_theme_icon(SNAME("Key"), SNAME("EditorIcons")), TTR("Insert Key"), MENU_KEY_INSERT); menu->add_icon_item(get_editor_theme_icon(SNAME("Key")), TTR("Insert Key"), MENU_KEY_INSERT);
if (editor->is_selection_active()) { if (editor->is_selection_active()) {
menu->add_separator(); menu->add_separator();
menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Duplicate Key(s)"), MENU_KEY_DUPLICATE); menu->add_icon_item(get_editor_theme_icon(SNAME("Duplicate")), TTR("Duplicate Key(s)"), MENU_KEY_DUPLICATE);
AnimationPlayer *player = AnimationPlayerEditor::get_singleton()->get_player(); AnimationPlayer *player = AnimationPlayerEditor::get_singleton()->get_player();
if (!player->has_animation(SceneStringNames::get_singleton()->RESET) || animation != player->get_animation(SceneStringNames::get_singleton()->RESET)) { if (!player->has_animation(SceneStringNames::get_singleton()->RESET) || animation != player->get_animation(SceneStringNames::get_singleton()->RESET)) {
menu->add_icon_item(get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")), TTR("Add RESET Value(s)"), MENU_KEY_ADD_RESET); menu->add_icon_item(get_editor_theme_icon(SNAME("Reload")), TTR("Add RESET Value(s)"), MENU_KEY_ADD_RESET);
} }
menu->add_separator(); menu->add_separator();
menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Key(s)"), MENU_KEY_DELETE); menu->add_icon_item(get_editor_theme_icon(SNAME("Remove")), TTR("Delete Key(s)"), MENU_KEY_DELETE);
} }
menu->reset_size(); menu->reset_size();
@ -3215,11 +3216,11 @@ void AnimationTrackEditGroup::_notification(int p_what) {
if (root && root->has_node(node)) { if (root && root->has_node(node)) {
Node *n = root->get_node(node); Node *n = root->get_node(node);
if (n && EditorNode::get_singleton()->get_editor_selection()->is_selected(n)) { if (n && EditorNode::get_singleton()->get_editor_selection()->is_selected(n)) {
color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
} }
} }
Color bgcol = get_theme_color(SNAME("dark_color_2"), SNAME("Editor")); Color bgcol = get_theme_color(SNAME("dark_color_2"), EditorStringName(Editor));
bgcol.a *= 0.6; bgcol.a *= 0.6;
draw_rect(Rect2(Point2(), get_size()), bgcol); draw_rect(Rect2(Point2(), get_size()), bgcol);
Color linecolor = color; Color linecolor = color;
@ -3237,7 +3238,7 @@ void AnimationTrackEditGroup::_notification(int p_what) {
int px = (-timeline->get_value() + timeline->get_play_position()) * timeline->get_zoom_scale() + timeline->get_name_limit(); int px = (-timeline->get_value() + timeline->get_play_position()) * timeline->get_zoom_scale() + timeline->get_name_limit();
if (px >= timeline->get_name_limit() && px < (get_size().width - timeline->get_buttons_width())) { if (px >= timeline->get_name_limit() && px < (get_size().width - timeline->get_buttons_width())) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_line(Point2(px, 0), Point2(px, get_size().height), accent, Math::round(2 * EDSCALE)); draw_line(Point2(px, 0), Point2(px, get_size().height), accent, Math::round(2 * EDSCALE));
} }
} break; } break;
@ -4434,7 +4435,7 @@ void AnimationTrackEditor::_update_tracks() {
if (!group_sort.has(base_path)) { if (!group_sort.has(base_path)) {
AnimationTrackEditGroup *g = memnew(AnimationTrackEditGroup); AnimationTrackEditGroup *g = memnew(AnimationTrackEditGroup);
Ref<Texture2D> icon = get_theme_icon(SNAME("Node"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("Node"));
String name = base_path; String name = base_path;
String tooltip; String tooltip;
if (root && root->has_node(base_path)) { if (root && root->has_node(base_path)) {
@ -4615,14 +4616,14 @@ void AnimationTrackEditor::_notification(int p_what) {
[[fallthrough]]; [[fallthrough]];
} }
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
zoom_icon->set_texture(get_theme_icon(SNAME("Zoom"), SNAME("EditorIcons"))); zoom_icon->set_texture(get_editor_theme_icon(SNAME("Zoom")));
bezier_edit_icon->set_icon(get_theme_icon(SNAME("EditBezier"), SNAME("EditorIcons"))); bezier_edit_icon->set_icon(get_editor_theme_icon(SNAME("EditBezier")));
snap->set_icon(get_theme_icon(SNAME("Snap"), SNAME("EditorIcons"))); snap->set_icon(get_editor_theme_icon(SNAME("Snap")));
view_group->set_icon(get_theme_icon(view_group->is_pressed() ? SNAME("AnimationTrackList") : SNAME("AnimationTrackGroup"), SNAME("EditorIcons"))); view_group->set_icon(get_editor_theme_icon(view_group->is_pressed() ? SNAME("AnimationTrackList") : SNAME("AnimationTrackGroup")));
selected_filter->set_icon(get_theme_icon(SNAME("AnimationFilter"), SNAME("EditorIcons"))); selected_filter->set_icon(get_editor_theme_icon(SNAME("AnimationFilter")));
imported_anim_warning->set_icon(get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons"))); imported_anim_warning->set_icon(get_editor_theme_icon(SNAME("NodeWarning")));
main_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); main_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
edit->get_popup()->set_item_icon(edit->get_popup()->get_item_index(EDIT_APPLY_RESET), get_theme_icon(SNAME("Reload"), SNAME("EditorIcons"))); edit->get_popup()->set_item_icon(edit->get_popup()->get_item_index(EDIT_APPLY_RESET), get_editor_theme_icon(SNAME("Reload")));
} break; } break;
case NOTIFICATION_READY: { case NOTIFICATION_READY: {
@ -5312,8 +5313,8 @@ float AnimationTrackEditor::get_moving_selection_offset() const {
void AnimationTrackEditor::_box_selection_draw() { void AnimationTrackEditor::_box_selection_draw() {
const Rect2 selection_rect = Rect2(Point2(), box_selection->get_size()); const Rect2 selection_rect = Rect2(Point2(), box_selection->get_size());
box_selection->draw_rect(selection_rect, get_theme_color(SNAME("box_selection_fill_color"), SNAME("Editor"))); box_selection->draw_rect(selection_rect, get_theme_color(SNAME("box_selection_fill_color"), EditorStringName(Editor)));
box_selection->draw_rect(selection_rect, get_theme_color(SNAME("box_selection_stroke_color"), SNAME("Editor")), false, Math::round(EDSCALE)); box_selection->draw_rect(selection_rect, get_theme_color(SNAME("box_selection_stroke_color"), EditorStringName(Editor)), false, Math::round(EDSCALE));
} }
void AnimationTrackEditor::_scroll_input(const Ref<InputEvent> &p_event) { void AnimationTrackEditor::_scroll_input(const Ref<InputEvent> &p_event) {
@ -5590,10 +5591,10 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
} }
String text; String text;
Ref<Texture2D> icon = get_theme_icon(SNAME("Node"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("Node"));
if (node) { if (node) {
if (has_theme_icon(node->get_class(), SNAME("EditorIcons"))) { if (has_theme_icon(node->get_class(), EditorStringName(EditorIcons))) {
icon = get_theme_icon(node->get_class(), SNAME("EditorIcons")); icon = get_editor_theme_icon(node->get_class());
} }
text = node->get_name(); text = node->get_name();
@ -6249,7 +6250,7 @@ void AnimationTrackEditor::_cleanup_animation(Ref<Animation> p_animation) {
void AnimationTrackEditor::_view_group_toggle() { void AnimationTrackEditor::_view_group_toggle() {
_update_tracks(); _update_tracks();
view_group->set_icon(get_theme_icon(view_group->is_pressed() ? SNAME("AnimationTrackList") : SNAME("AnimationTrackGroup"), SNAME("EditorIcons"))); view_group->set_icon(get_editor_theme_icon(view_group->is_pressed() ? SNAME("AnimationTrackList") : SNAME("AnimationTrackGroup")));
bezier_edit->set_filtered(selected_filter->is_pressed()); bezier_edit->set_filtered(selected_filter->is_pressed());
} }

View File

@ -33,6 +33,7 @@
#include "editor/audio_stream_preview.h" #include "editor/audio_stream_preview.h"
#include "editor/editor_resource_preview.h" #include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "scene/2d/animated_sprite_2d.h" #include "scene/2d/animated_sprite_2d.h"
#include "scene/2d/sprite_2d.h" #include "scene/2d/sprite_2d.h"
@ -73,7 +74,7 @@ void AnimationTrackEditBool::draw_key(int p_index, float p_pixels_sec, int p_x,
draw_texture(icon, ofs); draw_texture(icon, ofs);
if (p_selected) { if (p_selected) {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect_clipped(Rect2(ofs, icon->get_size()), color, false); draw_rect_clipped(Rect2(ofs, icon->get_size()), color, false);
} }
} }
@ -180,7 +181,7 @@ void AnimationTrackEditColor::draw_key(int p_index, float p_pixels_sec, int p_x,
draw_rect_clipped(rect, color); draw_rect_clipped(rect, color);
if (p_selected) { if (p_selected) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect_clipped(rect, accent, false); draw_rect_clipped(rect, accent, false);
} }
} }
@ -329,7 +330,7 @@ void AnimationTrackEditAudio::draw_key(int p_index, float p_pixels_sec, int p_x,
RS::get_singleton()->canvas_item_add_multiline(get_canvas_item(), points, colors); RS::get_singleton()->canvas_item_add_multiline(get_canvas_item(), points, colors);
if (p_selected) { if (p_selected) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect(rect, accent, false); draw_rect(rect, accent, false);
} }
} else { } else {
@ -342,7 +343,7 @@ void AnimationTrackEditAudio::draw_key(int p_index, float p_pixels_sec, int p_x,
draw_rect_clipped(rect, color); draw_rect_clipped(rect, color);
if (p_selected) { if (p_selected) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect_clipped(rect, accent, false); draw_rect_clipped(rect, accent, false);
} }
} }
@ -541,7 +542,7 @@ void AnimationTrackEditSpriteFrame::draw_key(int p_index, float p_pixels_sec, in
return; return;
} }
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
Color bg = accent; Color bg = accent;
bg.a = 0.15; bg.a = 0.15;
@ -700,7 +701,7 @@ void AnimationTrackEditSubAnim::draw_key(int p_index, float p_pixels_sec, int p_
} }
if (p_selected) { if (p_selected) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect(rect, accent, false); draw_rect(rect, accent, false);
} }
} else { } else {
@ -713,7 +714,7 @@ void AnimationTrackEditSubAnim::draw_key(int p_index, float p_pixels_sec, int p_
draw_rect_clipped(rect, color); draw_rect_clipped(rect, color);
if (p_selected) { if (p_selected) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect_clipped(rect, accent, false); draw_rect_clipped(rect, accent, false);
} }
} }
@ -726,12 +727,12 @@ void AnimationTrackEditSubAnim::set_node(Object *p_object) {
//// VOLUME DB //// //// VOLUME DB ////
int AnimationTrackEditVolumeDB::get_key_height() const { int AnimationTrackEditVolumeDB::get_key_height() const {
Ref<Texture2D> volume_texture = get_theme_icon(SNAME("ColorTrackVu"), SNAME("EditorIcons")); Ref<Texture2D> volume_texture = get_editor_theme_icon(SNAME("ColorTrackVu"));
return volume_texture->get_height() * 1.2; return volume_texture->get_height() * 1.2;
} }
void AnimationTrackEditVolumeDB::draw_bg(int p_clip_left, int p_clip_right) { void AnimationTrackEditVolumeDB::draw_bg(int p_clip_left, int p_clip_right) {
Ref<Texture2D> volume_texture = get_theme_icon(SNAME("ColorTrackVu"), SNAME("EditorIcons")); Ref<Texture2D> volume_texture = get_editor_theme_icon(SNAME("ColorTrackVu"));
int tex_h = volume_texture->get_height(); int tex_h = volume_texture->get_height();
int y_from = (get_size().height - tex_h) / 2; int y_from = (get_size().height - tex_h) / 2;
@ -742,7 +743,7 @@ void AnimationTrackEditVolumeDB::draw_bg(int p_clip_left, int p_clip_right) {
} }
void AnimationTrackEditVolumeDB::draw_fg(int p_clip_left, int p_clip_right) { void AnimationTrackEditVolumeDB::draw_fg(int p_clip_left, int p_clip_right) {
Ref<Texture2D> volume_texture = get_theme_icon(SNAME("ColorTrackVu"), SNAME("EditorIcons")); Ref<Texture2D> volume_texture = get_editor_theme_icon(SNAME("ColorTrackVu"));
int tex_h = volume_texture->get_height(); int tex_h = volume_texture->get_height();
int y_from = (get_size().height - tex_h) / 2; int y_from = (get_size().height - tex_h) / 2;
int db0 = y_from + (24 / 80.0) * tex_h; int db0 = y_from + (24 / 80.0) * tex_h;
@ -777,7 +778,7 @@ void AnimationTrackEditVolumeDB::draw_key_link(int p_index, float p_pixels_sec,
to_x = p_clip_right; to_x = p_clip_right;
} }
Ref<Texture2D> volume_texture = get_theme_icon(SNAME("ColorTrackVu"), SNAME("EditorIcons")); Ref<Texture2D> volume_texture = get_editor_theme_icon(SNAME("ColorTrackVu"));
int tex_h = volume_texture->get_height(); int tex_h = volume_texture->get_height();
int y_from = (get_size().height - tex_h) / 2; int y_from = (get_size().height - tex_h) / 2;
@ -936,7 +937,7 @@ void AnimationTrackEditTypeAudio::draw_key(int p_index, float p_pixels_sec, int
RS::get_singleton()->canvas_item_add_multiline(get_canvas_item(), points, colors); RS::get_singleton()->canvas_item_add_multiline(get_canvas_item(), points, colors);
Color cut_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color cut_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
cut_color.a = 0.7; cut_color.a = 0.7;
if (start_ofs > 0 && pixel_begin > p_clip_left) { if (start_ofs > 0 && pixel_begin > p_clip_left) {
draw_rect(Rect2(pixel_begin, rect.position.y, 1, rect.size.y), cut_color); draw_rect(Rect2(pixel_begin, rect.position.y, 1, rect.size.y), cut_color);
@ -946,7 +947,7 @@ void AnimationTrackEditTypeAudio::draw_key(int p_index, float p_pixels_sec, int
} }
if (p_selected) { if (p_selected) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect(rect, accent, false); draw_rect(rect, accent, false);
} }
} }
@ -1307,7 +1308,7 @@ void AnimationTrackEditTypeAnimation::draw_key(int p_index, float p_pixels_sec,
} }
if (p_selected) { if (p_selected) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect(rect, accent, false); draw_rect(rect, accent, false);
} }
} else { } else {
@ -1320,7 +1321,7 @@ void AnimationTrackEditTypeAnimation::draw_key(int p_index, float p_pixels_sec,
draw_rect_clipped(rect, color); draw_rect_clipped(rect, color);
if (p_selected) { if (p_selected) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect_clipped(rect, accent, false); draw_rect_clipped(rect, accent, false);
} }
} }

View File

@ -36,6 +36,7 @@
#include "core/templates/pair.h" #include "core/templates/pair.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/plugins/script_editor_plugin.h" #include "editor/plugins/script_editor_plugin.h"
#include "scene/resources/font.h" #include "scene/resources/font.h"
@ -93,11 +94,11 @@ void FindReplaceBar::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_READY: case NOTIFICATION_READY:
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
find_prev->set_icon(get_theme_icon(SNAME("MoveUp"), SNAME("EditorIcons"))); find_prev->set_icon(get_editor_theme_icon(SNAME("MoveUp")));
find_next->set_icon(get_theme_icon(SNAME("MoveDown"), SNAME("EditorIcons"))); find_next->set_icon(get_editor_theme_icon(SNAME("MoveDown")));
hide_button->set_texture_normal(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); hide_button->set_texture_normal(get_editor_theme_icon(SNAME("Close")));
hide_button->set_texture_hover(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); hide_button->set_texture_hover(get_editor_theme_icon(SNAME("Close")));
hide_button->set_texture_pressed(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); hide_button->set_texture_pressed(get_editor_theme_icon(SNAME("Close")));
hide_button->set_custom_minimum_size(hide_button->get_texture_normal()->get_size()); hide_button->set_custom_minimum_size(hide_button->get_texture_normal()->get_size());
} break; } break;
@ -106,7 +107,7 @@ void FindReplaceBar::_notification(int p_what) {
} break; } break;
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
matches_label->add_theme_color_override("font_color", results_count > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), SNAME("Editor"))); matches_label->add_theme_color_override("font_color", results_count > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} break; } break;
case NOTIFICATION_PREDELETE: { case NOTIFICATION_PREDELETE: {
@ -311,7 +312,7 @@ void FindReplaceBar::_replace_all() {
} }
text_editor->set_v_scroll(vsval); text_editor->set_v_scroll(vsval);
matches_label->add_theme_color_override("font_color", rc > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), SNAME("Editor"))); matches_label->add_theme_color_override("font_color", rc > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
matches_label->set_text(vformat(TTR("%d replaced."), rc)); matches_label->set_text(vformat(TTR("%d replaced."), rc));
text_editor->call_deferred(SNAME("connect"), "text_changed", callable_mp(this, &FindReplaceBar::_editor_text_changed)); text_editor->call_deferred(SNAME("connect"), "text_changed", callable_mp(this, &FindReplaceBar::_editor_text_changed));
@ -407,7 +408,7 @@ void FindReplaceBar::_update_matches_label() {
} else { } else {
matches_label->show(); matches_label->show();
matches_label->add_theme_color_override("font_color", results_count > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), SNAME("Editor"))); matches_label->add_theme_color_override("font_color", results_count > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
if (results_count == 0) { if (results_count == 0) {
matches_label->set_text(TTR("No match")); matches_label->set_text(TTR("No match"));
@ -952,41 +953,41 @@ Ref<Texture2D> CodeTextEditor::_get_completion_icon(const ScriptLanguage::CodeCo
Ref<Texture2D> tex; Ref<Texture2D> tex;
switch (p_option.kind) { switch (p_option.kind) {
case ScriptLanguage::CODE_COMPLETION_KIND_CLASS: { case ScriptLanguage::CODE_COMPLETION_KIND_CLASS: {
if (has_theme_icon(p_option.display, SNAME("EditorIcons"))) { if (has_theme_icon(p_option.display, EditorStringName(EditorIcons))) {
tex = get_theme_icon(p_option.display, SNAME("EditorIcons")); tex = get_editor_theme_icon(p_option.display);
} else { } else {
tex = get_theme_icon(SNAME("Object"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("Object"));
} }
} break; } break;
case ScriptLanguage::CODE_COMPLETION_KIND_ENUM: case ScriptLanguage::CODE_COMPLETION_KIND_ENUM:
tex = get_theme_icon(SNAME("Enum"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("Enum"));
break; break;
case ScriptLanguage::CODE_COMPLETION_KIND_FILE_PATH: case ScriptLanguage::CODE_COMPLETION_KIND_FILE_PATH:
tex = get_theme_icon(SNAME("File"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("File"));
break; break;
case ScriptLanguage::CODE_COMPLETION_KIND_NODE_PATH: case ScriptLanguage::CODE_COMPLETION_KIND_NODE_PATH:
tex = get_theme_icon(SNAME("NodePath"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("NodePath"));
break; break;
case ScriptLanguage::CODE_COMPLETION_KIND_VARIABLE: case ScriptLanguage::CODE_COMPLETION_KIND_VARIABLE:
tex = get_theme_icon(SNAME("Variant"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("Variant"));
break; break;
case ScriptLanguage::CODE_COMPLETION_KIND_CONSTANT: case ScriptLanguage::CODE_COMPLETION_KIND_CONSTANT:
tex = get_theme_icon(SNAME("MemberConstant"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("MemberConstant"));
break; break;
case ScriptLanguage::CODE_COMPLETION_KIND_MEMBER: case ScriptLanguage::CODE_COMPLETION_KIND_MEMBER:
tex = get_theme_icon(SNAME("MemberProperty"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("MemberProperty"));
break; break;
case ScriptLanguage::CODE_COMPLETION_KIND_SIGNAL: case ScriptLanguage::CODE_COMPLETION_KIND_SIGNAL:
tex = get_theme_icon(SNAME("MemberSignal"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("MemberSignal"));
break; break;
case ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION: case ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION:
tex = get_theme_icon(SNAME("MemberMethod"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("MemberMethod"));
break; break;
case ScriptLanguage::CODE_COMPLETION_KIND_PLAIN_TEXT: case ScriptLanguage::CODE_COMPLETION_KIND_PLAIN_TEXT:
tex = get_theme_icon(SNAME("BoxMesh"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("BoxMesh"));
break; break;
default: default:
tex = get_theme_icon(SNAME("String"), SNAME("EditorIcons")); tex = get_editor_theme_icon(SNAME("String"));
break; break;
} }
return tex; return tex;
@ -1677,12 +1678,12 @@ void CodeTextEditor::_update_text_editor_theme() {
emit_signal(SNAME("load_theme_settings")); emit_signal(SNAME("load_theme_settings"));
error->begin_bulk_theme_override(); error->begin_bulk_theme_override();
error->add_theme_font_override(SNAME("font"), get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); error->add_theme_font_override(SNAME("font"), get_theme_font(SNAME("status_source"), EditorStringName(EditorFonts)));
error->add_theme_font_size_override(SNAME("font_size"), get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); error->add_theme_font_size_override(SNAME("font_size"), get_theme_font_size(SNAME("status_source_size"), EditorStringName(EditorFonts)));
error->add_theme_color_override(SNAME("font_color"), get_theme_color(SNAME("error_color"), SNAME("Editor"))); error->add_theme_color_override(SNAME("font_color"), get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
Ref<Font> status_bar_font = get_theme_font(SNAME("status_source"), SNAME("EditorFonts")); Ref<Font> status_bar_font = get_theme_font(SNAME("status_source"), EditorStringName(EditorFonts));
int status_bar_font_size = get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts")); int status_bar_font_size = get_theme_font_size(SNAME("status_source_size"), EditorStringName(EditorFonts));
error->add_theme_font_override("font", status_bar_font); error->add_theme_font_override("font", status_bar_font);
error->add_theme_font_size_override("font_size", status_bar_font_size); error->add_theme_font_size_override("font_size", status_bar_font_size);
int count = status_bar->get_child_count(); int count = status_bar->get_child_count();
@ -1800,18 +1801,18 @@ void CodeTextEditor::_error_pressed(const Ref<InputEvent> &p_event) {
} }
void CodeTextEditor::_update_status_bar_theme() { void CodeTextEditor::_update_status_bar_theme() {
error_button->set_icon(get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons"))); error_button->set_icon(get_editor_theme_icon(SNAME("StatusError")));
error_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
error_button->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); error_button->add_theme_font_override("font", get_theme_font(SNAME("status_source"), EditorStringName(EditorFonts)));
error_button->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); error_button->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), EditorStringName(EditorFonts)));
warning_button->set_icon(get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons"))); warning_button->set_icon(get_editor_theme_icon(SNAME("NodeWarning")));
warning_button->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); warning_button->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
warning_button->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); warning_button->add_theme_font_override("font", get_theme_font(SNAME("status_source"), EditorStringName(EditorFonts)));
warning_button->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); warning_button->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), EditorStringName(EditorFonts)));
line_and_col_txt->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); line_and_col_txt->add_theme_font_override("font", get_theme_font(SNAME("status_source"), EditorStringName(EditorFonts)));
line_and_col_txt->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); line_and_col_txt->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), EditorStringName(EditorFonts)));
} }
void CodeTextEditor::_notification(int p_what) { void CodeTextEditor::_notification(int p_what) {
@ -1947,9 +1948,9 @@ void CodeTextEditor::show_toggle_scripts_button() {
void CodeTextEditor::update_toggle_scripts_button() { void CodeTextEditor::update_toggle_scripts_button() {
if (is_layout_rtl()) { if (is_layout_rtl()) {
toggle_scripts_button->set_icon(get_theme_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? SNAME("Forward") : SNAME("Back"), SNAME("EditorIcons"))); toggle_scripts_button->set_icon(get_editor_theme_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? SNAME("Forward") : SNAME("Back")));
} else { } else {
toggle_scripts_button->set_icon(get_theme_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? SNAME("Back") : SNAME("Forward"), SNAME("EditorIcons"))); toggle_scripts_button->set_icon(get_editor_theme_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? SNAME("Back") : SNAME("Forward")));
} }
toggle_scripts_button->set_tooltip_text(vformat("%s (%s)", TTR("Toggle Scripts Panel"), ED_GET_SHORTCUT("script_editor/toggle_scripts_panel")->get_as_text())); toggle_scripts_button->set_tooltip_text(vformat("%s (%s)", TTR("Toggle Scripts Panel"), ED_GET_SHORTCUT("script_editor/toggle_scripts_panel")->get_as_text()));
} }

View File

@ -38,6 +38,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/scene_tree_editor.h" #include "editor/gui/scene_tree_editor.h"
#include "editor/node_dock.h" #include "editor/node_dock.h"
@ -323,7 +324,7 @@ List<MethodInfo> ConnectDialog::_filter_method_list(const List<MethodInfo> &p_me
void ConnectDialog::_update_method_tree() { void ConnectDialog::_update_method_tree() {
method_tree->clear(); method_tree->clear();
Color disabled_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")) * 0.7; Color disabled_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor)) * 0.7;
String search_string = method_search->get_text(); String search_string = method_search->get_text();
Node *target = tree->get_selected(); Node *target = tree->get_selected();
if (!target) { if (!target) {
@ -359,7 +360,7 @@ void ConnectDialog::_update_method_tree() {
if (!methods.is_empty()) { if (!methods.is_empty()) {
TreeItem *si_item = method_tree->create_item(root_item); TreeItem *si_item = method_tree->create_item(root_item);
si_item->set_text(0, TTR("Attached Script")); si_item->set_text(0, TTR("Attached Script"));
si_item->set_icon(0, get_theme_icon(SNAME("Script"), SNAME("EditorIcons"))); si_item->set_icon(0, get_editor_theme_icon(SNAME("Script")));
si_item->set_selectable(0, false); si_item->set_selectable(0, false);
_create_method_tree_items(methods, si_item); _create_method_tree_items(methods, si_item);
@ -376,9 +377,9 @@ void ConnectDialog::_update_method_tree() {
do { do {
TreeItem *class_item = method_tree->create_item(root_item); TreeItem *class_item = method_tree->create_item(root_item);
class_item->set_text(0, current_class); class_item->set_text(0, current_class);
Ref<Texture2D> icon = get_theme_icon(SNAME("Node"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("Node"));
if (has_theme_icon(current_class, SNAME("EditorIcons"))) { if (has_theme_icon(current_class, EditorStringName(EditorIcons))) {
icon = get_theme_icon(current_class, SNAME("EditorIcons")); icon = get_editor_theme_icon(current_class);
} }
class_item->set_icon(0, icon); class_item->set_icon(0, icon);
class_item->set_selectable(0, false); class_item->set_selectable(0, false);
@ -443,7 +444,7 @@ void ConnectDialog::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
for (int i = 0; i < type_list->get_item_count(); i++) { for (int i = 0; i < type_list->get_item_count(); i++) {
String type_name = Variant::get_type_name((Variant::Type)type_list->get_item_id(i)); String type_name = Variant::get_type_name((Variant::Type)type_list->get_item_id(i));
type_list->set_item_icon(i, get_theme_icon(type_name, SNAME("EditorIcons"))); type_list->set_item_icon(i, get_editor_theme_icon(type_name));
} }
Ref<StyleBox> style = get_theme_stylebox("normal", "LineEdit")->duplicate(); Ref<StyleBox> style = get_theme_stylebox("normal", "LineEdit")->duplicate();
@ -451,8 +452,8 @@ void ConnectDialog::_notification(int p_what) {
style->set_content_margin(SIDE_TOP, style->get_content_margin(SIDE_TOP) + 1.0); style->set_content_margin(SIDE_TOP, style->get_content_margin(SIDE_TOP) + 1.0);
from_signal->add_theme_style_override("normal", style); from_signal->add_theme_style_override("normal", style);
} }
method_search->set_right_icon(get_theme_icon("Search", "EditorIcons")); method_search->set_right_icon(get_editor_theme_icon("Search"));
open_method_tree->set_icon(get_theme_icon("Edit", "EditorIcons")); open_method_tree->set_icon(get_editor_theme_icon("Edit"));
} break; } break;
} }
} }
@ -592,7 +593,7 @@ void ConnectDialog::init(const ConnectionData &p_cd, const PackedStringArray &p_
void ConnectDialog::popup_dialog(const String p_for_signal) { void ConnectDialog::popup_dialog(const String p_for_signal) {
from_signal->set_text(p_for_signal); from_signal->set_text(p_for_signal);
error_label->add_theme_color_override("font_color", error_label->get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->add_theme_color_override("font_color", error_label->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
filter_nodes->clear(); filter_nodes->clear();
if (!advanced->is_pressed()) { if (!advanced->is_pressed()) {
@ -995,15 +996,15 @@ void ConnectionsDock::_tree_item_selected() {
TreeItem *item = tree->get_selected(); TreeItem *item = tree->get_selected();
if (item && _get_item_type(*item) == TREE_ITEM_TYPE_SIGNAL) { if (item && _get_item_type(*item) == TREE_ITEM_TYPE_SIGNAL) {
connect_button->set_text(TTR("Connect...")); connect_button->set_text(TTR("Connect..."));
connect_button->set_icon(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); connect_button->set_icon(get_editor_theme_icon(SNAME("Instance")));
connect_button->set_disabled(false); connect_button->set_disabled(false);
} else if (item && _get_item_type(*item) == TREE_ITEM_TYPE_CONNECTION) { } else if (item && _get_item_type(*item) == TREE_ITEM_TYPE_CONNECTION) {
connect_button->set_text(TTR("Disconnect")); connect_button->set_text(TTR("Disconnect"));
connect_button->set_icon(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons"))); connect_button->set_icon(get_editor_theme_icon(SNAME("Unlinked")));
connect_button->set_disabled(false); connect_button->set_disabled(false);
} else { } else {
connect_button->set_text(TTR("Connect...")); connect_button->set_text(TTR("Connect..."));
connect_button->set_icon(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); connect_button->set_icon(get_editor_theme_icon(SNAME("Instance")));
connect_button->set_disabled(true); connect_button->set_disabled(true);
} }
} }
@ -1261,18 +1262,18 @@ void ConnectionsDock::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search_box->set_right_icon(get_editor_theme_icon(SNAME("Search")));
class_menu->set_item_icon(class_menu->get_item_index(CLASS_MENU_OPEN_DOCS), get_theme_icon(SNAME("Help"), SNAME("EditorIcons"))); class_menu->set_item_icon(class_menu->get_item_index(CLASS_MENU_OPEN_DOCS), get_editor_theme_icon(SNAME("Help")));
signal_menu->set_item_icon(signal_menu->get_item_index(SIGNAL_MENU_CONNECT), get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); signal_menu->set_item_icon(signal_menu->get_item_index(SIGNAL_MENU_CONNECT), get_editor_theme_icon(SNAME("Instance")));
signal_menu->set_item_icon(signal_menu->get_item_index(SIGNAL_MENU_DISCONNECT_ALL), get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons"))); signal_menu->set_item_icon(signal_menu->get_item_index(SIGNAL_MENU_DISCONNECT_ALL), get_editor_theme_icon(SNAME("Unlinked")));
signal_menu->set_item_icon(signal_menu->get_item_index(SIGNAL_MENU_COPY_NAME), get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons"))); signal_menu->set_item_icon(signal_menu->get_item_index(SIGNAL_MENU_COPY_NAME), get_editor_theme_icon(SNAME("ActionCopy")));
signal_menu->set_item_icon(signal_menu->get_item_index(SIGNAL_MENU_OPEN_DOCS), get_theme_icon(SNAME("Help"), SNAME("EditorIcons"))); signal_menu->set_item_icon(signal_menu->get_item_index(SIGNAL_MENU_OPEN_DOCS), get_editor_theme_icon(SNAME("Help")));
slot_menu->set_item_icon(slot_menu->get_item_index(SLOT_MENU_EDIT), get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); slot_menu->set_item_icon(slot_menu->get_item_index(SLOT_MENU_EDIT), get_editor_theme_icon(SNAME("Edit")));
slot_menu->set_item_icon(slot_menu->get_item_index(SLOT_MENU_GO_TO_METHOD), get_theme_icon(SNAME("ArrowRight"), SNAME("EditorIcons"))); slot_menu->set_item_icon(slot_menu->get_item_index(SLOT_MENU_GO_TO_METHOD), get_editor_theme_icon(SNAME("ArrowRight")));
slot_menu->set_item_icon(slot_menu->get_item_index(SLOT_MENU_DISCONNECT), get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons"))); slot_menu->set_item_icon(slot_menu->get_item_index(SLOT_MENU_DISCONNECT), get_editor_theme_icon(SNAME("Unlinked")));
} break; } break;
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
@ -1342,8 +1343,8 @@ void ConnectionsDock::update_tree() {
} }
class_icon = editor_data.get_script_icon(script_base); class_icon = editor_data.get_script_icon(script_base);
if (class_icon.is_null() && has_theme_icon(native_base, SNAME("EditorIcons"))) { if (class_icon.is_null() && has_theme_icon(native_base, EditorStringName(EditorIcons))) {
class_icon = get_theme_icon(native_base, SNAME("EditorIcons")); class_icon = get_editor_theme_icon(native_base);
} }
script_base->get_script_signal_list(&class_signals); script_base->get_script_signal_list(&class_signals);
@ -1382,8 +1383,8 @@ void ConnectionsDock::update_tree() {
doc_class_name = String(); doc_class_name = String();
} }
if (has_theme_icon(native_base, SNAME("EditorIcons"))) { if (has_theme_icon(native_base, EditorStringName(EditorIcons))) {
class_icon = get_theme_icon(native_base, SNAME("EditorIcons")); class_icon = get_editor_theme_icon(native_base);
} }
ClassDB::get_signal_list(native_base, &class_signals, true); ClassDB::get_signal_list(native_base, &class_signals, true);
@ -1392,7 +1393,7 @@ void ConnectionsDock::update_tree() {
} }
if (class_icon.is_null()) { if (class_icon.is_null()) {
class_icon = get_theme_icon(SNAME("Object"), SNAME("EditorIcons")); class_icon = get_editor_theme_icon(SNAME("Object"));
} }
TreeItem *section_item = nullptr; TreeItem *section_item = nullptr;
@ -1408,7 +1409,7 @@ void ConnectionsDock::update_tree() {
section_item->set_icon(0, class_icon); section_item->set_icon(0, class_icon);
section_item->set_selectable(0, false); section_item->set_selectable(0, false);
section_item->set_editable(0, false); section_item->set_editable(0, false);
section_item->set_custom_bg_color(0, get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); section_item->set_custom_bg_color(0, get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
section_item->set_metadata(0, doc_class_name); section_item->set_metadata(0, doc_class_name);
} }
@ -1434,7 +1435,7 @@ void ConnectionsDock::update_tree() {
sinfo["name"] = signal_name; sinfo["name"] = signal_name;
sinfo["args"] = argnames; sinfo["args"] = argnames;
signal_item->set_metadata(0, sinfo); signal_item->set_metadata(0, sinfo);
signal_item->set_icon(0, get_theme_icon(SNAME("Signal"), SNAME("EditorIcons"))); signal_item->set_icon(0, get_editor_theme_icon(SNAME("Signal")));
// Set tooltip with the signal's documentation. // Set tooltip with the signal's documentation.
{ {
@ -1491,11 +1492,11 @@ void ConnectionsDock::update_tree() {
TreeItem *connection_item = tree->create_item(signal_item); TreeItem *connection_item = tree->create_item(signal_item);
connection_item->set_text(0, path); connection_item->set_text(0, path);
connection_item->set_metadata(0, connection); connection_item->set_metadata(0, connection);
connection_item->set_icon(0, get_theme_icon(SNAME("Slot"), SNAME("EditorIcons"))); connection_item->set_icon(0, get_editor_theme_icon(SNAME("Slot")));
if (_is_connection_inherited(connection)) { if (_is_connection_inherited(connection)) {
// The scene inherits this connection. // The scene inherits this connection.
connection_item->set_custom_color(0, get_theme_color(SNAME("warning_color"), SNAME("Editor"))); connection_item->set_custom_color(0, get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
connection_item->set_meta("_inherited_connection", true); connection_item->set_meta("_inherited_connection", true);
} }
} }
@ -1503,7 +1504,7 @@ void ConnectionsDock::update_tree() {
} }
connect_button->set_text(TTR("Connect...")); connect_button->set_text(TTR("Connect..."));
connect_button->set_icon(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); connect_button->set_icon(get_editor_theme_icon(SNAME("Instance")));
connect_button->set_disabled(true); connect_button->set_disabled(true);
} }

View File

@ -37,11 +37,12 @@
#include "editor/editor_paths.h" #include "editor/editor_paths.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode, const String &p_current_type, const String &p_current_name) { void CreateDialog::popup_create(bool p_dont_clear, bool p_replace_mode, const String &p_current_type, const String &p_current_name) {
_fill_type_list(); _fill_type_list();
icon_fallback = search_options->has_theme_icon(base_type, SNAME("EditorIcons")) ? base_type : "Object"; icon_fallback = search_options->has_theme_icon(base_type, EditorStringName(EditorIcons)) ? base_type : "Object";
if (p_dont_clear) { if (p_dont_clear) {
search_box->select_all(); search_box->select_all();
@ -170,7 +171,7 @@ void CreateDialog::_update_search() {
TreeItem *root = search_options->create_item(); TreeItem *root = search_options->create_item();
root->set_text(0, base_type); root->set_text(0, base_type);
root->set_icon(0, search_options->get_theme_icon(icon_fallback, SNAME("EditorIcons"))); root->set_icon(0, search_options->get_editor_theme_icon(icon_fallback));
search_options_types[base_type] = root; search_options_types[base_type] = root;
_configure_search_option_item(root, base_type, ClassDB::class_exists(base_type) ? TypeCategory::CPP_TYPE : TypeCategory::OTHER_TYPE); _configure_search_option_item(root, base_type, ClassDB::class_exists(base_type) ? TypeCategory::CPP_TYPE : TypeCategory::OTHER_TYPE);
@ -295,16 +296,16 @@ void CreateDialog::_configure_search_option_item(TreeItem *r_item, const String
r_item->set_icon(0, EditorNode::get_singleton()->get_class_icon(p_type)); r_item->set_icon(0, EditorNode::get_singleton()->get_class_icon(p_type));
if (!instantiable) { if (!instantiable) {
r_item->set_custom_color(0, search_options->get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); r_item->set_custom_color(0, search_options->get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
} }
bool is_deprecated = EditorHelp::get_doc_data()->class_list[p_type].is_deprecated; bool is_deprecated = EditorHelp::get_doc_data()->class_list[p_type].is_deprecated;
bool is_experimental = EditorHelp::get_doc_data()->class_list[p_type].is_experimental; bool is_experimental = EditorHelp::get_doc_data()->class_list[p_type].is_experimental;
if (is_deprecated) { if (is_deprecated) {
r_item->add_button(0, get_theme_icon("StatusError", SNAME("EditorIcons")), 0, false, TTR("This class is marked as deprecated.")); r_item->add_button(0, get_editor_theme_icon("StatusError"), 0, false, TTR("This class is marked as deprecated."));
} else if (is_experimental) { } else if (is_experimental) {
r_item->add_button(0, get_theme_icon("NodeWarning", SNAME("EditorIcons")), 0, false, TTR("This class is marked as experimental.")); r_item->add_button(0, get_editor_theme_icon("NodeWarning"), 0, false, TTR("This class is marked as experimental."));
} }
if (!search_box->get_text().is_empty()) { if (!search_box->get_text().is_empty()) {
@ -450,8 +451,8 @@ void CreateDialog::_sbox_input(const Ref<InputEvent> &p_ie) {
} }
void CreateDialog::_update_theme() { void CreateDialog::_update_theme() {
search_box->set_right_icon(search_options->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search_box->set_right_icon(search_options->get_editor_theme_icon(SNAME("Search")));
favorite->set_icon(search_options->get_theme_icon(SNAME("Favorites"), SNAME("EditorIcons"))); favorite->set_icon(search_options->get_editor_theme_icon(SNAME("Favorites")));
} }
void CreateDialog::_notification(int p_what) { void CreateDialog::_notification(int p_what) {
@ -475,7 +476,7 @@ void CreateDialog::_notification(int p_what) {
} break; } break;
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
const int icon_width = get_theme_constant(SNAME("class_icon_size"), SNAME("Editor")); const int icon_width = get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor));
search_options->add_theme_constant_override("icon_max_width", icon_width); search_options->add_theme_constant_override("icon_max_width", icon_width);
favorites->add_theme_constant_override("icon_max_width", icon_width); favorites->add_theme_constant_override("icon_max_width", icon_width);
recent->set_fixed_icon_size(Size2(icon_width, icon_width)); recent->set_fixed_icon_size(Size2(icon_width, icon_width));

View File

@ -36,6 +36,7 @@
#include "editor/editor_log.h" #include "editor/editor_log.h"
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_run_bar.h" #include "editor/gui/editor_run_bar.h"
#include "editor/inspector_dock.h" #include "editor/inspector_dock.h"
@ -62,8 +63,8 @@ EditorDebuggerNode::EditorDebuggerNode() {
singleton = this; singleton = this;
} }
add_theme_constant_override("margin_left", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles"))->get_margin(SIDE_LEFT)); add_theme_constant_override("margin_left", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), EditorStringName(EditorStyles))->get_margin(SIDE_LEFT));
add_theme_constant_override("margin_right", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles"))->get_margin(SIDE_RIGHT)); add_theme_constant_override("margin_right", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), EditorStringName(EditorStyles))->get_margin(SIDE_RIGHT));
tabs = memnew(TabContainer); tabs = memnew(TabContainer);
tabs->set_tabs_visible(false); tabs->set_tabs_visible(false);
@ -118,7 +119,7 @@ ScriptEditorDebugger *EditorDebuggerNode::_add_debugger() {
if (tabs->get_tab_count() > 1) { if (tabs->get_tab_count() > 1) {
node->clear_style(); node->clear_style();
tabs->set_tabs_visible(true); tabs->set_tabs_visible(true);
tabs->add_theme_style_override("panel", EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("DebuggerPanel"), SNAME("EditorStyles"))); tabs->add_theme_style_override("panel", EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("DebuggerPanel"), EditorStringName(EditorStyles)));
} }
if (!debugger_plugins.is_empty()) { if (!debugger_plugins.is_empty()) {
@ -283,10 +284,10 @@ void EditorDebuggerNode::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
if (tabs->get_tab_count() > 1) { if (tabs->get_tab_count() > 1) {
add_theme_constant_override("margin_left", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles"))->get_margin(SIDE_LEFT)); add_theme_constant_override("margin_left", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), EditorStringName(EditorStyles))->get_margin(SIDE_LEFT));
add_theme_constant_override("margin_right", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles"))->get_margin(SIDE_RIGHT)); add_theme_constant_override("margin_right", -EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), EditorStringName(EditorStyles))->get_margin(SIDE_RIGHT));
tabs->add_theme_style_override("panel", EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("DebuggerPanel"), SNAME("EditorStyles"))); tabs->add_theme_style_override("panel", EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("DebuggerPanel"), EditorStringName(EditorStyles)));
} }
} break; } break;
@ -386,15 +387,15 @@ void EditorDebuggerNode::_update_errors() {
} else { } else {
debugger_button->set_text(TTR("Debugger") + " (" + itos(error_count + warning_count) + ")"); debugger_button->set_text(TTR("Debugger") + " (" + itos(error_count + warning_count) + ")");
if (error_count >= 1 && warning_count >= 1) { if (error_count >= 1 && warning_count >= 1) {
debugger_button->set_icon(get_theme_icon(SNAME("ErrorWarning"), SNAME("EditorIcons"))); debugger_button->set_icon(get_editor_theme_icon(SNAME("ErrorWarning")));
// Use error color to represent the highest level of severity reported. // Use error color to represent the highest level of severity reported.
debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} else if (error_count >= 1) { } else if (error_count >= 1) {
debugger_button->set_icon(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); debugger_button->set_icon(get_editor_theme_icon(SNAME("Error")));
debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} else { } else {
debugger_button->set_icon(get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"))); debugger_button->set_icon(get_editor_theme_icon(SNAME("Warning")));
debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); debugger_button->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} }
} }
last_error_count = error_count; last_error_count = error_count;

View File

@ -115,8 +115,8 @@ void EditorDebuggerTree::_scene_tree_rmb_selected(const Vector2 &p_position, Mou
item->select(0); item->select(0);
item_menu->clear(); item_menu->clear();
item_menu->add_icon_item(get_theme_icon(SNAME("CreateNewSceneFrom"), SNAME("EditorIcons")), TTR("Save Branch as Scene"), ITEM_MENU_SAVE_REMOTE_NODE); item_menu->add_icon_item(get_editor_theme_icon(SNAME("CreateNewSceneFrom")), TTR("Save Branch as Scene"), ITEM_MENU_SAVE_REMOTE_NODE);
item_menu->add_icon_item(get_theme_icon(SNAME("CopyNodePath"), SNAME("EditorIcons")), TTR("Copy Node Path"), ITEM_MENU_COPY_NODE_PATH); item_menu->add_icon_item(get_editor_theme_icon(SNAME("CopyNodePath")), TTR("Copy Node Path"), ITEM_MENU_COPY_NODE_PATH);
item_menu->set_position(get_screen_position() + get_local_mouse_position()); item_menu->set_position(get_screen_position() + get_local_mouse_position());
item_menu->reset_size(); item_menu->reset_size();
item_menu->popup(); item_menu->popup();
@ -198,7 +198,7 @@ void EditorDebuggerTree::update_scene_tree(const SceneDebuggerTree *p_tree, int
const Color remote_button_color = Color(1, 1, 1, 0.8); const Color remote_button_color = Color(1, 1, 1, 0.8);
if (!node.scene_file_path.is_empty()) { if (!node.scene_file_path.is_empty()) {
String node_scene_file_path = node.scene_file_path; String node_scene_file_path = node.scene_file_path;
Ref<Texture2D> button_icon = get_theme_icon(SNAME("InstanceOptions"), SNAME("EditorIcons")); Ref<Texture2D> button_icon = get_editor_theme_icon(SNAME("InstanceOptions"));
String tooltip = vformat(TTR("This node has been instantiated from a PackedScene file:\n%s\nClick to open the original file in the Editor."), node_scene_file_path); String tooltip = vformat(TTR("This node has been instantiated from a PackedScene file:\n%s\nClick to open the original file in the Editor."), node_scene_file_path);
item->set_meta("scene_file_path", node_scene_file_path); item->set_meta("scene_file_path", node_scene_file_path);
@ -209,7 +209,7 @@ void EditorDebuggerTree::update_scene_tree(const SceneDebuggerTree *p_tree, int
if (node.view_flags & SceneDebuggerTree::RemoteNode::VIEW_HAS_VISIBLE_METHOD) { if (node.view_flags & SceneDebuggerTree::RemoteNode::VIEW_HAS_VISIBLE_METHOD) {
bool node_visible = node.view_flags & SceneDebuggerTree::RemoteNode::VIEW_VISIBLE; bool node_visible = node.view_flags & SceneDebuggerTree::RemoteNode::VIEW_VISIBLE;
bool node_visible_in_tree = node.view_flags & SceneDebuggerTree::RemoteNode::VIEW_VISIBLE_IN_TREE; bool node_visible_in_tree = node.view_flags & SceneDebuggerTree::RemoteNode::VIEW_VISIBLE_IN_TREE;
Ref<Texture2D> button_icon = get_theme_icon(node_visible ? SNAME("GuiVisibilityVisible") : SNAME("GuiVisibilityHidden"), SNAME("EditorIcons")); Ref<Texture2D> button_icon = get_editor_theme_icon(node_visible ? SNAME("GuiVisibilityVisible") : SNAME("GuiVisibilityHidden"));
String tooltip = TTR("Toggle Visibility"); String tooltip = TTR("Toggle Visibility");
item->set_meta("visible", node_visible); item->set_meta("visible", node_visible);

View File

@ -33,6 +33,7 @@
#include "editor/editor_property_name_processor.h" #include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "main/performance.h" #include "main/performance.h"
EditorPerformanceProfiler::Monitor::Monitor() {} EditorPerformanceProfiler::Monitor::Monitor() {}
@ -131,7 +132,7 @@ void EditorPerformanceProfiler::_monitor_draw() {
rect.position += graph_style_box->get_offset(); rect.position += graph_style_box->get_offset();
rect.size -= graph_style_box->get_minimum_size(); rect.size -= graph_style_box->get_minimum_size();
Color draw_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color draw_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_color.set_hsv(Math::fmod(hue_shift * float(current.frame_index), 0.9f), draw_color.get_s() * 0.9f, draw_color.get_v() * value_multiplier, 0.6f); draw_color.set_hsv(Math::fmod(hue_shift * float(current.frame_index), 0.9f), draw_color.get_s() * 0.9f, draw_color.get_v() * value_multiplier, 0.6f);
monitor_draw->draw_string(graph_font, rect.position + Point2(0, graph_font->get_ascent(font_size)), current.item->get_text(0), HORIZONTAL_ALIGNMENT_LEFT, rect.size.x, font_size, draw_color); monitor_draw->draw_string(graph_font, rect.position + Point2(0, graph_font->get_ascent(font_size)), current.item->get_text(0), HORIZONTAL_ALIGNMENT_LEFT, rect.size.x, font_size, draw_color);
@ -235,7 +236,7 @@ TreeItem *EditorPerformanceProfiler::_get_monitor_base(const StringName &p_base_
base->set_selectable(0, false); base->set_selectable(0, false);
base->set_expand_right(0, true); base->set_expand_right(0, true);
if (is_inside_tree()) { if (is_inside_tree()) {
base->set_custom_font(0, get_theme_font(SNAME("bold"), SNAME("EditorFonts"))); base->set_custom_font(0, get_theme_font(SNAME("bold"), EditorStringName(EditorFonts)));
} }
base_map.insert(p_base_name, base); base_map.insert(p_base_name, base);
return base; return base;
@ -374,7 +375,7 @@ void EditorPerformanceProfiler::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
for (KeyValue<StringName, TreeItem *> &E : base_map) { for (KeyValue<StringName, TreeItem *> &E : base_map) {
E.value->set_custom_font(0, get_theme_font(SNAME("bold"), SNAME("EditorFonts"))); E.value->set_custom_font(0, get_theme_font(SNAME("bold"), EditorStringName(EditorFonts)));
} }
} break; } break;
} }

View File

@ -33,6 +33,7 @@
#include "core/os/os.h" #include "core/os/os.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/resources/image_texture.h" #include "scene/resources/image_texture.h"
void EditorProfiler::_make_metric_ptrs(Metric &m) { void EditorProfiler::_make_metric_ptrs(Metric &m) {
@ -140,11 +141,11 @@ String EditorProfiler::_get_time_as_text(const Metric &m, float p_time, int p_ca
} }
Color EditorProfiler::_get_color_from_signature(const StringName &p_signature) const { Color EditorProfiler::_get_color_from_signature(const StringName &p_signature) const {
Color bc = get_theme_color(SNAME("error_color"), SNAME("Editor")); Color bc = get_theme_color(SNAME("error_color"), EditorStringName(Editor));
double rot = ABS(double(p_signature.hash()) / double(0x7FFFFFFF)); double rot = ABS(double(p_signature.hash()) / double(0x7FFFFFFF));
Color c; Color c;
c.set_hsv(rot, bc.get_s(), bc.get_v()); c.set_hsv(rot, bc.get_s(), bc.get_v());
return c.lerp(get_theme_color(SNAME("base_color"), SNAME("Editor")), 0.07); return c.lerp(get_theme_color(SNAME("base_color"), EditorStringName(Editor)), 0.07);
} }
void EditorProfiler::_item_edited() { void EditorProfiler::_item_edited() {
@ -185,7 +186,7 @@ void EditorProfiler::_update_plot() {
} }
uint8_t *wr = graph_image.ptrw(); uint8_t *wr = graph_image.ptrw();
const Color background_color = get_theme_color(SNAME("dark_color_2"), SNAME("Editor")); const Color background_color = get_theme_color(SNAME("dark_color_2"), EditorStringName(Editor));
// Clear the previous frame and set the background color. // Clear the previous frame and set the background color.
for (int i = 0; i < desired_len; i += 4) { for (int i = 0; i < desired_len; i += 4) {
@ -379,10 +380,10 @@ void EditorProfiler::_update_frame() {
void EditorProfiler::_update_button_text() { void EditorProfiler::_update_button_text() {
if (activate->is_pressed()) { if (activate->is_pressed()) {
activate->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("Stop")));
activate->set_text(TTR("Stop")); activate->set_text(TTR("Stop"));
} else { } else {
activate->set_icon(get_theme_icon(SNAME("Play"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("Play")));
activate->set_text(TTR("Start")); activate->set_text(TTR("Start"));
} }
} }
@ -409,8 +410,8 @@ void EditorProfiler::_notification(int p_what) {
case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: case NOTIFICATION_LAYOUT_DIRECTION_CHANGED:
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_TRANSLATION_CHANGED: { case NOTIFICATION_TRANSLATION_CHANGED: {
activate->set_icon(get_theme_icon(SNAME("Play"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("Play")));
clear_button->set_icon(get_theme_icon(SNAME("Clear"), SNAME("EditorIcons"))); clear_button->set_icon(get_editor_theme_icon(SNAME("Clear")));
} break; } break;
} }
} }

View File

@ -33,6 +33,7 @@
#include "core/os/os.h" #include "core/os/os.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/resources/image_texture.h" #include "scene/resources/image_texture.h"
void EditorVisualProfiler::add_frame_metric(const Metric &p_metric) { void EditorVisualProfiler::add_frame_metric(const Metric &p_metric) {
@ -124,11 +125,11 @@ String EditorVisualProfiler::_get_time_as_text(float p_time) {
} }
Color EditorVisualProfiler::_get_color_from_signature(const StringName &p_signature) const { Color EditorVisualProfiler::_get_color_from_signature(const StringName &p_signature) const {
Color bc = get_theme_color(SNAME("error_color"), SNAME("Editor")); Color bc = get_theme_color(SNAME("error_color"), EditorStringName(Editor));
double rot = ABS(double(p_signature.hash()) / double(0x7FFFFFFF)); double rot = ABS(double(p_signature.hash()) / double(0x7FFFFFFF));
Color c; Color c;
c.set_hsv(rot, bc.get_s(), bc.get_v()); c.set_hsv(rot, bc.get_s(), bc.get_v());
return c.lerp(get_theme_color(SNAME("base_color"), SNAME("Editor")), 0.07); return c.lerp(get_theme_color(SNAME("base_color"), EditorStringName(Editor)), 0.07);
} }
void EditorVisualProfiler::_item_selected() { void EditorVisualProfiler::_item_selected() {
@ -158,7 +159,7 @@ void EditorVisualProfiler::_update_plot() {
} }
uint8_t *wr = graph_image.ptrw(); uint8_t *wr = graph_image.ptrw();
const Color background_color = get_theme_color("dark_color_2", "Editor"); const Color background_color = get_theme_color("dark_color_2", EditorStringName(Editor));
// Clear the previous frame and set the background color. // Clear the previous frame and set the background color.
for (int i = 0; i < desired_len; i += 4) { for (int i = 0; i < desired_len; i += 4) {
@ -318,7 +319,7 @@ void EditorVisualProfiler::_update_plot() {
void EditorVisualProfiler::_update_frame(bool p_focus_selected) { void EditorVisualProfiler::_update_frame(bool p_focus_selected) {
int cursor_metric = _get_cursor_index(); int cursor_metric = _get_cursor_index();
Ref<Texture> track_icon = get_theme_icon(SNAME("TrackColor"), SNAME("EditorIcons")); Ref<Texture> track_icon = get_editor_theme_icon(SNAME("TrackColor"));
ERR_FAIL_INDEX(cursor_metric, frame_metrics.size()); ERR_FAIL_INDEX(cursor_metric, frame_metrics.size());
@ -407,12 +408,12 @@ void EditorVisualProfiler::_update_frame(bool p_focus_selected) {
void EditorVisualProfiler::_activate_pressed() { void EditorVisualProfiler::_activate_pressed() {
if (activate->is_pressed()) { if (activate->is_pressed()) {
activate->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("Stop")));
activate->set_text(TTR("Stop")); activate->set_text(TTR("Stop"));
_clear_pressed(); //always clear on start _clear_pressed(); //always clear on start
clear_button->set_disabled(false); clear_button->set_disabled(false);
} else { } else {
activate->set_icon(get_theme_icon(SNAME("Play"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("Play")));
activate->set_text(TTR("Start")); activate->set_text(TTR("Start"));
} }
emit_signal(SNAME("enable_profiling"), activate->is_pressed()); emit_signal(SNAME("enable_profiling"), activate->is_pressed());
@ -431,11 +432,11 @@ void EditorVisualProfiler::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_TRANSLATION_CHANGED: { case NOTIFICATION_TRANSLATION_CHANGED: {
if (is_layout_rtl()) { if (is_layout_rtl()) {
activate->set_icon(get_theme_icon(SNAME("PlayBackwards"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("PlayBackwards")));
} else { } else {
activate->set_icon(get_theme_icon(SNAME("Play"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("Play")));
} }
clear_button->set_icon(get_theme_icon(SNAME("Clear"), SNAME("EditorIcons"))); clear_button->set_icon(get_editor_theme_icon(SNAME("Clear")));
} break; } break;
} }
} }
@ -447,7 +448,7 @@ void EditorVisualProfiler::_graph_tex_draw() {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
const Color color = get_theme_color(SNAME("font_color"), SNAME("Editor")); const Color color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
if (seeking) { if (seeking) {
int max_frames = frame_metrics.size(); int max_frames = frame_metrics.size();
@ -653,10 +654,10 @@ void EditorVisualProfiler::_bind_methods() {
void EditorVisualProfiler::_update_button_text() { void EditorVisualProfiler::_update_button_text() {
if (activate->is_pressed()) { if (activate->is_pressed()) {
activate->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("Stop")));
activate->set_text(TTR("Stop")); activate->set_text(TTR("Stop"));
} else { } else {
activate->set_icon(get_theme_icon(SNAME("Play"), SNAME("EditorIcons"))); activate->set_icon(get_editor_theme_icon(SNAME("Play")));
activate->set_text(TTR("Start")); activate->set_text(TTR("Start"));
} }
} }

View File

@ -46,6 +46,7 @@
#include "editor/editor_property_name_processor.h" #include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "editor/inspector_dock.h" #include "editor/inspector_dock.h"
#include "editor/plugins/canvas_item_editor_plugin.h" #include "editor/plugins/canvas_item_editor_plugin.h"
@ -93,9 +94,9 @@ void ScriptEditorDebugger::debug_copy() {
void ScriptEditorDebugger::debug_skip_breakpoints() { void ScriptEditorDebugger::debug_skip_breakpoints() {
skip_breakpoints_value = !skip_breakpoints_value; skip_breakpoints_value = !skip_breakpoints_value;
if (skip_breakpoints_value) { if (skip_breakpoints_value) {
skip_breakpoints->set_icon(get_theme_icon(SNAME("DebugSkipBreakpointsOn"), SNAME("EditorIcons"))); skip_breakpoints->set_icon(get_editor_theme_icon(SNAME("DebugSkipBreakpointsOn")));
} else { } else {
skip_breakpoints->set_icon(get_theme_icon(SNAME("DebugSkipBreakpointsOff"), SNAME("EditorIcons"))); skip_breakpoints->set_icon(get_editor_theme_icon(SNAME("DebugSkipBreakpointsOff")));
} }
Array msg; Array msg;
@ -143,11 +144,11 @@ void ScriptEditorDebugger::update_tabs() {
} else { } else {
errors_tab->set_name(TTR("Errors") + " (" + itos(error_count + warning_count) + ")"); errors_tab->set_name(TTR("Errors") + " (" + itos(error_count + warning_count) + ")");
if (error_count >= 1 && warning_count >= 1) { if (error_count >= 1 && warning_count >= 1) {
tabs->set_tab_icon(tabs->get_tab_idx_from_control(errors_tab), get_theme_icon(SNAME("ErrorWarning"), SNAME("EditorIcons"))); tabs->set_tab_icon(tabs->get_tab_idx_from_control(errors_tab), get_editor_theme_icon(SNAME("ErrorWarning")));
} else if (error_count >= 1) { } else if (error_count >= 1) {
tabs->set_tab_icon(tabs->get_tab_idx_from_control(errors_tab), get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); tabs->set_tab_icon(tabs->get_tab_idx_from_control(errors_tab), get_editor_theme_icon(SNAME("Error")));
} else { } else {
tabs->set_tab_icon(tabs->get_tab_idx_from_control(errors_tab), get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"))); tabs->set_tab_icon(tabs->get_tab_idx_from_control(errors_tab), get_editor_theme_icon(SNAME("Warning")));
} }
} }
} }
@ -420,8 +421,8 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, uint64_t p_thread
it->set_text(3, String::humanize_size(bytes)); it->set_text(3, String::humanize_size(bytes));
total += bytes; total += bytes;
if (has_theme_icon(type, SNAME("EditorIcons"))) { if (has_theme_icon(type, EditorStringName(EditorIcons))) {
it->set_icon(0, get_theme_icon(type, SNAME("EditorIcons"))); it->set_icon(0, get_editor_theme_icon(type));
} }
} }
@ -560,11 +561,11 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, uint64_t p_thread
} }
error->set_collapsed(true); error->set_collapsed(true);
error->set_icon(0, get_theme_icon(oe.warning ? SNAME("Warning") : SNAME("Error"), SNAME("EditorIcons"))); error->set_icon(0, get_editor_theme_icon(oe.warning ? SNAME("Warning") : SNAME("Error")));
error->set_text(0, time); error->set_text(0, time);
error->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT); error->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT);
const Color color = get_theme_color(oe.warning ? SNAME("warning_color") : SNAME("error_color"), SNAME("Editor")); const Color color = get_theme_color(oe.warning ? SNAME("warning_color") : SNAME("error_color"), EditorStringName(Editor));
error->set_custom_color(0, color); error->set_custom_color(0, color);
error->set_custom_color(1, color); error->set_custom_color(1, color);
@ -821,13 +822,13 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, uint64_t p_thread
void ScriptEditorDebugger::_set_reason_text(const String &p_reason, MessageType p_type) { void ScriptEditorDebugger::_set_reason_text(const String &p_reason, MessageType p_type) {
switch (p_type) { switch (p_type) {
case MESSAGE_ERROR: case MESSAGE_ERROR:
reason->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); reason->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
break; break;
case MESSAGE_WARNING: case MESSAGE_WARNING:
reason->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); reason->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
break; break;
default: default:
reason->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), SNAME("Editor"))); reason->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), EditorStringName(Editor)));
} }
reason->set_text(p_reason); reason->set_text(p_reason);
@ -853,32 +854,32 @@ void ScriptEditorDebugger::_notification(int p_what) {
[[fallthrough]]; [[fallthrough]];
} }
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
tabs->add_theme_style_override("panel", get_theme_stylebox(SNAME("DebuggerPanel"), SNAME("EditorStyles"))); tabs->add_theme_style_override("panel", get_theme_stylebox(SNAME("DebuggerPanel"), EditorStringName(EditorStyles)));
skip_breakpoints->set_icon(get_theme_icon(skip_breakpoints_value ? SNAME("DebugSkipBreakpointsOn") : SNAME("DebugSkipBreakpointsOff"), SNAME("EditorIcons"))); skip_breakpoints->set_icon(get_editor_theme_icon(skip_breakpoints_value ? SNAME("DebugSkipBreakpointsOn") : SNAME("DebugSkipBreakpointsOff")));
copy->set_icon(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons"))); copy->set_icon(get_editor_theme_icon(SNAME("ActionCopy")));
step->set_icon(get_theme_icon(SNAME("DebugStep"), SNAME("EditorIcons"))); step->set_icon(get_editor_theme_icon(SNAME("DebugStep")));
next->set_icon(get_theme_icon(SNAME("DebugNext"), SNAME("EditorIcons"))); next->set_icon(get_editor_theme_icon(SNAME("DebugNext")));
dobreak->set_icon(get_theme_icon(SNAME("Pause"), SNAME("EditorIcons"))); dobreak->set_icon(get_editor_theme_icon(SNAME("Pause")));
docontinue->set_icon(get_theme_icon(SNAME("DebugContinue"), SNAME("EditorIcons"))); docontinue->set_icon(get_editor_theme_icon(SNAME("DebugContinue")));
vmem_refresh->set_icon(get_theme_icon(SNAME("Reload"), SNAME("EditorIcons"))); vmem_refresh->set_icon(get_editor_theme_icon(SNAME("Reload")));
vmem_export->set_icon(get_theme_icon(SNAME("Save"), SNAME("EditorIcons"))); vmem_export->set_icon(get_editor_theme_icon(SNAME("Save")));
search->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search->set_right_icon(get_editor_theme_icon(SNAME("Search")));
reason->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); reason->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
TreeItem *error_root = error_tree->get_root(); TreeItem *error_root = error_tree->get_root();
if (error_root) { if (error_root) {
TreeItem *error = error_root->get_first_child(); TreeItem *error = error_root->get_first_child();
while (error) { while (error) {
if (error->has_meta("_is_warning")) { if (error->has_meta("_is_warning")) {
error->set_icon(0, get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"))); error->set_icon(0, get_editor_theme_icon(SNAME("Warning")));
error->set_custom_color(0, get_theme_color(SNAME("warning_color"), SNAME("Editor"))); error->set_custom_color(0, get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
error->set_custom_color(1, get_theme_color(SNAME("warning_color"), SNAME("Editor"))); error->set_custom_color(1, get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} else if (error->has_meta("_is_error")) { } else if (error->has_meta("_is_error")) {
error->set_icon(0, get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); error->set_icon(0, get_editor_theme_icon(SNAME("Error")));
error->set_custom_color(0, get_theme_color(SNAME("error_color"), SNAME("Editor"))); error->set_custom_color(0, get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
error->set_custom_color(1, get_theme_color(SNAME("error_color"), SNAME("Editor"))); error->set_custom_color(1, get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} }
error = error->get_next(); error = error->get_next();
@ -1598,11 +1599,11 @@ void ScriptEditorDebugger::_breakpoints_item_rmb_selected(const Vector2 &p_pos,
const TreeItem *selected = breakpoints_tree->get_selected(); const TreeItem *selected = breakpoints_tree->get_selected();
String file = selected->get_text(0); String file = selected->get_text(0);
if (selected->has_meta("line")) { if (selected->has_meta("line")) {
breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete Breakpoint"), ACTION_DELETE_BREAKPOINT); breakpoints_menu->add_icon_item(get_editor_theme_icon(SNAME("Remove")), TTR("Delete Breakpoint"), ACTION_DELETE_BREAKPOINT);
file = selected->get_parent()->get_text(0); file = selected->get_parent()->get_text(0);
} }
breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete All Breakpoints in:") + " " + file, ACTION_DELETE_BREAKPOINTS_IN_FILE); breakpoints_menu->add_icon_item(get_editor_theme_icon(SNAME("Remove")), TTR("Delete All Breakpoints in:") + " " + file, ACTION_DELETE_BREAKPOINTS_IN_FILE);
breakpoints_menu->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Delete All Breakpoints"), ACTION_DELETE_ALL_BREAKPOINTS); breakpoints_menu->add_icon_item(get_editor_theme_icon(SNAME("Remove")), TTR("Delete All Breakpoints"), ACTION_DELETE_ALL_BREAKPOINTS);
breakpoints_menu->set_position(breakpoints_tree->get_global_position() + p_pos); breakpoints_menu->set_position(breakpoints_tree->get_global_position() + p_pos);
breakpoints_menu->popup(); breakpoints_menu->popup();
@ -1618,8 +1619,8 @@ void ScriptEditorDebugger::_error_tree_item_rmb_selected(const Vector2 &p_pos, M
item_menu->reset_size(); item_menu->reset_size();
if (error_tree->is_anything_selected()) { if (error_tree->is_anything_selected()) {
item_menu->add_icon_item(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")), TTR("Copy Error"), ACTION_COPY_ERROR); item_menu->add_icon_item(get_editor_theme_icon(SNAME("ActionCopy")), TTR("Copy Error"), ACTION_COPY_ERROR);
item_menu->add_icon_item(get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), TTR("Open C++ Source on GitHub"), ACTION_OPEN_SOURCE); item_menu->add_icon_item(get_editor_theme_icon(SNAME("ExternalLink")), TTR("Open C++ Source on GitHub"), ACTION_OPEN_SOURCE);
} }
if (item_menu->get_item_count() > 0) { if (item_menu->get_item_count() > 0) {

View File

@ -304,9 +304,9 @@ void DependencyEditorOwners::_list_rmb_clicked(int p_item, const Vector2 &p_pos,
} }
if (only_scenes_selected) { if (only_scenes_selected) {
file_options->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTRN("Open Scene", "Open Scenes", selected_items.size()), FILE_OPEN); file_options->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTRN("Open Scene", "Open Scenes", selected_items.size()), FILE_OPEN);
} else if (selected_items.size() == 1) { } else if (selected_items.size() == 1) {
file_options->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Open"), FILE_OPEN); file_options->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTR("Open"), FILE_OPEN);
} else { } else {
return; return;
} }
@ -508,17 +508,17 @@ void DependencyRemoveDialog::_build_removed_dependency_tree(const Vector<Removed
if (!tree_items.has(rd.dependency_folder)) { if (!tree_items.has(rd.dependency_folder)) {
TreeItem *folder_item = owners->create_item(owners->get_root()); TreeItem *folder_item = owners->create_item(owners->get_root());
folder_item->set_text(0, rd.dependency_folder); folder_item->set_text(0, rd.dependency_folder);
folder_item->set_icon(0, owners->get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); folder_item->set_icon(0, owners->get_editor_theme_icon(SNAME("Folder")));
tree_items[rd.dependency_folder] = folder_item; tree_items[rd.dependency_folder] = folder_item;
} }
TreeItem *dependency_item = owners->create_item(tree_items[rd.dependency_folder]); TreeItem *dependency_item = owners->create_item(tree_items[rd.dependency_folder]);
dependency_item->set_text(0, rd.dependency); dependency_item->set_text(0, rd.dependency);
dependency_item->set_icon(0, owners->get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"))); dependency_item->set_icon(0, owners->get_editor_theme_icon(SNAME("Warning")));
tree_items[rd.dependency] = dependency_item; tree_items[rd.dependency] = dependency_item;
} else { } else {
TreeItem *dependency_item = owners->create_item(owners->get_root()); TreeItem *dependency_item = owners->create_item(owners->get_root());
dependency_item->set_text(0, rd.dependency); dependency_item->set_text(0, rd.dependency);
dependency_item->set_icon(0, owners->get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"))); dependency_item->set_icon(0, owners->get_editor_theme_icon(SNAME("Warning")));
tree_items[rd.dependency] = dependency_item; tree_items[rd.dependency] = dependency_item;
} }
} }
@ -804,7 +804,7 @@ bool OrphanResourcesDialog::_fill_owners(EditorFileSystemDirectory *efsd, HashMa
int ds = efsd->get_file_deps(i).size(); int ds = efsd->get_file_deps(i).size();
ti->set_text(1, itos(ds)); ti->set_text(1, itos(ds));
if (ds) { if (ds) {
ti->add_button(1, files->get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons")), -1, false, TTR("Show Dependencies")); ti->add_button(1, files->get_editor_theme_icon(SNAME("GuiVisibilityVisible")), -1, false, TTR("Show Dependencies"));
} }
ti->set_metadata(0, path); ti->set_metadata(0, path);
has_children = true; has_children = true;

View File

@ -34,20 +34,21 @@
#include "core/donors.gen.h" #include "core/donors.gen.h"
#include "core/license.gen.h" #include "core/license.gen.h"
#include "core/version.h" #include "core/version.h"
#include "editor/editor_string_names.h"
// The metadata key used to store and retrieve the version text to copy to the clipboard. // The metadata key used to store and retrieve the version text to copy to the clipboard.
const String EditorAbout::META_TEXT_TO_COPY = "text_to_copy"; const String EditorAbout::META_TEXT_TO_COPY = "text_to_copy";
void EditorAbout::_theme_changed() { void EditorAbout::_theme_changed() {
const Ref<Font> font = get_theme_font(SNAME("source"), SNAME("EditorFonts")); const Ref<Font> font = get_theme_font(SNAME("source"), EditorStringName(EditorFonts));
const int font_size = get_theme_font_size(SNAME("source_size"), SNAME("EditorFonts")); const int font_size = get_theme_font_size(SNAME("source_size"), EditorStringName(EditorFonts));
_tpl_text->add_theme_font_override("normal_font", font); _tpl_text->add_theme_font_override("normal_font", font);
_tpl_text->add_theme_font_size_override("normal_font_size", font_size); _tpl_text->add_theme_font_size_override("normal_font_size", font_size);
_tpl_text->add_theme_constant_override("line_separation", 4 * EDSCALE); _tpl_text->add_theme_constant_override("line_separation", 4 * EDSCALE);
_license_text->add_theme_font_override("normal_font", font); _license_text->add_theme_font_override("normal_font", font);
_license_text->add_theme_font_size_override("normal_font_size", font_size); _license_text->add_theme_font_size_override("normal_font_size", font_size);
_license_text->add_theme_constant_override("line_separation", 4 * EDSCALE); _license_text->add_theme_constant_override("line_separation", 4 * EDSCALE);
_logo->set_texture(get_theme_icon(SNAME("Logo"), SNAME("EditorIcons"))); _logo->set_texture(get_editor_theme_icon(SNAME("Logo")));
} }
void EditorAbout::_notification(int p_what) { void EditorAbout::_notification(int p_what) {

View File

@ -35,6 +35,7 @@
#include "core/io/zip_io.h" #include "core/io/zip_io.h"
#include "editor/editor_file_system.h" #include "editor/editor_file_system.h"
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_string_names.h"
#include "editor/progress_dialog.h" #include "editor/progress_dialog.h"
void EditorAssetInstaller::_item_edited() { void EditorAssetInstaller::_item_edited() {
@ -89,56 +90,56 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
HashMap<String, Ref<Texture2D>> extension_guess; HashMap<String, Ref<Texture2D>> extension_guess;
{ {
extension_guess["bmp"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["bmp"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["dds"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["dds"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["exr"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["exr"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["hdr"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["hdr"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["jpg"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["jpg"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["jpeg"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["jpeg"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["png"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["png"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["svg"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["svg"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["tga"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["tga"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["webp"] = tree->get_theme_icon(SNAME("ImageTexture"), SNAME("EditorIcons")); extension_guess["webp"] = tree->get_editor_theme_icon(SNAME("ImageTexture"));
extension_guess["wav"] = tree->get_theme_icon(SNAME("AudioStreamWAV"), SNAME("EditorIcons")); extension_guess["wav"] = tree->get_editor_theme_icon(SNAME("AudioStreamWAV"));
extension_guess["ogg"] = tree->get_theme_icon(SNAME("AudioStreamOggVorbis"), SNAME("EditorIcons")); extension_guess["ogg"] = tree->get_editor_theme_icon(SNAME("AudioStreamOggVorbis"));
extension_guess["mp3"] = tree->get_theme_icon(SNAME("AudioStreamMP3"), SNAME("EditorIcons")); extension_guess["mp3"] = tree->get_editor_theme_icon(SNAME("AudioStreamMP3"));
extension_guess["scn"] = tree->get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")); extension_guess["scn"] = tree->get_editor_theme_icon(SNAME("PackedScene"));
extension_guess["tscn"] = tree->get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")); extension_guess["tscn"] = tree->get_editor_theme_icon(SNAME("PackedScene"));
extension_guess["escn"] = tree->get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")); extension_guess["escn"] = tree->get_editor_theme_icon(SNAME("PackedScene"));
extension_guess["dae"] = tree->get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")); extension_guess["dae"] = tree->get_editor_theme_icon(SNAME("PackedScene"));
extension_guess["gltf"] = tree->get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")); extension_guess["gltf"] = tree->get_editor_theme_icon(SNAME("PackedScene"));
extension_guess["glb"] = tree->get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")); extension_guess["glb"] = tree->get_editor_theme_icon(SNAME("PackedScene"));
extension_guess["gdshader"] = tree->get_theme_icon(SNAME("Shader"), SNAME("EditorIcons")); extension_guess["gdshader"] = tree->get_editor_theme_icon(SNAME("Shader"));
extension_guess["gdshaderinc"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["gdshaderinc"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["gd"] = tree->get_theme_icon(SNAME("GDScript"), SNAME("EditorIcons")); extension_guess["gd"] = tree->get_editor_theme_icon(SNAME("GDScript"));
if (Engine::get_singleton()->has_singleton("GodotSharp")) { if (Engine::get_singleton()->has_singleton("GodotSharp")) {
extension_guess["cs"] = tree->get_theme_icon(SNAME("CSharpScript"), SNAME("EditorIcons")); extension_guess["cs"] = tree->get_editor_theme_icon(SNAME("CSharpScript"));
} else { } else {
// Mark C# support as unavailable. // Mark C# support as unavailable.
extension_guess["cs"] = tree->get_theme_icon(SNAME("ImportFail"), SNAME("EditorIcons")); extension_guess["cs"] = tree->get_editor_theme_icon(SNAME("ImportFail"));
} }
extension_guess["res"] = tree->get_theme_icon(SNAME("Resource"), SNAME("EditorIcons")); extension_guess["res"] = tree->get_editor_theme_icon(SNAME("Resource"));
extension_guess["tres"] = tree->get_theme_icon(SNAME("Resource"), SNAME("EditorIcons")); extension_guess["tres"] = tree->get_editor_theme_icon(SNAME("Resource"));
extension_guess["atlastex"] = tree->get_theme_icon(SNAME("AtlasTexture"), SNAME("EditorIcons")); extension_guess["atlastex"] = tree->get_editor_theme_icon(SNAME("AtlasTexture"));
// By default, OBJ files are imported as Mesh resources rather than PackedScenes. // By default, OBJ files are imported as Mesh resources rather than PackedScenes.
extension_guess["obj"] = tree->get_theme_icon(SNAME("Mesh"), SNAME("EditorIcons")); extension_guess["obj"] = tree->get_editor_theme_icon(SNAME("Mesh"));
extension_guess["txt"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["txt"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["md"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["md"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["rst"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["rst"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["json"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["json"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["yml"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["yml"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["yaml"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["yaml"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["toml"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["toml"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["cfg"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["cfg"] = tree->get_editor_theme_icon(SNAME("TextFile"));
extension_guess["ini"] = tree->get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")); extension_guess["ini"] = tree->get_editor_theme_icon(SNAME("TextFile"));
} }
Ref<Texture2D> generic_extension = tree->get_theme_icon(SNAME("Object"), SNAME("EditorIcons")); Ref<Texture2D> generic_extension = tree->get_editor_theme_icon(SNAME("Object"));
unzClose(pkg); unzClose(pkg);
@ -213,7 +214,7 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
String res_path = "res://" + path; String res_path = "res://" + path;
if (FileAccess::exists(res_path)) { if (FileAccess::exists(res_path)) {
num_file_conflicts += 1; num_file_conflicts += 1;
ti->set_custom_color(0, tree->get_theme_color(SNAME("error_color"), SNAME("Editor"))); ti->set_custom_color(0, tree->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
ti->set_tooltip_text(0, vformat(TTR("%s (already exists)"), res_path)); ti->set_tooltip_text(0, vformat(TTR("%s (already exists)"), res_path));
ti->set_checked(0, false); ti->set_checked(0, false);
ti->propagate_check(0); ti->propagate_check(0);

View File

@ -37,6 +37,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/filesystem_dock.h" #include "editor/filesystem_dock.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
@ -69,7 +70,7 @@ void EditorAudioBus::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
Ref<Texture2D> active_bus_texture = get_theme_icon(SNAME("BusVuActive"), SNAME("EditorIcons")); Ref<Texture2D> active_bus_texture = get_editor_theme_icon(SNAME("BusVuActive"));
for (int i = 0; i < CHANNELS_MAX; i++) { for (int i = 0; i < CHANNELS_MAX; i++) {
channel[i].vu_l->set_under_texture(active_bus_texture); channel[i].vu_l->set_under_texture(active_bus_texture);
channel[i].vu_l->set_tint_under(Color(0.75, 0.75, 0.75)); channel[i].vu_l->set_tint_under(Color(0.75, 0.75, 0.75));
@ -81,20 +82,20 @@ void EditorAudioBus::_notification(int p_what) {
channel[i].prev_active = true; channel[i].prev_active = true;
} }
disabled_vu = get_theme_icon(SNAME("BusVuFrozen"), SNAME("EditorIcons")); disabled_vu = get_editor_theme_icon(SNAME("BusVuFrozen"));
Color solo_color = EditorSettings::get_singleton()->is_dark_theme() ? Color(1.0, 0.89, 0.22) : Color(1.0, 0.92, 0.44); Color solo_color = EditorSettings::get_singleton()->is_dark_theme() ? Color(1.0, 0.89, 0.22) : Color(1.0, 0.92, 0.44);
Color mute_color = EditorSettings::get_singleton()->is_dark_theme() ? Color(1.0, 0.16, 0.16) : Color(1.0, 0.44, 0.44); Color mute_color = EditorSettings::get_singleton()->is_dark_theme() ? Color(1.0, 0.16, 0.16) : Color(1.0, 0.44, 0.44);
Color bypass_color = EditorSettings::get_singleton()->is_dark_theme() ? Color(0.13, 0.8, 1.0) : Color(0.44, 0.87, 1.0); Color bypass_color = EditorSettings::get_singleton()->is_dark_theme() ? Color(0.13, 0.8, 1.0) : Color(0.44, 0.87, 1.0);
solo->set_icon(get_theme_icon(SNAME("AudioBusSolo"), SNAME("EditorIcons"))); solo->set_icon(get_editor_theme_icon(SNAME("AudioBusSolo")));
solo->add_theme_color_override("icon_pressed_color", solo_color); solo->add_theme_color_override("icon_pressed_color", solo_color);
mute->set_icon(get_theme_icon(SNAME("AudioBusMute"), SNAME("EditorIcons"))); mute->set_icon(get_editor_theme_icon(SNAME("AudioBusMute")));
mute->add_theme_color_override("icon_pressed_color", mute_color); mute->add_theme_color_override("icon_pressed_color", mute_color);
bypass->set_icon(get_theme_icon(SNAME("AudioBusBypass"), SNAME("EditorIcons"))); bypass->set_icon(get_editor_theme_icon(SNAME("AudioBusBypass")));
bypass->add_theme_color_override("icon_pressed_color", bypass_color); bypass->add_theme_color_override("icon_pressed_color", bypass_color);
bus_options->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); bus_options->set_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
audio_value_preview_label->add_theme_color_override("font_color", get_theme_color(SNAME("font_color"), SNAME("TooltipLabel"))); audio_value_preview_label->add_theme_color_override("font_color", get_theme_color(SNAME("font_color"), SNAME("TooltipLabel")));
audio_value_preview_label->add_theme_color_override("font_shadow_color", get_theme_color(SNAME("font_shadow_color"), SNAME("TooltipLabel"))); audio_value_preview_label->add_theme_color_override("font_shadow_color", get_theme_color(SNAME("font_shadow_color"), SNAME("TooltipLabel")));
@ -122,7 +123,7 @@ void EditorAudioBus::_notification(int p_what) {
} }
if (get_index() != 0 && hovering_drop) { if (get_index() != 0 && hovering_drop) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
accent.a *= 0.7; accent.a *= 0.7;
draw_rect(Rect2(Point2(), get_size()), accent, false); draw_rect(Rect2(Point2(), get_size()), accent, false);
} }
@ -970,7 +971,7 @@ void EditorAudioBusDrop::_notification(int p_what) {
draw_style_box(get_theme_stylebox(SNAME("normal"), SNAME("Button")), Rect2(Vector2(), get_size())); draw_style_box(get_theme_stylebox(SNAME("normal"), SNAME("Button")), Rect2(Vector2(), get_size()));
if (hovering_drop) { if (hovering_drop) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
accent.a *= 0.7; accent.a *= 0.7;
draw_rect(Rect2(Point2(), get_size()), accent, false); draw_rect(Rect2(Point2(), get_size()), accent, false);
} }
@ -1443,7 +1444,7 @@ Size2 EditorAudioMeterNotches::get_minimum_size() const {
void EditorAudioMeterNotches::_update_theme_item_cache() { void EditorAudioMeterNotches::_update_theme_item_cache() {
Control::_update_theme_item_cache(); Control::_update_theme_item_cache();
theme_cache.notch_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); theme_cache.notch_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
theme_cache.font = get_theme_font(SNAME("font"), SNAME("Label")); theme_cache.font = get_theme_font(SNAME("font"), SNAME("Label"));
theme_cache.font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); theme_cache.font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));

View File

@ -34,6 +34,7 @@
#include "core/core_constants.h" #include "core/core_constants.h"
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/filesystem_dock.h" #include "editor/filesystem_dock.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
@ -59,11 +60,11 @@ void EditorAutoloadSettings::_notification(int p_what) {
get_tree()->get_root()->call_deferred(SNAME("add_child"), info.node); get_tree()->get_root()->call_deferred(SNAME("add_child"), info.node);
} }
} }
browse_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); browse_button->set_icon(get_editor_theme_icon(SNAME("Folder")));
} break; } break;
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
browse_button->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); browse_button->set_icon(get_editor_theme_icon(SNAME("Folder")));
} break; } break;
case NOTIFICATION_VISIBILITY_CHANGED: { case NOTIFICATION_VISIBILITY_CHANGED: {
@ -517,10 +518,10 @@ void EditorAutoloadSettings::update_autoload() {
item->set_editable(2, true); item->set_editable(2, true);
item->set_text(2, TTR("Enable")); item->set_text(2, TTR("Enable"));
item->set_checked(2, info.is_singleton); item->set_checked(2, info.is_singleton);
item->add_button(3, get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), BUTTON_OPEN); item->add_button(3, get_editor_theme_icon(SNAME("Load")), BUTTON_OPEN);
item->add_button(3, get_theme_icon(SNAME("MoveUp"), SNAME("EditorIcons")), BUTTON_MOVE_UP); item->add_button(3, get_editor_theme_icon(SNAME("MoveUp")), BUTTON_MOVE_UP);
item->add_button(3, get_theme_icon(SNAME("MoveDown"), SNAME("EditorIcons")), BUTTON_MOVE_DOWN); item->add_button(3, get_editor_theme_icon(SNAME("MoveDown")), BUTTON_MOVE_DOWN);
item->add_button(3, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_DELETE); item->add_button(3, get_editor_theme_icon(SNAME("Remove")), BUTTON_DELETE);
item->set_selectable(3, false); item->set_selectable(3, false);
} }
@ -881,7 +882,7 @@ EditorAutoloadSettings::EditorAutoloadSettings() {
error_message = memnew(Label); error_message = memnew(Label);
error_message->hide(); error_message->hide();
error_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT); error_message->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT);
error_message->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_message->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
add_child(error_message); add_child(error_message);
Label *l = memnew(Label); Label *l = memnew(Label);

View File

@ -38,6 +38,7 @@
#include "editor/editor_property_name_processor.h" #include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
const char *EditorBuildProfile::build_option_identifiers[BUILD_OPTION_MAX] = { const char *EditorBuildProfile::build_option_identifiers[BUILD_OPTION_MAX] = {
@ -600,7 +601,7 @@ void EditorBuildProfileManager::_fill_classes_from(TreeItem *p_parent, const Str
bool disabled = edited->is_class_disabled(p_class); bool disabled = edited->is_class_disabled(p_class);
if (disabled) { if (disabled) {
class_item->set_custom_color(0, class_list->get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); class_item->set_custom_color(0, class_list->get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
} }
class_item->set_text(0, text); class_item->set_text(0, text);

View File

@ -33,6 +33,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/gui/control.h" #include "scene/gui/control.h"
#include "scene/gui/tree.h" #include "scene/gui/tree.h"
@ -127,8 +128,8 @@ void EditorCommandPalette::_update_command_search(const String &search_text) {
section->set_text(0, item_name); section->set_text(0, item_name);
section->set_selectable(0, false); section->set_selectable(0, false);
section->set_selectable(1, false); section->set_selectable(1, false);
section->set_custom_bg_color(0, search_options->get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); section->set_custom_bg_color(0, search_options->get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
section->set_custom_bg_color(1, search_options->get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); section->set_custom_bg_color(1, search_options->get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
sections[section_name] = section; sections[section_name] = section;
} }
@ -139,7 +140,7 @@ void EditorCommandPalette::_update_command_search(const String &search_text) {
ti->set_metadata(0, entries[i].key_name); ti->set_metadata(0, entries[i].key_name);
ti->set_text_alignment(1, HORIZONTAL_ALIGNMENT_RIGHT); ti->set_text_alignment(1, HORIZONTAL_ALIGNMENT_RIGHT);
ti->set_text(1, shortcut_text); ti->set_text(1, shortcut_text);
Color c = get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.5); Color c = get_theme_color(SNAME("font_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.5);
ti->set_custom_color(1, c); ti->set_custom_color(1, c);
} }
@ -294,7 +295,7 @@ Ref<Shortcut> EditorCommandPalette::add_shortcut_command(const String &p_command
} }
void EditorCommandPalette::_theme_changed() { void EditorCommandPalette::_theme_changed() {
command_search_box->set_right_icon(search_options->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); command_search_box->set_right_icon(search_options->get_editor_theme_icon(SNAME("Search")));
} }
void EditorCommandPalette::_save_history() const { void EditorCommandPalette::_save_history() const {

View File

@ -37,6 +37,7 @@
#include "editor/editor_property_name_processor.h" #include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
const char *EditorFeatureProfile::feature_names[FEATURE_MAX] = { const char *EditorFeatureProfile::feature_names[FEATURE_MAX] = {
@ -502,7 +503,7 @@ void EditorFeatureProfileManager::_fill_classes_from(TreeItem *p_parent, const S
bool disabled_editor = edited->is_class_editor_disabled(p_class); bool disabled_editor = edited->is_class_editor_disabled(p_class);
bool disabled_properties = edited->has_class_properties_disabled(p_class); bool disabled_properties = edited->has_class_properties_disabled(p_class);
if (disabled) { if (disabled) {
class_item->set_custom_color(0, class_list->get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); class_item->set_custom_color(0, class_list->get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
} else if (disabled_editor && disabled_properties) { } else if (disabled_editor && disabled_properties) {
text += " " + TTR("(Editor Disabled, Properties Disabled)"); text += " " + TTR("(Editor Disabled, Properties Disabled)");
} else if (disabled_properties) { } else if (disabled_properties) {

View File

@ -34,6 +34,7 @@
#include "core/io/dir_access.h" #include "core/io/dir_access.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/resources/font.h" #include "scene/resources/font.h"
Ref<FontFile> load_external_font(const String &p_path, TextServer::Hinting p_hinting, TextServer::FontAntialiasing p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning, bool p_msdf = false, TypedArray<Font> *r_fallbacks = nullptr) { Ref<FontFile> load_external_font(const String &p_path, TextServer::Hinting p_hinting, TextServer::FontAntialiasing p_aa, bool p_autohint, TextServer::SubpixelPositioning p_font_subpixel_positioning, bool p_msdf = false, TypedArray<Font> *r_fallbacks = nullptr) {
@ -377,21 +378,21 @@ void editor_register_fonts(Ref<Theme> p_theme) {
// Main font. // Main font.
p_theme->set_font("main", "EditorFonts", default_fc); p_theme->set_font("main", EditorStringName(EditorFonts), default_fc);
p_theme->set_font("main_msdf", "EditorFonts", default_fc_msdf); p_theme->set_font("main_msdf", EditorStringName(EditorFonts), default_fc_msdf);
p_theme->set_font_size("main_size", "EditorFonts", default_font_size); p_theme->set_font_size("main_size", EditorStringName(EditorFonts), default_font_size);
p_theme->set_font("bold", "EditorFonts", bold_fc); p_theme->set_font("bold", EditorStringName(EditorFonts), bold_fc);
p_theme->set_font("main_bold_msdf", "EditorFonts", bold_fc_msdf); p_theme->set_font("main_bold_msdf", EditorStringName(EditorFonts), bold_fc_msdf);
p_theme->set_font_size("bold_size", "EditorFonts", default_font_size); p_theme->set_font_size("bold_size", EditorStringName(EditorFonts), default_font_size);
// Title font. // Title font.
p_theme->set_font("title", "EditorFonts", bold_fc); p_theme->set_font("title", EditorStringName(EditorFonts), bold_fc);
p_theme->set_font_size("title_size", "EditorFonts", default_font_size + 1 * EDSCALE); p_theme->set_font_size("title_size", EditorStringName(EditorFonts), default_font_size + 1 * EDSCALE);
p_theme->set_font("main_button_font", "EditorFonts", bold_fc); p_theme->set_font("main_button_font", EditorStringName(EditorFonts), bold_fc);
p_theme->set_font_size("main_button_font_size", "EditorFonts", default_font_size + 1 * EDSCALE); p_theme->set_font_size("main_button_font_size", EditorStringName(EditorFonts), default_font_size + 1 * EDSCALE);
p_theme->set_font("font", "Label", default_fc); p_theme->set_font("font", "Label", default_fc);
@ -408,41 +409,41 @@ void editor_register_fonts(Ref<Theme> p_theme) {
p_theme->set_font_size("font_size", "HeaderLarge", default_font_size + 3 * EDSCALE); p_theme->set_font_size("font_size", "HeaderLarge", default_font_size + 3 * EDSCALE);
// Documentation fonts // Documentation fonts
p_theme->set_font_size("doc_size", "EditorFonts", int(EDITOR_GET("text_editor/help/help_font_size")) * EDSCALE); p_theme->set_font_size("doc_size", EditorStringName(EditorFonts), int(EDITOR_GET("text_editor/help/help_font_size")) * EDSCALE);
p_theme->set_font("doc", "EditorFonts", default_fc); p_theme->set_font("doc", EditorStringName(EditorFonts), default_fc);
p_theme->set_font("doc_bold", "EditorFonts", bold_fc); p_theme->set_font("doc_bold", EditorStringName(EditorFonts), bold_fc);
p_theme->set_font("doc_italic", "EditorFonts", italic_fc); p_theme->set_font("doc_italic", EditorStringName(EditorFonts), italic_fc);
p_theme->set_font_size("doc_title_size", "EditorFonts", int(EDITOR_GET("text_editor/help/help_title_font_size")) * EDSCALE); p_theme->set_font_size("doc_title_size", EditorStringName(EditorFonts), int(EDITOR_GET("text_editor/help/help_title_font_size")) * EDSCALE);
p_theme->set_font("doc_title", "EditorFonts", bold_fc); p_theme->set_font("doc_title", EditorStringName(EditorFonts), bold_fc);
p_theme->set_font_size("doc_source_size", "EditorFonts", int(EDITOR_GET("text_editor/help/help_source_font_size")) * EDSCALE); p_theme->set_font_size("doc_source_size", EditorStringName(EditorFonts), int(EDITOR_GET("text_editor/help/help_source_font_size")) * EDSCALE);
p_theme->set_font("doc_source", "EditorFonts", mono_fc); p_theme->set_font("doc_source", EditorStringName(EditorFonts), mono_fc);
p_theme->set_font_size("doc_keyboard_size", "EditorFonts", (int(EDITOR_GET("text_editor/help/help_source_font_size")) - 1) * EDSCALE); p_theme->set_font_size("doc_keyboard_size", EditorStringName(EditorFonts), (int(EDITOR_GET("text_editor/help/help_source_font_size")) - 1) * EDSCALE);
p_theme->set_font("doc_keyboard", "EditorFonts", mono_fc); p_theme->set_font("doc_keyboard", EditorStringName(EditorFonts), mono_fc);
// Ruler font // Ruler font
p_theme->set_font_size("rulers_size", "EditorFonts", 8 * EDSCALE); p_theme->set_font_size("rulers_size", EditorStringName(EditorFonts), 8 * EDSCALE);
p_theme->set_font("rulers", "EditorFonts", default_fc); p_theme->set_font("rulers", EditorStringName(EditorFonts), default_fc);
// Rotation widget font // Rotation widget font
p_theme->set_font_size("rotation_control_size", "EditorFonts", 14 * EDSCALE); p_theme->set_font_size("rotation_control_size", EditorStringName(EditorFonts), 14 * EDSCALE);
p_theme->set_font("rotation_control", "EditorFonts", default_fc); p_theme->set_font("rotation_control", EditorStringName(EditorFonts), default_fc);
// Code font // Code font
p_theme->set_font_size("source_size", "EditorFonts", int(EDITOR_GET("interface/editor/code_font_size")) * EDSCALE); p_theme->set_font_size("source_size", EditorStringName(EditorFonts), int(EDITOR_GET("interface/editor/code_font_size")) * EDSCALE);
p_theme->set_font("source", "EditorFonts", mono_fc); p_theme->set_font("source", EditorStringName(EditorFonts), mono_fc);
p_theme->set_font_size("expression_size", "EditorFonts", (int(EDITOR_GET("interface/editor/code_font_size")) - 1) * EDSCALE); p_theme->set_font_size("expression_size", EditorStringName(EditorFonts), (int(EDITOR_GET("interface/editor/code_font_size")) - 1) * EDSCALE);
p_theme->set_font("expression", "EditorFonts", mono_other_fc); p_theme->set_font("expression", EditorStringName(EditorFonts), mono_other_fc);
p_theme->set_font_size("output_source_size", "EditorFonts", int(EDITOR_GET("run/output/font_size")) * EDSCALE); p_theme->set_font_size("output_source_size", EditorStringName(EditorFonts), int(EDITOR_GET("run/output/font_size")) * EDSCALE);
p_theme->set_font("output_source", "EditorFonts", mono_other_fc); p_theme->set_font("output_source", EditorStringName(EditorFonts), mono_other_fc);
p_theme->set_font("output_source_bold", "EditorFonts", mono_other_fc_bold); p_theme->set_font("output_source_bold", EditorStringName(EditorFonts), mono_other_fc_bold);
p_theme->set_font("output_source_italic", "EditorFonts", mono_other_fc_italic); p_theme->set_font("output_source_italic", EditorStringName(EditorFonts), mono_other_fc_italic);
p_theme->set_font("output_source_bold_italic", "EditorFonts", mono_other_fc_bold_italic); p_theme->set_font("output_source_bold_italic", EditorStringName(EditorFonts), mono_other_fc_bold_italic);
p_theme->set_font("output_source_mono", "EditorFonts", mono_other_fc_mono); p_theme->set_font("output_source_mono", EditorStringName(EditorFonts), mono_other_fc_mono);
p_theme->set_font_size("status_source_size", "EditorFonts", default_font_size); p_theme->set_font_size("status_source_size", EditorStringName(EditorFonts), default_font_size);
p_theme->set_font("status_source", "EditorFonts", mono_other_fc); p_theme->set_font("status_source", EditorStringName(EditorFonts), mono_other_fc);
OS::get_singleton()->benchmark_end_measure("editor_register_fonts"); OS::get_singleton()->benchmark_end_measure("editor_register_fonts");
} }

View File

@ -40,6 +40,7 @@
#include "editor/editor_paths.h" #include "editor/editor_paths.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/plugins/script_editor_plugin.h" #include "editor/plugins/script_editor_plugin.h"
#include "scene/gui/line_edit.h" #include "scene/gui/line_edit.h"
@ -143,17 +144,17 @@ void EditorHelp::_update_theme_item_cache() {
theme_cache.qualifier_color = get_theme_color(SNAME("qualifier_color"), SNAME("EditorHelp")); theme_cache.qualifier_color = get_theme_color(SNAME("qualifier_color"), SNAME("EditorHelp"));
theme_cache.type_color = get_theme_color(SNAME("type_color"), SNAME("EditorHelp")); theme_cache.type_color = get_theme_color(SNAME("type_color"), SNAME("EditorHelp"));
theme_cache.doc_font = get_theme_font(SNAME("doc"), SNAME("EditorFonts")); theme_cache.doc_font = get_theme_font(SNAME("doc"), EditorStringName(EditorFonts));
theme_cache.doc_bold_font = get_theme_font(SNAME("doc_bold"), SNAME("EditorFonts")); theme_cache.doc_bold_font = get_theme_font(SNAME("doc_bold"), EditorStringName(EditorFonts));
theme_cache.doc_italic_font = get_theme_font(SNAME("doc_italic"), SNAME("EditorFonts")); theme_cache.doc_italic_font = get_theme_font(SNAME("doc_italic"), EditorStringName(EditorFonts));
theme_cache.doc_title_font = get_theme_font(SNAME("doc_title"), SNAME("EditorFonts")); theme_cache.doc_title_font = get_theme_font(SNAME("doc_title"), EditorStringName(EditorFonts));
theme_cache.doc_code_font = get_theme_font(SNAME("doc_source"), SNAME("EditorFonts")); theme_cache.doc_code_font = get_theme_font(SNAME("doc_source"), EditorStringName(EditorFonts));
theme_cache.doc_kbd_font = get_theme_font(SNAME("doc_keyboard"), SNAME("EditorFonts")); theme_cache.doc_kbd_font = get_theme_font(SNAME("doc_keyboard"), EditorStringName(EditorFonts));
theme_cache.doc_font_size = get_theme_font_size(SNAME("doc_size"), SNAME("EditorFonts")); theme_cache.doc_font_size = get_theme_font_size(SNAME("doc_size"), EditorStringName(EditorFonts));
theme_cache.doc_title_font_size = get_theme_font_size(SNAME("doc_title_size"), SNAME("EditorFonts")); theme_cache.doc_title_font_size = get_theme_font_size(SNAME("doc_title_size"), EditorStringName(EditorFonts));
theme_cache.doc_code_font_size = get_theme_font_size(SNAME("doc_source_size"), SNAME("EditorFonts")); theme_cache.doc_code_font_size = get_theme_font_size(SNAME("doc_source_size"), EditorStringName(EditorFonts));
theme_cache.doc_kbd_font_size = get_theme_font_size(SNAME("doc_keyboard_size"), SNAME("EditorFonts")); theme_cache.doc_kbd_font_size = get_theme_font_size(SNAME("doc_keyboard_size"), EditorStringName(EditorFonts));
theme_cache.background_style = get_theme_stylebox(SNAME("background"), SNAME("EditorHelp")); theme_cache.background_style = get_theme_stylebox(SNAME("background"), SNAME("EditorHelp"));
@ -393,17 +394,17 @@ String EditorHelp::_fix_constant(const String &p_constant) const {
} }
// Macros for assigning the deprecation/experimental information to class members // Macros for assigning the deprecation/experimental information to class members
#define DEPRECATED_DOC_TAG \ #define DEPRECATED_DOC_TAG \
class_desc->push_color(get_theme_color(SNAME("error_color"), SNAME("Editor"))); \ class_desc->push_color(get_theme_color(SNAME("error_color"), EditorStringName(Editor))); \
Ref<Texture2D> error_icon = get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")); \ Ref<Texture2D> error_icon = get_editor_theme_icon(SNAME("StatusError")); \
class_desc->add_text(" "); \ class_desc->add_text(" "); \
class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height()); \ class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height()); \
class_desc->add_text(" (" + TTR("Deprecated") + ")"); \ class_desc->add_text(" (" + TTR("Deprecated") + ")"); \
class_desc->pop(); class_desc->pop();
#define EXPERIMENTAL_DOC_TAG \ #define EXPERIMENTAL_DOC_TAG \
class_desc->push_color(get_theme_color(SNAME("warning_color"), SNAME("Editor"))); \ class_desc->push_color(get_theme_color(SNAME("warning_color"), EditorStringName(Editor))); \
Ref<Texture2D> warning_icon = get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons")); \ Ref<Texture2D> warning_icon = get_editor_theme_icon(SNAME("NodeWarning")); \
class_desc->add_text(" "); \ class_desc->add_text(" "); \
class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height()); \ class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height()); \
class_desc->add_text(" (" + TTR("Experimental") + ")"); \ class_desc->add_text(" (" + TTR("Experimental") + ")"); \
@ -696,7 +697,7 @@ void EditorHelp::_update_method_descriptions(const DocData::ClassDoc p_classdoc,
if (!methods_filtered[i].description.strip_edges().is_empty()) { if (!methods_filtered[i].description.strip_edges().is_empty()) {
_add_text(DTR(methods_filtered[i].description)); _add_text(DTR(methods_filtered[i].description));
} else { } else {
class_desc->add_image(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); class_desc->add_image(get_editor_theme_icon(SNAME("Error")));
class_desc->add_text(" "); class_desc->add_text(" ");
class_desc->push_color(theme_cache.comment_color); class_desc->push_color(theme_cache.comment_color);
if (p_classdoc.is_script_doc) { if (p_classdoc.is_script_doc) {
@ -746,12 +747,12 @@ void EditorHelp::_update_doc() {
if (cd.is_deprecated) { if (cd.is_deprecated) {
class_desc->add_text(" "); class_desc->add_text(" ");
Ref<Texture2D> error_icon = get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")); Ref<Texture2D> error_icon = get_editor_theme_icon(SNAME("StatusError"));
class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height()); class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height());
} }
if (cd.is_experimental) { if (cd.is_experimental) {
class_desc->add_text(" "); class_desc->add_text(" ");
Ref<Texture2D> warning_icon = get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons")); Ref<Texture2D> warning_icon = get_editor_theme_icon(SNAME("NodeWarning"));
class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height()); class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height());
} }
class_desc->add_newline(); class_desc->add_newline();
@ -818,8 +819,8 @@ void EditorHelp::_update_doc() {
// Note if deprecated. // Note if deprecated.
if (cd.is_deprecated) { if (cd.is_deprecated) {
Ref<Texture2D> error_icon = get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")); Ref<Texture2D> error_icon = get_editor_theme_icon(SNAME("StatusError"));
class_desc->push_color(get_theme_color(SNAME("error_color"), SNAME("Editor"))); class_desc->push_color(get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height()); class_desc->add_image(error_icon, error_icon->get_width(), error_icon->get_height());
class_desc->add_text(String(" ") + TTR("This class is marked as deprecated. It will be removed in future versions.")); class_desc->add_text(String(" ") + TTR("This class is marked as deprecated. It will be removed in future versions."));
class_desc->pop(); class_desc->pop();
@ -828,8 +829,8 @@ void EditorHelp::_update_doc() {
// Note if experimental. // Note if experimental.
if (cd.is_experimental) { if (cd.is_experimental) {
Ref<Texture2D> warning_icon = get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons")); Ref<Texture2D> warning_icon = get_editor_theme_icon(SNAME("NodeWarning"));
class_desc->push_color(get_theme_color(SNAME("warning_color"), SNAME("Editor"))); class_desc->push_color(get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height()); class_desc->add_image(warning_icon, warning_icon->get_width(), warning_icon->get_height());
class_desc->add_text(String(" ") + TTR("This class is marked as experimental. It is subject to likely change or possible removal in future versions. Use at your own discretion.")); class_desc->add_text(String(" ") + TTR("This class is marked as experimental. It is subject to likely change or possible removal in future versions. Use at your own discretion."));
class_desc->pop(); class_desc->pop();
@ -884,7 +885,7 @@ void EditorHelp::_update_doc() {
} }
if (!has_description) { if (!has_description) {
class_desc->add_image(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); class_desc->add_image(get_editor_theme_icon(SNAME("Error")));
class_desc->add_text(" "); class_desc->add_text(" ");
class_desc->push_color(theme_cache.comment_color); class_desc->push_color(theme_cache.comment_color);
@ -1633,7 +1634,7 @@ void EditorHelp::_update_doc() {
class_desc->pop(); // color class_desc->pop(); // color
} else { } else {
class_desc->push_indent(1); class_desc->push_indent(1);
class_desc->add_image(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); class_desc->add_image(get_editor_theme_icon(SNAME("Error")));
class_desc->add_text(" "); class_desc->add_text(" ");
class_desc->push_color(theme_cache.comment_color); class_desc->push_color(theme_cache.comment_color);
if (cd.is_script_doc) { if (cd.is_script_doc) {
@ -1815,7 +1816,7 @@ void EditorHelp::_update_doc() {
if (!cd.properties[i].description.strip_edges().is_empty()) { if (!cd.properties[i].description.strip_edges().is_empty()) {
_add_text(DTR(cd.properties[i].description)); _add_text(DTR(cd.properties[i].description));
} else { } else {
class_desc->add_image(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); class_desc->add_image(get_editor_theme_icon(SNAME("Error")));
class_desc->add_text(" "); class_desc->add_text(" ");
class_desc->push_color(theme_cache.comment_color); class_desc->push_color(theme_cache.comment_color);
if (cd.is_script_doc) { if (cd.is_script_doc) {
@ -1949,14 +1950,14 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt, Control
DocTools *doc = EditorHelp::get_doc_data(); DocTools *doc = EditorHelp::get_doc_data();
String base_path; String base_path;
Ref<Font> doc_font = p_owner_node->get_theme_font(SNAME("doc"), SNAME("EditorFonts")); Ref<Font> doc_font = p_owner_node->get_theme_font(SNAME("doc"), EditorStringName(EditorFonts));
Ref<Font> doc_bold_font = p_owner_node->get_theme_font(SNAME("doc_bold"), SNAME("EditorFonts")); Ref<Font> doc_bold_font = p_owner_node->get_theme_font(SNAME("doc_bold"), EditorStringName(EditorFonts));
Ref<Font> doc_italic_font = p_owner_node->get_theme_font(SNAME("doc_italic"), SNAME("EditorFonts")); Ref<Font> doc_italic_font = p_owner_node->get_theme_font(SNAME("doc_italic"), EditorStringName(EditorFonts));
Ref<Font> doc_code_font = p_owner_node->get_theme_font(SNAME("doc_source"), SNAME("EditorFonts")); Ref<Font> doc_code_font = p_owner_node->get_theme_font(SNAME("doc_source"), EditorStringName(EditorFonts));
Ref<Font> doc_kbd_font = p_owner_node->get_theme_font(SNAME("doc_keyboard"), SNAME("EditorFonts")); Ref<Font> doc_kbd_font = p_owner_node->get_theme_font(SNAME("doc_keyboard"), EditorStringName(EditorFonts));
int doc_code_font_size = p_owner_node->get_theme_font_size(SNAME("doc_source_size"), SNAME("EditorFonts")); int doc_code_font_size = p_owner_node->get_theme_font_size(SNAME("doc_source_size"), EditorStringName(EditorFonts));
int doc_kbd_font_size = p_owner_node->get_theme_font_size(SNAME("doc_keyboard_size"), SNAME("EditorFonts")); int doc_kbd_font_size = p_owner_node->get_theme_font_size(SNAME("doc_keyboard_size"), EditorStringName(EditorFonts));
const Color type_color = p_owner_node->get_theme_color(SNAME("type_color"), SNAME("EditorHelp")); const Color type_color = p_owner_node->get_theme_color(SNAME("type_color"), SNAME("EditorHelp"));
const Color code_color = p_owner_node->get_theme_color(SNAME("code_color"), SNAME("EditorHelp")); const Color code_color = p_owner_node->get_theme_color(SNAME("code_color"), SNAME("EditorHelp"));
@ -1964,9 +1965,9 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt, Control
const Color code_dark_color = Color(code_color, 0.8); const Color code_dark_color = Color(code_color, 0.8);
const Color link_color = p_owner_node->get_theme_color(SNAME("link_color"), SNAME("EditorHelp")); const Color link_color = p_owner_node->get_theme_color(SNAME("link_color"), SNAME("EditorHelp"));
const Color link_method_color = p_owner_node->get_theme_color(SNAME("accent_color"), SNAME("Editor")); const Color link_method_color = p_owner_node->get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
const Color link_property_color = link_color.lerp(p_owner_node->get_theme_color(SNAME("accent_color"), SNAME("Editor")), 0.25); const Color link_property_color = link_color.lerp(p_owner_node->get_theme_color(SNAME("accent_color"), EditorStringName(Editor)), 0.25);
const Color link_annotation_color = link_color.lerp(p_owner_node->get_theme_color(SNAME("accent_color"), SNAME("Editor")), 0.5); const Color link_annotation_color = link_color.lerp(p_owner_node->get_theme_color(SNAME("accent_color"), EditorStringName(Editor)), 0.5);
const Color code_bg_color = p_owner_node->get_theme_color(SNAME("code_bg_color"), SNAME("EditorHelp")); const Color code_bg_color = p_owner_node->get_theme_color(SNAME("code_bg_color"), SNAME("EditorHelp"));
const Color kbd_bg_color = p_owner_node->get_theme_color(SNAME("kbd_bg_color"), SNAME("EditorHelp")); const Color kbd_bg_color = p_owner_node->get_theme_color(SNAME("kbd_bg_color"), SNAME("EditorHelp"));
@ -2187,7 +2188,7 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt, Control
p_rt->push_font(doc_code_font); p_rt->push_font(doc_code_font);
p_rt->push_font_size(doc_code_font_size); p_rt->push_font_size(doc_code_font_size);
p_rt->push_bgcolor(code_bg_color); p_rt->push_bgcolor(code_bg_color);
p_rt->push_color(code_color.lerp(p_owner_node->get_theme_color(SNAME("error_color"), SNAME("Editor")), 0.6)); p_rt->push_color(code_color.lerp(p_owner_node->get_theme_color(SNAME("error_color"), EditorStringName(Editor)), 0.6));
code_tag = true; code_tag = true;
pos = brk_end + 1; pos = brk_end + 1;
@ -2486,9 +2487,9 @@ void EditorHelp::set_scroll(int p_scroll) {
void EditorHelp::update_toggle_scripts_button() { void EditorHelp::update_toggle_scripts_button() {
if (is_layout_rtl()) { if (is_layout_rtl()) {
toggle_scripts_button->set_icon(get_theme_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? SNAME("Forward") : SNAME("Back"), SNAME("EditorIcons"))); toggle_scripts_button->set_icon(get_editor_theme_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? SNAME("Forward") : SNAME("Back")));
} else { } else {
toggle_scripts_button->set_icon(get_theme_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? SNAME("Back") : SNAME("Forward"), SNAME("EditorIcons"))); toggle_scripts_button->set_icon(get_editor_theme_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? SNAME("Back") : SNAME("Forward")));
} }
toggle_scripts_button->set_tooltip_text(vformat("%s (%s)", TTR("Toggle Scripts Panel"), ED_GET_SHORTCUT("script_editor/toggle_scripts_panel")->get_as_text())); toggle_scripts_button->set_tooltip_text(vformat("%s (%s)", TTR("Toggle Scripts Panel"), ED_GET_SHORTCUT("script_editor/toggle_scripts_panel")->get_as_text()));
} }
@ -2668,13 +2669,13 @@ void FindBar::popup_search() {
void FindBar::_notification(int p_what) { void FindBar::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
find_prev->set_icon(get_theme_icon(SNAME("MoveUp"), SNAME("EditorIcons"))); find_prev->set_icon(get_editor_theme_icon(SNAME("MoveUp")));
find_next->set_icon(get_theme_icon(SNAME("MoveDown"), SNAME("EditorIcons"))); find_next->set_icon(get_editor_theme_icon(SNAME("MoveDown")));
hide_button->set_texture_normal(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); hide_button->set_texture_normal(get_editor_theme_icon(SNAME("Close")));
hide_button->set_texture_hover(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); hide_button->set_texture_hover(get_editor_theme_icon(SNAME("Close")));
hide_button->set_texture_pressed(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); hide_button->set_texture_pressed(get_editor_theme_icon(SNAME("Close")));
hide_button->set_custom_minimum_size(hide_button->get_texture_normal()->get_size()); hide_button->set_custom_minimum_size(hide_button->get_texture_normal()->get_size());
matches_label->add_theme_color_override("font_color", results_count > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), SNAME("Editor"))); matches_label->add_theme_color_override("font_color", results_count > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} break; } break;
case NOTIFICATION_VISIBILITY_CHANGED: { case NOTIFICATION_VISIBILITY_CHANGED: {
@ -2742,7 +2743,7 @@ void FindBar::_update_matches_label() {
} else { } else {
matches_label->show(); matches_label->show();
matches_label->add_theme_color_override("font_color", results_count > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), SNAME("Editor"))); matches_label->add_theme_color_override("font_color", results_count > 0 ? get_theme_color(SNAME("font_color"), SNAME("Label")) : get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
matches_label->set_text(vformat(results_count == 1 ? TTR("%d match.") : TTR("%d matches."), results_count)); matches_label->set_text(vformat(results_count == 1 ? TTR("%d match.") : TTR("%d matches."), results_count));
} }
} }

View File

@ -35,13 +35,14 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
void EditorHelpSearch::_update_icons() { void EditorHelpSearch::_update_icons() {
search_box->set_right_icon(results_tree->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search_box->set_right_icon(results_tree->get_editor_theme_icon(SNAME("Search")));
search_box->set_clear_button_enabled(true); search_box->set_clear_button_enabled(true);
search_box->add_theme_icon_override("right_icon", results_tree->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search_box->add_theme_icon_override("right_icon", results_tree->get_editor_theme_icon(SNAME("Search")));
case_sensitive_button->set_icon(results_tree->get_theme_icon(SNAME("MatchCase"), SNAME("EditorIcons"))); case_sensitive_button->set_icon(results_tree->get_editor_theme_icon(SNAME("MatchCase")));
hierarchy_button->set_icon(results_tree->get_theme_icon(SNAME("ClassList"), SNAME("EditorIcons"))); hierarchy_button->set_icon(results_tree->get_editor_theme_icon(SNAME("ClassList")));
if (is_visible()) { if (is_visible()) {
_update_results(); _update_results();
@ -608,10 +609,10 @@ TreeItem *EditorHelpSearch::Runner::_create_class_item(TreeItem *p_parent, const
} }
if (p_doc->is_deprecated) { if (p_doc->is_deprecated) {
Ref<Texture2D> error_icon = ui_service->get_theme_icon("StatusError", SNAME("EditorIcons")); Ref<Texture2D> error_icon = ui_service->get_editor_theme_icon("StatusError");
item->add_button(0, error_icon, 0, false, TTR("This class is marked as deprecated.")); item->add_button(0, error_icon, 0, false, TTR("This class is marked as deprecated."));
} else if (p_doc->is_experimental) { } else if (p_doc->is_experimental) {
Ref<Texture2D> warning_icon = ui_service->get_theme_icon("NodeWarning", SNAME("EditorIcons")); Ref<Texture2D> warning_icon = ui_service->get_editor_theme_icon("NodeWarning");
item->add_button(0, warning_icon, 0, false, TTR("This class is marked as experimental.")); item->add_button(0, warning_icon, 0, false, TTR("This class is marked as experimental."));
} }
@ -656,10 +657,10 @@ TreeItem *EditorHelpSearch::Runner::_create_member_item(TreeItem *p_parent, cons
Ref<Texture2D> icon; Ref<Texture2D> icon;
String text; String text;
if (search_flags & SEARCH_SHOW_HIERARCHY) { if (search_flags & SEARCH_SHOW_HIERARCHY) {
icon = ui_service->get_theme_icon(p_icon, SNAME("EditorIcons")); icon = ui_service->get_editor_theme_icon(p_icon);
text = p_text; text = p_text;
} else { } else {
icon = ui_service->get_theme_icon(p_icon, SNAME("EditorIcons")); icon = ui_service->get_editor_theme_icon(p_icon);
text = p_class_name + "." + p_text; text = p_class_name + "." + p_text;
} }
@ -672,10 +673,10 @@ TreeItem *EditorHelpSearch::Runner::_create_member_item(TreeItem *p_parent, cons
item->set_metadata(0, "class_" + p_metatype + ":" + p_class_name + ":" + p_name); item->set_metadata(0, "class_" + p_metatype + ":" + p_class_name + ":" + p_name);
if (is_deprecated) { if (is_deprecated) {
Ref<Texture2D> error_icon = ui_service->get_theme_icon("StatusError", SNAME("EditorIcons")); Ref<Texture2D> error_icon = ui_service->get_editor_theme_icon("StatusError");
item->add_button(0, error_icon, 0, false, TTR("This member is marked as deprecated.")); item->add_button(0, error_icon, 0, false, TTR("This member is marked as deprecated."));
} else if (is_experimental) { } else if (is_experimental) {
Ref<Texture2D> warning_icon = ui_service->get_theme_icon("NodeWarning", SNAME("EditorIcons")); Ref<Texture2D> warning_icon = ui_service->get_editor_theme_icon("NodeWarning");
item->add_button(0, warning_icon, 0, false, TTR("This member is marked as experimental.")); item->add_button(0, warning_icon, 0, false, TTR("This member is marked as experimental."));
} }
@ -700,5 +701,5 @@ EditorHelpSearch::Runner::Runner(Control *p_icon_service, Tree *p_results_tree,
results_tree(p_results_tree), results_tree(p_results_tree),
term((p_search_flags & SEARCH_CASE_SENSITIVE) == 0 ? p_term.strip_edges().to_lower() : p_term.strip_edges()), term((p_search_flags & SEARCH_CASE_SENSITIVE) == 0 ? p_term.strip_edges().to_lower() : p_term.strip_edges()),
search_flags(p_search_flags), search_flags(p_search_flags),
disabled_color(ui_service->get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))) { disabled_color(ui_service->get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor))) {
} }

View File

@ -37,6 +37,7 @@
#include "editor/editor_property_name_processor.h" #include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_validation_panel.h" #include "editor/gui/editor_validation_panel.h"
#include "editor/inspector_dock.h" #include "editor/inspector_dock.h"
@ -89,12 +90,12 @@ Size2 EditorProperty::get_minimum_size() const {
} }
if (keying) { if (keying) {
Ref<Texture2D> key = get_theme_icon(SNAME("Key"), SNAME("EditorIcons")); Ref<Texture2D> key = get_editor_theme_icon(SNAME("Key"));
ms.width += key->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree")); ms.width += key->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree"));
} }
if (deletable) { if (deletable) {
Ref<Texture2D> key = get_theme_icon(SNAME("Close"), SNAME("EditorIcons")); Ref<Texture2D> key = get_editor_theme_icon(SNAME("Close"));
ms.width += key->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree")); ms.width += key->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree"));
} }
@ -180,9 +181,9 @@ void EditorProperty::_notification(int p_what) {
Ref<Texture2D> key; Ref<Texture2D> key;
if (use_keying_next()) { if (use_keying_next()) {
key = get_theme_icon(SNAME("KeyNext"), SNAME("EditorIcons")); key = get_editor_theme_icon(SNAME("KeyNext"));
} else { } else {
key = get_theme_icon(SNAME("Key"), SNAME("EditorIcons")); key = get_editor_theme_icon(SNAME("Key"));
} }
rect.size.x -= key->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree")); rect.size.x -= key->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree"));
@ -198,7 +199,7 @@ void EditorProperty::_notification(int p_what) {
if (deletable) { if (deletable) {
Ref<Texture2D> close; Ref<Texture2D> close;
close = get_theme_icon(SNAME("Close"), SNAME("EditorIcons")); close = get_editor_theme_icon(SNAME("Close"));
rect.size.x -= close->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree")); rect.size.x -= close->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree"));
@ -278,9 +279,9 @@ void EditorProperty::_notification(int p_what) {
if (checkable) { if (checkable) {
Ref<Texture2D> checkbox; Ref<Texture2D> checkbox;
if (checked) { if (checked) {
checkbox = get_theme_icon(SNAME("GuiChecked"), SNAME("EditorIcons")); checkbox = get_editor_theme_icon(SNAME("GuiChecked"));
} else { } else {
checkbox = get_theme_icon(SNAME("GuiUnchecked"), SNAME("EditorIcons")); checkbox = get_editor_theme_icon(SNAME("GuiUnchecked"));
} }
Color color2(1, 1, 1); Color color2(1, 1, 1);
@ -303,7 +304,7 @@ void EditorProperty::_notification(int p_what) {
} }
if (can_revert && !is_read_only()) { if (can_revert && !is_read_only()) {
Ref<Texture2D> reload_icon = get_theme_icon(SNAME("ReloadSmall"), SNAME("EditorIcons")); Ref<Texture2D> reload_icon = get_editor_theme_icon(SNAME("ReloadSmall"));
text_limit -= reload_icon->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree")) * 2; text_limit -= reload_icon->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree")) * 2;
revert_rect = Rect2(ofs + text_limit, (size.height - reload_icon->get_height()) / 2, reload_icon->get_width(), reload_icon->get_height()); revert_rect = Rect2(ofs + text_limit, (size.height - reload_icon->get_height()) / 2, reload_icon->get_width(), reload_icon->get_height());
@ -323,7 +324,7 @@ void EditorProperty::_notification(int p_what) {
} }
if (!pin_hidden && pinned) { if (!pin_hidden && pinned) {
Ref<Texture2D> pinned_icon = get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")); Ref<Texture2D> pinned_icon = get_editor_theme_icon(SNAME("Pin"));
int margin_w = get_theme_constant(SNAME("hseparator"), SNAME("Tree")) * 2; int margin_w = get_theme_constant(SNAME("hseparator"), SNAME("Tree")) * 2;
int total_icon_w = margin_w + pinned_icon->get_width(); int total_icon_w = margin_w + pinned_icon->get_width();
int text_w = font->get_string_size(label, rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT, text_limit - total_icon_w, font_size).x; int text_w = font->get_string_size(label, rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT, text_limit - total_icon_w, font_size).x;
@ -349,9 +350,9 @@ void EditorProperty::_notification(int p_what) {
Ref<Texture2D> key; Ref<Texture2D> key;
if (use_keying_next()) { if (use_keying_next()) {
key = get_theme_icon(SNAME("KeyNext"), SNAME("EditorIcons")); key = get_editor_theme_icon(SNAME("KeyNext"));
} else { } else {
key = get_theme_icon(SNAME("Key"), SNAME("EditorIcons")); key = get_editor_theme_icon(SNAME("Key"));
} }
ofs -= key->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree")); ofs -= key->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree"));
@ -376,7 +377,7 @@ void EditorProperty::_notification(int p_what) {
if (deletable) { if (deletable) {
Ref<Texture2D> close; Ref<Texture2D> close;
close = get_theme_icon(SNAME("Close"), SNAME("EditorIcons")); close = get_editor_theme_icon(SNAME("Close"));
ofs -= close->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree")); ofs -= close->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree"));
@ -757,10 +758,10 @@ void EditorProperty::shortcut_input(const Ref<InputEvent> &p_event) {
const Color *EditorProperty::_get_property_colors() { const Color *EditorProperty::_get_property_colors() {
static Color c[4]; static Color c[4];
c[0] = get_theme_color(SNAME("property_color_x"), SNAME("Editor")); c[0] = get_theme_color(SNAME("property_color_x"), EditorStringName(Editor));
c[1] = get_theme_color(SNAME("property_color_y"), SNAME("Editor")); c[1] = get_theme_color(SNAME("property_color_y"), EditorStringName(Editor));
c[2] = get_theme_color(SNAME("property_color_z"), SNAME("Editor")); c[2] = get_theme_color(SNAME("property_color_z"), EditorStringName(Editor));
c[3] = get_theme_color(SNAME("property_color_w"), SNAME("Editor")); c[3] = get_theme_color(SNAME("property_color_w"), EditorStringName(Editor));
return c; return c;
} }
@ -1047,17 +1048,17 @@ void EditorProperty::_update_popup() {
add_child(menu); add_child(menu);
menu->connect("id_pressed", callable_mp(this, &EditorProperty::menu_option)); menu->connect("id_pressed", callable_mp(this, &EditorProperty::menu_option));
} }
menu->add_icon_shortcut(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")), ED_GET_SHORTCUT("property_editor/copy_value"), MENU_COPY_VALUE); menu->add_icon_shortcut(get_editor_theme_icon(SNAME("ActionCopy")), ED_GET_SHORTCUT("property_editor/copy_value"), MENU_COPY_VALUE);
menu->add_icon_shortcut(get_theme_icon(SNAME("ActionPaste"), SNAME("EditorIcons")), ED_GET_SHORTCUT("property_editor/paste_value"), MENU_PASTE_VALUE); menu->add_icon_shortcut(get_editor_theme_icon(SNAME("ActionPaste")), ED_GET_SHORTCUT("property_editor/paste_value"), MENU_PASTE_VALUE);
menu->add_icon_shortcut(get_theme_icon(SNAME("CopyNodePath"), SNAME("EditorIcons")), ED_GET_SHORTCUT("property_editor/copy_property_path"), MENU_COPY_PROPERTY_PATH); menu->add_icon_shortcut(get_editor_theme_icon(SNAME("CopyNodePath")), ED_GET_SHORTCUT("property_editor/copy_property_path"), MENU_COPY_PROPERTY_PATH);
menu->set_item_disabled(MENU_PASTE_VALUE, is_read_only()); menu->set_item_disabled(MENU_PASTE_VALUE, is_read_only());
if (!pin_hidden) { if (!pin_hidden) {
menu->add_separator(); menu->add_separator();
if (can_pin) { if (can_pin) {
menu->add_icon_check_item(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")), TTR("Pin Value"), MENU_PIN_VALUE); menu->add_icon_check_item(get_editor_theme_icon(SNAME("Pin")), TTR("Pin Value"), MENU_PIN_VALUE);
menu->set_item_checked(menu->get_item_index(MENU_PIN_VALUE), pinned); menu->set_item_checked(menu->get_item_index(MENU_PIN_VALUE), pinned);
} else { } else {
menu->add_icon_check_item(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")), vformat(TTR("Pin Value [Disabled because '%s' is editor-only]"), property), MENU_PIN_VALUE); menu->add_icon_check_item(get_editor_theme_icon(SNAME("Pin")), vformat(TTR("Pin Value [Disabled because '%s' is editor-only]"), property), MENU_PIN_VALUE);
menu->set_item_disabled(menu->get_item_index(MENU_PIN_VALUE), true); menu->set_item_disabled(menu->get_item_index(MENU_PIN_VALUE), true);
} }
menu->set_item_tooltip(menu->get_item_index(MENU_PIN_VALUE), TTR("Pinning a value forces it to be saved even if it's equal to the default.")); menu->set_item_tooltip(menu->get_item_index(MENU_PIN_VALUE), TTR("Pinning a value forces it to be saved even if it's equal to the default."));
@ -1065,7 +1066,7 @@ void EditorProperty::_update_popup() {
if (!doc_path.is_empty()) { if (!doc_path.is_empty()) {
menu->add_separator(); menu->add_separator();
menu->add_icon_item(get_theme_icon(SNAME("Help"), SNAME("EditorIcons")), TTR("Open Documentation"), MENU_OPEN_DOCUMENTATION); menu->add_icon_item(get_editor_theme_icon(SNAME("Help")), TTR("Open Documentation"), MENU_OPEN_DOCUMENTATION);
} }
} }
@ -1142,18 +1143,18 @@ void EditorInspectorCategory::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
menu->set_item_icon(menu->get_item_index(MENU_OPEN_DOCS), get_theme_icon(SNAME("Help"), SNAME("EditorIcons"))); menu->set_item_icon(menu->get_item_index(MENU_OPEN_DOCS), get_editor_theme_icon(SNAME("Help")));
} break; } break;
case NOTIFICATION_DRAW: { case NOTIFICATION_DRAW: {
Ref<StyleBox> sb = get_theme_stylebox(SNAME("bg")); Ref<StyleBox> sb = get_theme_stylebox(SNAME("bg"));
draw_style_box(sb, Rect2(Vector2(), get_size())); draw_style_box(sb, Rect2(Vector2(), get_size()));
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); int font_size = get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
int hs = get_theme_constant(SNAME("h_separation"), SNAME("Tree")); int hs = get_theme_constant(SNAME("h_separation"), SNAME("Tree"));
int icon_size = get_theme_constant(SNAME("class_icon_size"), SNAME("Editor")); int icon_size = get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor));
int w = font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).width; int w = font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size).width;
if (icon.is_valid()) { if (icon.is_valid()) {
@ -1181,8 +1182,8 @@ Control *EditorInspectorCategory::make_custom_tooltip(const String &p_text) cons
} }
Size2 EditorInspectorCategory::get_minimum_size() const { Size2 EditorInspectorCategory::get_minimum_size() const {
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); int font_size = get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
Size2 ms; Size2 ms;
ms.height = font->get_height(font_size); ms.height = font->get_height(font_size);
@ -1255,8 +1256,8 @@ Ref<Texture2D> EditorInspectorSection::_get_arrow() {
} }
int EditorInspectorSection::_get_header_height() { int EditorInspectorSection::_get_header_height() {
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); int font_size = get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
int header_height = font->get_height(font_size); int header_height = font->get_height(font_size);
Ref<Texture2D> arrow = _get_arrow(); Ref<Texture2D> arrow = _get_arrow();
@ -1279,7 +1280,7 @@ void EditorInspectorSection::_notification(int p_what) {
return; return;
} }
int inspector_margin = get_theme_constant(SNAME("inspector_margin"), SNAME("Editor")); int inspector_margin = get_theme_constant(SNAME("inspector_margin"), EditorStringName(Editor));
int section_indent_size = get_theme_constant(SNAME("indent_size"), SNAME("EditorInspectorSection")); int section_indent_size = get_theme_constant(SNAME("indent_size"), SNAME("EditorInspectorSection"));
if (indent_depth > 0 && section_indent_size > 0) { if (indent_depth > 0 && section_indent_size > 0) {
inspector_margin += indent_depth * section_indent_size; inspector_margin += indent_depth * section_indent_size;
@ -1362,16 +1363,16 @@ void EditorInspectorSection::_notification(int p_what) {
bool folded = foldable && !object->editor_is_section_unfolded(section); bool folded = foldable && !object->editor_is_section_unfolded(section);
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int font_size = get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); int font_size = get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
Color font_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); Color font_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
if (folded && revertable_properties.size()) { if (folded && revertable_properties.size()) {
int label_width = font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, available, font_size, TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_CONSTRAIN_ELLIPSIS).x; int label_width = font->get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, available, font_size, TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_CONSTRAIN_ELLIPSIS).x;
Ref<Font> light_font = get_theme_font(SNAME("main"), SNAME("EditorFonts")); Ref<Font> light_font = get_theme_font(SNAME("main"), EditorStringName(EditorFonts));
int light_font_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts")); int light_font_size = get_theme_font_size(SNAME("main_size"), EditorStringName(EditorFonts));
Color light_font_color = get_theme_color(SNAME("disabled_font_color"), SNAME("Editor")); Color light_font_color = get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor));
// Can we fit the long version of the revertable count text? // Can we fit the long version of the revertable count text?
num_revertable_str = vformat(TTRN("(%d change)", "(%d changes)", revertable_properties.size()), revertable_properties.size()); num_revertable_str = vformat(TTRN("(%d change)", "(%d changes)", revertable_properties.size()), revertable_properties.size());
@ -1406,7 +1407,7 @@ void EditorInspectorSection::_notification(int p_what) {
// Draw dropping highlight. // Draw dropping highlight.
if (dropping && !vbox->is_visible_in_tree()) { if (dropping && !vbox->is_visible_in_tree()) {
Color accent_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
draw_rect(Rect2(Point2(), get_size()), accent_color, false); draw_rect(Rect2(Point2(), get_size()), accent_color, false);
} }
@ -1467,7 +1468,7 @@ Size2 EditorInspectorSection::get_minimum_size() const {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Tree"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Tree"));
ms.height += font->get_height(font_size) + get_theme_constant(SNAME("v_separation"), SNAME("Tree")); ms.height += font->get_height(font_size) + get_theme_constant(SNAME("v_separation"), SNAME("Tree"));
ms.width += get_theme_constant(SNAME("inspector_margin"), SNAME("Editor")); ms.width += get_theme_constant(SNAME("inspector_margin"), EditorStringName(Editor));
int section_indent_size = get_theme_constant(SNAME("indent_size"), SNAME("EditorInspectorSection")); int section_indent_size = get_theme_constant(SNAME("indent_size"), SNAME("EditorInspectorSection"));
if (indent_depth > 0 && section_indent_size > 0) { if (indent_depth > 0 && section_indent_size > 0) {
@ -1686,7 +1687,7 @@ void EditorInspectorArray::_control_dropping_draw() {
from = xform.xform(Vector2(0, child->get_size().y)); from = xform.xform(Vector2(0, child->get_size().y));
to = xform.xform(Vector2(elements_vbox->get_size().x, child->get_size().y)); to = xform.xform(Vector2(elements_vbox->get_size().x, child->get_size().y));
} }
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
control_dropping->draw_line(from, to, color, 2); control_dropping->draw_line(from, to, color, 2);
} }
} }
@ -1698,7 +1699,7 @@ void EditorInspectorArray::_vbox_visibility_changed() {
void EditorInspectorArray::_panel_draw(int p_index) { void EditorInspectorArray::_panel_draw(int p_index) {
ERR_FAIL_INDEX(p_index, (int)array_elements.size()); ERR_FAIL_INDEX(p_index, (int)array_elements.size());
Ref<StyleBox> style = get_theme_stylebox(SNAME("Focus"), SNAME("EditorStyles")); Ref<StyleBox> style = get_theme_stylebox(SNAME("Focus"), EditorStringName(EditorStyles));
if (!style.is_valid()) { if (!style.is_valid()) {
return; return;
} }
@ -2103,7 +2104,7 @@ void EditorInspectorArray::_setup() {
int numbers_min_w = 0; int numbers_min_w = 0;
if (numbered) { if (numbered) {
numbers_font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); numbers_font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int digits_found = count; int digits_found = count;
String test; String test;
while (digits_found) { while (digits_found) {
@ -2133,7 +2134,7 @@ void EditorInspectorArray::_setup() {
ae.margin = memnew(MarginContainer); ae.margin = memnew(MarginContainer);
ae.margin->set_mouse_filter(MOUSE_FILTER_PASS); ae.margin->set_mouse_filter(MOUSE_FILTER_PASS);
if (is_inside_tree()) { if (is_inside_tree()) {
Size2 min_size = get_theme_stylebox(SNAME("Focus"), SNAME("EditorStyles"))->get_minimum_size(); Size2 min_size = get_theme_stylebox(SNAME("Focus"), EditorStringName(EditorStyles))->get_minimum_size();
ae.margin->add_theme_constant_override("margin_left", min_size.x / 2); ae.margin->add_theme_constant_override("margin_left", min_size.x / 2);
ae.margin->add_theme_constant_override("margin_top", min_size.y / 2); ae.margin->add_theme_constant_override("margin_top", min_size.y / 2);
ae.margin->add_theme_constant_override("margin_right", min_size.x / 2); ae.margin->add_theme_constant_override("margin_right", min_size.x / 2);
@ -2156,7 +2157,7 @@ void EditorInspectorArray::_setup() {
if (element_position > 0) { if (element_position > 0) {
ae.move_up = memnew(Button); ae.move_up = memnew(Button);
ae.move_up->set_icon(get_theme_icon(SNAME("MoveUp"), SNAME("EditorIcons"))); ae.move_up->set_icon(get_editor_theme_icon(SNAME("MoveUp")));
ae.move_up->connect("pressed", callable_mp(this, &EditorInspectorArray::_move_element).bind(element_position, element_position - 1)); ae.move_up->connect("pressed", callable_mp(this, &EditorInspectorArray::_move_element).bind(element_position, element_position - 1));
move_vbox->add_child(ae.move_up); move_vbox->add_child(ae.move_up);
} }
@ -2166,13 +2167,13 @@ void EditorInspectorArray::_setup() {
ae.move_texture_rect->set_default_cursor_shape(Control::CURSOR_MOVE); ae.move_texture_rect->set_default_cursor_shape(Control::CURSOR_MOVE);
if (is_inside_tree()) { if (is_inside_tree()) {
ae.move_texture_rect->set_texture(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons"))); ae.move_texture_rect->set_texture(get_editor_theme_icon(SNAME("TripleBar")));
} }
move_vbox->add_child(ae.move_texture_rect); move_vbox->add_child(ae.move_texture_rect);
if (element_position < _get_array_count() - 1) { if (element_position < _get_array_count() - 1) {
ae.move_down = memnew(Button); ae.move_down = memnew(Button);
ae.move_down->set_icon(get_theme_icon(SNAME("MoveDown"), SNAME("EditorIcons"))); ae.move_down->set_icon(get_editor_theme_icon(SNAME("MoveDown")));
ae.move_down->connect("pressed", callable_mp(this, &EditorInspectorArray::_move_element).bind(element_position, element_position + 2)); ae.move_down->connect("pressed", callable_mp(this, &EditorInspectorArray::_move_element).bind(element_position, element_position + 2));
move_vbox->add_child(ae.move_down); move_vbox->add_child(ae.move_down);
} }
@ -2195,7 +2196,7 @@ void EditorInspectorArray::_setup() {
ae.hbox->add_child(ae.vbox); ae.hbox->add_child(ae.vbox);
ae.erase = memnew(Button); ae.erase = memnew(Button);
ae.erase->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); ae.erase->set_icon(get_editor_theme_icon(SNAME("Remove")));
ae.erase->set_v_size_flags(SIZE_SHRINK_CENTER); ae.erase->set_v_size_flags(SIZE_SHRINK_CENTER);
ae.erase->connect("pressed", callable_mp(this, &EditorInspectorArray::_remove_item).bind(begin_array_index + i)); ae.erase->connect("pressed", callable_mp(this, &EditorInspectorArray::_remove_item).bind(begin_array_index + i));
ae.hbox->add_child(ae.erase); ae.hbox->add_child(ae.erase);
@ -2268,32 +2269,32 @@ void EditorInspectorArray::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
Color color = get_theme_color(SNAME("dark_color_1"), SNAME("Editor")); Color color = get_theme_color(SNAME("dark_color_1"), EditorStringName(Editor));
odd_style->set_bg_color(color.darkened(-0.08)); odd_style->set_bg_color(color.darkened(-0.08));
even_style->set_bg_color(color.darkened(0.08)); even_style->set_bg_color(color.darkened(0.08));
for (ArrayElement &ae : array_elements) { for (ArrayElement &ae : array_elements) {
if (ae.move_texture_rect) { if (ae.move_texture_rect) {
ae.move_texture_rect->set_texture(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons"))); ae.move_texture_rect->set_texture(get_editor_theme_icon(SNAME("TripleBar")));
} }
if (ae.move_up) { if (ae.move_up) {
ae.move_up->set_icon(get_theme_icon(SNAME("MoveUp"), SNAME("EditorIcons"))); ae.move_up->set_icon(get_editor_theme_icon(SNAME("MoveUp")));
} }
if (ae.move_down) { if (ae.move_down) {
ae.move_down->set_icon(get_theme_icon(SNAME("MoveDown"), SNAME("EditorIcons"))); ae.move_down->set_icon(get_editor_theme_icon(SNAME("MoveDown")));
} }
Size2 min_size = get_theme_stylebox(SNAME("Focus"), SNAME("EditorStyles"))->get_minimum_size(); Size2 min_size = get_theme_stylebox(SNAME("Focus"), EditorStringName(EditorStyles))->get_minimum_size();
ae.margin->add_theme_constant_override("margin_left", min_size.x / 2); ae.margin->add_theme_constant_override("margin_left", min_size.x / 2);
ae.margin->add_theme_constant_override("margin_top", min_size.y / 2); ae.margin->add_theme_constant_override("margin_top", min_size.y / 2);
ae.margin->add_theme_constant_override("margin_right", min_size.x / 2); ae.margin->add_theme_constant_override("margin_right", min_size.x / 2);
ae.margin->add_theme_constant_override("margin_bottom", min_size.y / 2); ae.margin->add_theme_constant_override("margin_bottom", min_size.y / 2);
if (ae.erase) { if (ae.erase) {
ae.erase->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); ae.erase->set_icon(get_editor_theme_icon(SNAME("Remove")));
} }
} }
add_button->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); add_button->set_icon(get_editor_theme_icon(SNAME("Add")));
update_minimum_size(); update_minimum_size();
} break; } break;
@ -2462,10 +2463,10 @@ void EditorPaginator::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
first_page_button->set_icon(get_theme_icon(SNAME("PageFirst"), SNAME("EditorIcons"))); first_page_button->set_icon(get_editor_theme_icon(SNAME("PageFirst")));
prev_page_button->set_icon(get_theme_icon(SNAME("PagePrevious"), SNAME("EditorIcons"))); prev_page_button->set_icon(get_editor_theme_icon(SNAME("PagePrevious")));
next_page_button->set_icon(get_theme_icon(SNAME("PageNext"), SNAME("EditorIcons"))); next_page_button->set_icon(get_editor_theme_icon(SNAME("PageNext")));
last_page_button->set_icon(get_theme_icon(SNAME("PageLast"), SNAME("EditorIcons"))); last_page_button->set_icon(get_editor_theme_icon(SNAME("PageLast")));
} break; } break;
} }
} }
@ -2748,7 +2749,7 @@ void EditorInspector::update_tree() {
HashMap<VBoxContainer *, HashMap<String, VBoxContainer *>> vbox_per_path; HashMap<VBoxContainer *, HashMap<String, VBoxContainer *>> vbox_per_path;
HashMap<String, EditorInspectorArray *> editor_inspector_array_per_prefix; HashMap<String, EditorInspectorArray *> editor_inspector_array_per_prefix;
Color sscolor = get_theme_color(SNAME("prop_subsection"), SNAME("Editor")); Color sscolor = get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor));
// Get the lists of editors to add the beginning. // Get the lists of editors to add the beginning.
for (Ref<EditorInspectorPlugin> &ped : valid_plugins) { for (Ref<EditorInspectorPlugin> &ped : valid_plugins) {
@ -3417,7 +3418,7 @@ void EditorInspector::update_tree() {
main_vbox->add_child(spacer); main_vbox->add_child(spacer);
Button *add_md = EditorInspector::create_inspector_action_button(TTR("Add Metadata")); Button *add_md = EditorInspector::create_inspector_action_button(TTR("Add Metadata"));
add_md->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); add_md->set_icon(get_editor_theme_icon(SNAME("Add")));
add_md->connect(SNAME("pressed"), callable_mp(this, &EditorInspector::_show_add_meta_dialog)); add_md->connect(SNAME("pressed"), callable_mp(this, &EditorInspector::_show_add_meta_dialog));
main_vbox->add_child(add_md); main_vbox->add_child(add_md);
if (all_read_only) { if (all_read_only) {
@ -3679,7 +3680,7 @@ void EditorInspector::_update_inspector_bg() {
n = n->get_parent(); n = n->get_parent();
} }
count_subinspectors = MIN(15, count_subinspectors); count_subinspectors = MIN(15, count_subinspectors);
add_theme_style_override("panel", get_theme_stylebox("sub_inspector_bg" + itos(count_subinspectors), SNAME("Editor"))); add_theme_style_override("panel", get_theme_stylebox("sub_inspector_bg" + itos(count_subinspectors), EditorStringName(Editor)));
} else { } else {
add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
} }
@ -4200,7 +4201,7 @@ void EditorInspector::_show_add_meta_dialog() {
} }
String type = i == Variant::OBJECT ? String("Resource") : Variant::get_type_name(Variant::Type(i)); String type = i == Variant::OBJECT ? String("Resource") : Variant::get_type_name(Variant::Type(i));
add_meta_type->add_icon_item(get_theme_icon(type, "EditorIcons"), type, i); add_meta_type->add_icon_item(get_editor_theme_icon(type), type, i);
} }
hbc->add_child(add_meta_type); hbc->add_child(add_meta_type);

View File

@ -37,6 +37,7 @@
#include "editor/editor_paths.h" #include "editor/editor_paths.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/gui/center_container.h" #include "scene/gui/center_container.h"
#include "scene/gui/separator.h" #include "scene/gui/separator.h"
#include "scene/resources/font.h" #include "scene/resources/font.h"
@ -65,27 +66,27 @@ void EditorLog::_error_handler(void *p_self, const char *p_func, const char *p_f
} }
void EditorLog::_update_theme() { void EditorLog::_update_theme() {
const Ref<Font> normal_font = get_theme_font(SNAME("output_source"), SNAME("EditorFonts")); const Ref<Font> normal_font = get_theme_font(SNAME("output_source"), EditorStringName(EditorFonts));
if (normal_font.is_valid()) { if (normal_font.is_valid()) {
log->add_theme_font_override("normal_font", normal_font); log->add_theme_font_override("normal_font", normal_font);
} }
const Ref<Font> bold_font = get_theme_font(SNAME("output_source_bold"), SNAME("EditorFonts")); const Ref<Font> bold_font = get_theme_font(SNAME("output_source_bold"), EditorStringName(EditorFonts));
if (bold_font.is_valid()) { if (bold_font.is_valid()) {
log->add_theme_font_override("bold_font", bold_font); log->add_theme_font_override("bold_font", bold_font);
} }
const Ref<Font> italics_font = get_theme_font(SNAME("output_source_italic"), SNAME("EditorFonts")); const Ref<Font> italics_font = get_theme_font(SNAME("output_source_italic"), EditorStringName(EditorFonts));
if (italics_font.is_valid()) { if (italics_font.is_valid()) {
log->add_theme_font_override("italics_font", italics_font); log->add_theme_font_override("italics_font", italics_font);
} }
const Ref<Font> bold_italics_font = get_theme_font(SNAME("output_source_bold_italic"), SNAME("EditorFonts")); const Ref<Font> bold_italics_font = get_theme_font(SNAME("output_source_bold_italic"), EditorStringName(EditorFonts));
if (bold_italics_font.is_valid()) { if (bold_italics_font.is_valid()) {
log->add_theme_font_override("bold_italics_font", bold_italics_font); log->add_theme_font_override("bold_italics_font", bold_italics_font);
} }
const Ref<Font> mono_font = get_theme_font(SNAME("output_source_mono"), SNAME("EditorFonts")); const Ref<Font> mono_font = get_theme_font(SNAME("output_source_mono"), EditorStringName(EditorFonts));
if (mono_font.is_valid()) { if (mono_font.is_valid()) {
log->add_theme_font_override("mono_font", mono_font); log->add_theme_font_override("mono_font", mono_font);
} }
@ -95,33 +96,33 @@ void EditorLog::_update_theme() {
log->add_theme_constant_override("text_highlight_h_padding", 0); log->add_theme_constant_override("text_highlight_h_padding", 0);
log->add_theme_constant_override("text_highlight_v_padding", 0); log->add_theme_constant_override("text_highlight_v_padding", 0);
const int font_size = get_theme_font_size(SNAME("output_source_size"), SNAME("EditorFonts")); const int font_size = get_theme_font_size(SNAME("output_source_size"), EditorStringName(EditorFonts));
log->add_theme_font_size_override("normal_font_size", font_size); log->add_theme_font_size_override("normal_font_size", font_size);
log->add_theme_font_size_override("bold_font_size", font_size); log->add_theme_font_size_override("bold_font_size", font_size);
log->add_theme_font_size_override("italics_font_size", font_size); log->add_theme_font_size_override("italics_font_size", font_size);
log->add_theme_font_size_override("mono_font_size", font_size); log->add_theme_font_size_override("mono_font_size", font_size);
type_filter_map[MSG_TYPE_STD]->toggle_button->set_icon(get_theme_icon(SNAME("Popup"), SNAME("EditorIcons"))); type_filter_map[MSG_TYPE_STD]->toggle_button->set_icon(get_editor_theme_icon(SNAME("Popup")));
type_filter_map[MSG_TYPE_ERROR]->toggle_button->set_icon(get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons"))); type_filter_map[MSG_TYPE_ERROR]->toggle_button->set_icon(get_editor_theme_icon(SNAME("StatusError")));
type_filter_map[MSG_TYPE_WARNING]->toggle_button->set_icon(get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); type_filter_map[MSG_TYPE_WARNING]->toggle_button->set_icon(get_editor_theme_icon(SNAME("StatusWarning")));
type_filter_map[MSG_TYPE_EDITOR]->toggle_button->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); type_filter_map[MSG_TYPE_EDITOR]->toggle_button->set_icon(get_editor_theme_icon(SNAME("Edit")));
type_filter_map[MSG_TYPE_STD]->toggle_button->set_theme_type_variation("EditorLogFilterButton"); type_filter_map[MSG_TYPE_STD]->toggle_button->set_theme_type_variation("EditorLogFilterButton");
type_filter_map[MSG_TYPE_ERROR]->toggle_button->set_theme_type_variation("EditorLogFilterButton"); type_filter_map[MSG_TYPE_ERROR]->toggle_button->set_theme_type_variation("EditorLogFilterButton");
type_filter_map[MSG_TYPE_WARNING]->toggle_button->set_theme_type_variation("EditorLogFilterButton"); type_filter_map[MSG_TYPE_WARNING]->toggle_button->set_theme_type_variation("EditorLogFilterButton");
type_filter_map[MSG_TYPE_EDITOR]->toggle_button->set_theme_type_variation("EditorLogFilterButton"); type_filter_map[MSG_TYPE_EDITOR]->toggle_button->set_theme_type_variation("EditorLogFilterButton");
clear_button->set_icon(get_theme_icon(SNAME("Clear"), SNAME("EditorIcons"))); clear_button->set_icon(get_editor_theme_icon(SNAME("Clear")));
copy_button->set_icon(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons"))); copy_button->set_icon(get_editor_theme_icon(SNAME("ActionCopy")));
collapse_button->set_icon(get_theme_icon(SNAME("CombineLines"), SNAME("EditorIcons"))); collapse_button->set_icon(get_editor_theme_icon(SNAME("CombineLines")));
show_search_button->set_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); show_search_button->set_icon(get_editor_theme_icon(SNAME("Search")));
search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search_box->set_right_icon(get_editor_theme_icon(SNAME("Search")));
theme_cache.error_color = get_theme_color(SNAME("error_color"), SNAME("Editor")); theme_cache.error_color = get_theme_color(SNAME("error_color"), EditorStringName(Editor));
theme_cache.error_icon = get_theme_icon(SNAME("Error"), SNAME("EditorIcons")); theme_cache.error_icon = get_editor_theme_icon(SNAME("Error"));
theme_cache.warning_color = get_theme_color(SNAME("warning_color"), SNAME("Editor")); theme_cache.warning_color = get_theme_color(SNAME("warning_color"), EditorStringName(Editor));
theme_cache.warning_icon = get_theme_icon(SNAME("Warning"), SNAME("EditorIcons")); theme_cache.warning_icon = get_editor_theme_icon(SNAME("Warning"));
theme_cache.message_color = get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.6); theme_cache.message_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.6);
} }
void EditorLog::_notification(int p_what) { void EditorLog::_notification(int p_what) {

View File

@ -44,6 +44,7 @@
#include "core/string/print_string.h" #include "core/string/print_string.h"
#include "core/string/translation.h" #include "core/string/translation.h"
#include "core/version.h" #include "core/version.h"
#include "editor/editor_string_names.h"
#include "main/main.h" #include "main/main.h"
#include "scene/gui/color_picker.h" #include "scene/gui/color_picker.h"
#include "scene/gui/dialogs.h" #include "scene/gui/dialogs.h"
@ -486,7 +487,7 @@ void EditorNode::_notification(int p_what) {
// Update the icon itself only when the spinner is visible. // Update the icon itself only when the spinner is visible.
if (EDITOR_GET("interface/editor/show_update_spinner")) { if (EDITOR_GET("interface/editor/show_update_spinner")) {
update_spinner->set_icon(gui_base->get_theme_icon("Progress" + itos(update_spinner_step + 1), SNAME("EditorIcons"))); update_spinner->set_icon(gui_base->get_editor_theme_icon("Progress" + itos(update_spinner_step + 1)));
} }
} }
@ -632,18 +633,18 @@ void EditorNode::_notification(int p_what) {
if (theme_changed) { if (theme_changed) {
theme = create_custom_theme(theme_base->get_theme()); theme = create_custom_theme(theme_base->get_theme());
DisplayServer::set_early_window_clear_color_override(true, theme->get_color(SNAME("background"), SNAME("Editor"))); DisplayServer::set_early_window_clear_color_override(true, theme->get_color(SNAME("background"), EditorStringName(Editor)));
theme_base->set_theme(theme); theme_base->set_theme(theme);
gui_base->set_theme(theme); gui_base->set_theme(theme);
get_window()->set_theme(theme); get_window()->set_theme(theme);
gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), SNAME("EditorStyles"))); gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), EditorStringName(EditorStyles)));
main_vbox->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, gui_base->get_theme_constant(SNAME("window_border_margin"), SNAME("Editor"))); main_vbox->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, gui_base->get_theme_constant(SNAME("window_border_margin"), EditorStringName(Editor)));
main_vbox->add_theme_constant_override("separation", gui_base->get_theme_constant(SNAME("top_bar_separation"), SNAME("Editor"))); main_vbox->add_theme_constant_override("separation", gui_base->get_theme_constant(SNAME("top_bar_separation"), EditorStringName(Editor)));
scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), SNAME("EditorStyles"))); scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), EditorStringName(EditorStyles)));
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles"))); bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), EditorStringName(EditorStyles)));
main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles"))); main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), EditorStringName(EditorStyles)));
} }
scene_tabs->update_scene_tabs(); scene_tabs->update_scene_tabs();
@ -651,7 +652,7 @@ void EditorNode::_notification(int p_what) {
// Update debugger area. // Update debugger area.
if (EditorDebuggerNode::get_singleton()->is_visible()) { if (EditorDebuggerNode::get_singleton()->is_visible()) {
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles"))); bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), EditorStringName(EditorStyles)));
} }
// Update icons. // Update icons.
@ -662,40 +663,40 @@ void EditorNode::_notification(int p_what) {
if (icon.is_valid()) { if (icon.is_valid()) {
tb->set_icon(icon); tb->set_icon(icon);
} else if (singleton->gui_base->has_theme_icon(p_editor->get_name(), SNAME("EditorIcons"))) { } else if (singleton->gui_base->has_theme_icon(p_editor->get_name(), EditorStringName(EditorIcons))) {
tb->set_icon(singleton->gui_base->get_theme_icon(p_editor->get_name(), SNAME("EditorIcons"))); tb->set_icon(singleton->gui_base->get_editor_theme_icon(p_editor->get_name()));
} }
} }
_build_icon_type_cache(); _build_icon_type_cache();
prev_scene->set_icon(gui_base->get_theme_icon(SNAME("PrevScene"), SNAME("EditorIcons"))); prev_scene->set_icon(gui_base->get_editor_theme_icon(SNAME("PrevScene")));
distraction_free->set_icon(gui_base->get_theme_icon(SNAME("DistractionFree"), SNAME("EditorIcons"))); distraction_free->set_icon(gui_base->get_editor_theme_icon(SNAME("DistractionFree")));
bottom_panel_raise->set_icon(gui_base->get_theme_icon(SNAME("ExpandBottomDock"), SNAME("EditorIcons"))); bottom_panel_raise->set_icon(gui_base->get_editor_theme_icon(SNAME("ExpandBottomDock")));
if (gui_base->is_layout_rtl()) { if (gui_base->is_layout_rtl()) {
dock_tab_move_left->set_icon(theme->get_icon(SNAME("Forward"), SNAME("EditorIcons"))); dock_tab_move_left->set_icon(theme->get_icon(SNAME("Forward"), EditorStringName(EditorIcons)));
dock_tab_move_right->set_icon(theme->get_icon(SNAME("Back"), SNAME("EditorIcons"))); dock_tab_move_right->set_icon(theme->get_icon(SNAME("Back"), EditorStringName(EditorIcons)));
} else { } else {
dock_tab_move_left->set_icon(theme->get_icon(SNAME("Back"), SNAME("EditorIcons"))); dock_tab_move_left->set_icon(theme->get_icon(SNAME("Back"), EditorStringName(EditorIcons)));
dock_tab_move_right->set_icon(theme->get_icon(SNAME("Forward"), SNAME("EditorIcons"))); dock_tab_move_right->set_icon(theme->get_icon(SNAME("Forward"), EditorStringName(EditorIcons)));
} }
help_menu->set_item_icon(help_menu->get_item_index(HELP_SEARCH), gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_SEARCH), gui_base->get_editor_theme_icon(SNAME("HelpSearch")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_DOCS), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_DOCS), gui_base->get_editor_theme_icon(SNAME("ExternalLink")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_QA), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_QA), gui_base->get_editor_theme_icon(SNAME("ExternalLink")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_REPORT_A_BUG), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_REPORT_A_BUG), gui_base->get_editor_theme_icon(SNAME("ExternalLink")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_COPY_SYSTEM_INFO), gui_base->get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_COPY_SYSTEM_INFO), gui_base->get_editor_theme_icon(SNAME("ActionCopy")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_SUGGEST_A_FEATURE), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_SUGGEST_A_FEATURE), gui_base->get_editor_theme_icon(SNAME("ExternalLink")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_SEND_DOCS_FEEDBACK), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_SEND_DOCS_FEEDBACK), gui_base->get_editor_theme_icon(SNAME("ExternalLink")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_COMMUNITY), gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_COMMUNITY), gui_base->get_editor_theme_icon(SNAME("ExternalLink")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_ABOUT), gui_base->get_theme_icon(SNAME("Godot"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_ABOUT), gui_base->get_editor_theme_icon(SNAME("Godot")));
help_menu->set_item_icon(help_menu->get_item_index(HELP_SUPPORT_GODOT_DEVELOPMENT), gui_base->get_theme_icon(SNAME("Heart"), SNAME("EditorIcons"))); help_menu->set_item_icon(help_menu->get_item_index(HELP_SUPPORT_GODOT_DEVELOPMENT), gui_base->get_editor_theme_icon(SNAME("Heart")));
for (int i = 0; i < main_editor_buttons.size(); i++) { for (int i = 0; i < main_editor_buttons.size(); i++) {
main_editor_buttons.write[i]->add_theme_font_override("font", gui_base->get_theme_font(SNAME("main_button_font"), SNAME("EditorFonts"))); main_editor_buttons.write[i]->add_theme_font_override("font", gui_base->get_theme_font(SNAME("main_button_font"), EditorStringName(EditorFonts)));
main_editor_buttons.write[i]->add_theme_font_size_override("font_size", gui_base->get_theme_font_size(SNAME("main_button_font_size"), SNAME("EditorFonts"))); main_editor_buttons.write[i]->add_theme_font_size_override("font_size", gui_base->get_theme_font_size(SNAME("main_button_font_size"), EditorStringName(EditorFonts)));
} }
HashSet<String> updated_textfile_extensions; HashSet<String> updated_textfile_extensions;
@ -735,7 +736,7 @@ void EditorNode::_update_update_spinner() {
// 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.
const bool dark_theme = EditorSettings::get_singleton()->is_dark_theme(); const bool dark_theme = EditorSettings::get_singleton()->is_dark_theme();
update_spinner->set_self_modulate( update_spinner->set_self_modulate(
gui_base->get_theme_color(SNAME("error_color"), SNAME("Editor")) * (dark_theme ? Color(1.1, 1.1, 1.1) : Color(4.25, 4.25, 4.25))); gui_base->get_theme_color(SNAME("error_color"), EditorStringName(Editor)) * (dark_theme ? Color(1.1, 1.1, 1.1) : Color(4.25, 4.25, 4.25)));
} else { } else {
update_spinner->set_tooltip_text(TTR("Spins when the editor window redraws.")); update_spinner->set_tooltip_text(TTR("Spins when the editor window redraws."));
update_spinner->set_self_modulate(Color(1, 1, 1)); update_spinner->set_self_modulate(Color(1, 1, 1));
@ -3130,12 +3131,12 @@ void EditorNode::add_editor_plugin(EditorPlugin *p_editor, bool p_config_changed
tb->set_icon(icon); tb->set_icon(icon);
// Make sure the control is updated if the icon is reimported. // Make sure the control is updated if the icon is reimported.
icon->connect_changed(callable_mp((Control *)tb, &Control::update_minimum_size)); icon->connect_changed(callable_mp((Control *)tb, &Control::update_minimum_size));
} else if (singleton->gui_base->has_theme_icon(p_editor->get_name(), SNAME("EditorIcons"))) { } else if (singleton->gui_base->has_theme_icon(p_editor->get_name(), EditorStringName(EditorIcons))) {
tb->set_icon(singleton->gui_base->get_theme_icon(p_editor->get_name(), SNAME("EditorIcons"))); tb->set_icon(singleton->gui_base->get_editor_theme_icon(p_editor->get_name()));
} }
tb->add_theme_font_override("font", singleton->gui_base->get_theme_font(SNAME("main_button_font"), SNAME("EditorFonts"))); tb->add_theme_font_override("font", singleton->gui_base->get_theme_font(SNAME("main_button_font"), EditorStringName(EditorFonts)));
tb->add_theme_font_size_override("font_size", singleton->gui_base->get_theme_font_size(SNAME("main_button_font_size"), SNAME("EditorFonts"))); tb->add_theme_font_size_override("font_size", singleton->gui_base->get_theme_font_size(SNAME("main_button_font_size"), EditorStringName(EditorFonts)));
singleton->main_editor_buttons.push_back(tb); singleton->main_editor_buttons.push_back(tb);
singleton->main_editor_button_hb->add_child(tb); singleton->main_editor_button_hb->add_child(tb);
@ -4066,14 +4067,14 @@ void EditorNode::notify_all_debug_sessions_exited() {
void EditorNode::add_io_error(const String &p_error) { void EditorNode::add_io_error(const String &p_error) {
DEV_ASSERT(Thread::get_caller_id() == Thread::get_main_id()); DEV_ASSERT(Thread::get_caller_id() == Thread::get_main_id());
singleton->load_errors->add_image(singleton->gui_base->get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); singleton->load_errors->add_image(singleton->gui_base->get_editor_theme_icon(SNAME("Error")));
singleton->load_errors->add_text(p_error + "\n"); singleton->load_errors->add_text(p_error + "\n");
EditorInterface::get_singleton()->popup_dialog_centered_ratio(singleton->load_error_dialog, 0.5); EditorInterface::get_singleton()->popup_dialog_centered_ratio(singleton->load_error_dialog, 0.5);
} }
void EditorNode::add_io_warning(const String &p_warning) { void EditorNode::add_io_warning(const String &p_warning) {
DEV_ASSERT(Thread::get_caller_id() == Thread::get_main_id()); DEV_ASSERT(Thread::get_caller_id() == Thread::get_main_id());
singleton->load_errors->add_image(singleton->gui_base->get_theme_icon(SNAME("Warning"), SNAME("EditorIcons"))); singleton->load_errors->add_image(singleton->gui_base->get_editor_theme_icon(SNAME("Warning")));
singleton->load_errors->add_text(p_warning + "\n"); singleton->load_errors->add_text(p_warning + "\n");
EditorInterface::get_singleton()->popup_dialog_centered_ratio(singleton->load_error_dialog, 0.5); EditorInterface::get_singleton()->popup_dialog_centered_ratio(singleton->load_error_dialog, 0.5);
} }
@ -4211,8 +4212,8 @@ Ref<Texture2D> EditorNode::_get_class_or_script_icon(const String &p_class, cons
// This is only relevant for built-in classes. // This is only relevant for built-in classes.
String base_type; String base_type;
p_script->get_language()->get_global_class_name(p_script->get_path(), &base_type); p_script->get_language()->get_global_class_name(p_script->get_path(), &base_type);
if (gui_base && gui_base->has_theme_icon(base_type, SNAME("EditorIcons"))) { if (gui_base && gui_base->has_theme_icon(base_type, EditorStringName(EditorIcons))) {
return gui_base->get_theme_icon(base_type, SNAME("EditorIcons")); return gui_base->get_editor_theme_icon(base_type);
} }
} }
} }
@ -4236,21 +4237,21 @@ Ref<Texture2D> EditorNode::_get_class_or_script_icon(const String &p_class, cons
// Look up the class name or the fallback name in the editor theme. // Look up the class name or the fallback name in the editor theme.
// This is only relevant for built-in classes. // This is only relevant for built-in classes.
if (gui_base) { if (gui_base) {
if (gui_base->has_theme_icon(p_class, SNAME("EditorIcons"))) { if (gui_base->has_theme_icon(p_class, EditorStringName(EditorIcons))) {
return gui_base->get_theme_icon(p_class, SNAME("EditorIcons")); return gui_base->get_editor_theme_icon(p_class);
} }
if (!p_fallback.is_empty() && gui_base->has_theme_icon(p_fallback, SNAME("EditorIcons"))) { if (!p_fallback.is_empty() && gui_base->has_theme_icon(p_fallback, EditorStringName(EditorIcons))) {
return gui_base->get_theme_icon(p_fallback, SNAME("EditorIcons")); return gui_base->get_editor_theme_icon(p_fallback);
} }
// If the fallback is empty or wasn't found, use the default fallback. // If the fallback is empty or wasn't found, use the default fallback.
if (ClassDB::class_exists(p_class)) { if (ClassDB::class_exists(p_class)) {
bool instantiable = !ClassDB::is_virtual(p_class) && ClassDB::can_instantiate(p_class); bool instantiable = !ClassDB::is_virtual(p_class) && ClassDB::can_instantiate(p_class);
if (ClassDB::is_parent_class(p_class, SNAME("Node"))) { if (ClassDB::is_parent_class(p_class, SNAME("Node"))) {
return gui_base->get_theme_icon(instantiable ? "Node" : "NodeDisabled", SNAME("EditorIcons")); return gui_base->get_editor_theme_icon(instantiable ? "Node" : "NodeDisabled");
} else { } else {
return gui_base->get_theme_icon(instantiable ? "Object" : "ObjectDisabled", SNAME("EditorIcons")); return gui_base->get_editor_theme_icon(instantiable ? "Object" : "ObjectDisabled");
} }
} }
} }
@ -4463,12 +4464,12 @@ Ref<Texture2D> EditorNode::_file_dialog_get_icon(const String &p_path) {
void EditorNode::_build_icon_type_cache() { void EditorNode::_build_icon_type_cache() {
List<StringName> tl; List<StringName> tl;
theme_base->get_theme()->get_icon_list(SNAME("EditorIcons"), &tl); theme_base->get_theme()->get_icon_list(EditorStringName(EditorIcons), &tl);
for (const StringName &E : tl) { for (const StringName &E : tl) {
if (!ClassDB::class_exists(E)) { if (!ClassDB::class_exists(E)) {
continue; continue;
} }
icon_type_cache[E] = theme_base->get_theme()->get_icon(E, SNAME("EditorIcons")); icon_type_cache[E] = theme_base->get_theme()->get_icon(E, EditorStringName(EditorIcons));
} }
} }
@ -4727,7 +4728,7 @@ void EditorNode::_dock_select_draw() {
Color used = Color(0.6, 0.6, 0.6, 0.8); Color used = Color(0.6, 0.6, 0.6, 0.8);
Color used_selected = Color(0.8, 0.8, 0.8, 0.8); Color used_selected = Color(0.8, 0.8, 0.8, 0.8);
Color tab_selected = theme_base->get_theme_color(SNAME("mono_color"), SNAME("Editor")); Color tab_selected = theme_base->get_theme_color(SNAME("mono_color"), EditorStringName(Editor));
Color unused = used; Color unused = used;
unused.a = 0.4; unused.a = 0.4;
Color unusable = unused; Color unusable = unused;
@ -5665,9 +5666,9 @@ void EditorNode::_bottom_panel_switch(bool p_enable, int p_idx) {
} }
if (EditorDebuggerNode::get_singleton() == bottom_panel_items[p_idx].control) { if (EditorDebuggerNode::get_singleton() == bottom_panel_items[p_idx].control) {
// This is the debug panel which uses tabs, so the top section should be smaller. // This is the debug panel which uses tabs, so the top section should be smaller.
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles"))); bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), EditorStringName(EditorStyles)));
} else { } else {
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles"))); bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), EditorStringName(EditorStyles)));
} }
center_split->set_dragger_visibility(SplitContainer::DRAGGER_VISIBLE); center_split->set_dragger_visibility(SplitContainer::DRAGGER_VISIBLE);
center_split->set_collapsed(false); center_split->set_collapsed(false);
@ -5676,7 +5677,7 @@ void EditorNode::_bottom_panel_switch(bool p_enable, int p_idx) {
} }
bottom_panel_raise->show(); bottom_panel_raise->show();
} else { } else {
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles"))); bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), EditorStringName(EditorStyles)));
bottom_panel_items[p_idx].button->set_pressed(false); bottom_panel_items[p_idx].button->set_pressed(false);
bottom_panel_items[p_idx].control->set_visible(false); bottom_panel_items[p_idx].control->set_visible(false);
center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN); center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN);
@ -5765,7 +5766,7 @@ Variant EditorNode::drag_resource(const Ref<Resource> &p_res, Control *p_from) {
{ {
// TODO: make proper previews // TODO: make proper previews
Ref<ImageTexture> texture = gui_base->get_theme_icon(SNAME("FileBigThumb"), SNAME("EditorIcons")); Ref<ImageTexture> texture = gui_base->get_editor_theme_icon(SNAME("FileBigThumb"));
Ref<Image> img = texture->get_image(); Ref<Image> img = texture->get_image();
img = img->duplicate(); img = img->duplicate();
img->resize(48, 48); // meh img->resize(48, 48); // meh
@ -5815,10 +5816,10 @@ Variant EditorNode::drag_files_and_dirs(const Vector<String> &p_paths, Control *
if (p_paths[i].ends_with("/")) { if (p_paths[i].ends_with("/")) {
label->set_text(p_paths[i].substr(0, p_paths[i].length() - 1).get_file()); label->set_text(p_paths[i].substr(0, p_paths[i].length() - 1).get_file());
icon->set_texture(gui_base->get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); icon->set_texture(gui_base->get_editor_theme_icon(SNAME("Folder")));
} else { } else {
label->set_text(p_paths[i].get_file()); label->set_text(p_paths[i].get_file());
icon->set_texture(gui_base->get_theme_icon(SNAME("File"), SNAME("EditorIcons"))); icon->set_texture(gui_base->get_editor_theme_icon(SNAME("File")));
} }
icon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED); icon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
icon->set_size(Size2(16, 16)); icon->set_size(Size2(16, 16));
@ -6834,7 +6835,7 @@ EditorNode::EditorNode() {
// Exporters might need the theme. // Exporters might need the theme.
EditorColorMap::create(); EditorColorMap::create();
theme = create_custom_theme(); theme = create_custom_theme();
DisplayServer::set_early_window_clear_color_override(true, theme->get_color(SNAME("background"), SNAME("Editor"))); DisplayServer::set_early_window_clear_color_override(true, theme->get_color(SNAME("background"), EditorStringName(Editor)));
register_exporters(); register_exporters();
@ -6884,7 +6885,7 @@ EditorNode::EditorNode() {
theme_base->set_theme(theme); theme_base->set_theme(theme);
gui_base->set_theme(theme); gui_base->set_theme(theme);
gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), SNAME("EditorStyles"))); gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), EditorStringName(EditorStyles)));
resource_preview = memnew(EditorResourcePreview); resource_preview = memnew(EditorResourcePreview);
add_child(resource_preview); add_child(resource_preview);
@ -6898,8 +6899,8 @@ EditorNode::EditorNode() {
main_vbox = memnew(VBoxContainer); main_vbox = memnew(VBoxContainer);
gui_base->add_child(main_vbox); gui_base->add_child(main_vbox);
main_vbox->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, gui_base->get_theme_constant(SNAME("window_border_margin"), SNAME("Editor"))); main_vbox->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, gui_base->get_theme_constant(SNAME("window_border_margin"), EditorStringName(Editor)));
main_vbox->add_theme_constant_override("separation", gui_base->get_theme_constant(SNAME("top_bar_separation"), SNAME("Editor"))); main_vbox->add_theme_constant_override("separation", gui_base->get_theme_constant(SNAME("top_bar_separation"), EditorStringName(Editor)));
title_bar = memnew(EditorTitleBar); title_bar = memnew(EditorTitleBar);
main_vbox->add_child(title_bar); main_vbox->add_child(title_bar);
@ -6978,9 +6979,9 @@ EditorNode::EditorNode() {
dock_tab_move_left = memnew(Button); dock_tab_move_left = memnew(Button);
dock_tab_move_left->set_flat(true); dock_tab_move_left->set_flat(true);
if (gui_base->is_layout_rtl()) { if (gui_base->is_layout_rtl()) {
dock_tab_move_left->set_icon(theme->get_icon(SNAME("Forward"), SNAME("EditorIcons"))); dock_tab_move_left->set_icon(theme->get_icon(SNAME("Forward"), EditorStringName(EditorIcons)));
} else { } else {
dock_tab_move_left->set_icon(theme->get_icon(SNAME("Back"), SNAME("EditorIcons"))); dock_tab_move_left->set_icon(theme->get_icon(SNAME("Back"), EditorStringName(EditorIcons)));
} }
dock_tab_move_left->set_focus_mode(Control::FOCUS_NONE); dock_tab_move_left->set_focus_mode(Control::FOCUS_NONE);
dock_tab_move_left->connect("pressed", callable_mp(this, &EditorNode::_dock_move_left)); dock_tab_move_left->connect("pressed", callable_mp(this, &EditorNode::_dock_move_left));
@ -6995,9 +6996,9 @@ EditorNode::EditorNode() {
dock_tab_move_right = memnew(Button); dock_tab_move_right = memnew(Button);
dock_tab_move_right->set_flat(true); dock_tab_move_right->set_flat(true);
if (gui_base->is_layout_rtl()) { if (gui_base->is_layout_rtl()) {
dock_tab_move_right->set_icon(theme->get_icon(SNAME("Back"), SNAME("EditorIcons"))); dock_tab_move_right->set_icon(theme->get_icon(SNAME("Back"), EditorStringName(EditorIcons)));
} else { } else {
dock_tab_move_right->set_icon(theme->get_icon(SNAME("Forward"), SNAME("EditorIcons"))); dock_tab_move_right->set_icon(theme->get_icon(SNAME("Forward"), EditorStringName(EditorIcons)));
} }
dock_tab_move_right->set_focus_mode(Control::FOCUS_NONE); dock_tab_move_right->set_focus_mode(Control::FOCUS_NONE);
dock_tab_move_right->connect("pressed", callable_mp(this, &EditorNode::_dock_move_right)); dock_tab_move_right->connect("pressed", callable_mp(this, &EditorNode::_dock_move_right));
@ -7015,7 +7016,7 @@ EditorNode::EditorNode() {
if (!SceneTree::get_singleton()->get_root()->is_embedding_subwindows() && !EDITOR_GET("interface/editor/single_window_mode") && EDITOR_GET("interface/multi_window/enable")) { if (!SceneTree::get_singleton()->get_root()->is_embedding_subwindows() && !EDITOR_GET("interface/editor/single_window_mode") && EDITOR_GET("interface/multi_window/enable")) {
dock_float = memnew(Button); dock_float = memnew(Button);
dock_float->set_icon(theme->get_icon("MakeFloating", "EditorIcons")); dock_float->set_icon(theme->get_icon("MakeFloating", EditorStringName(EditorIcons)));
dock_float->set_text(TTR("Make Floating")); dock_float->set_text(TTR("Make Floating"));
dock_float->set_focus_mode(Control::FOCUS_NONE); dock_float->set_focus_mode(Control::FOCUS_NONE);
dock_float->set_h_size_flags(Control::SIZE_SHRINK_CENTER); dock_float->set_h_size_flags(Control::SIZE_SHRINK_CENTER);
@ -7064,14 +7065,14 @@ EditorNode::EditorNode() {
ED_SHORTCUT_OVERRIDE("editor/distraction_free_mode", "macos", KeyModifierMask::META | KeyModifierMask::CTRL | Key::D); ED_SHORTCUT_OVERRIDE("editor/distraction_free_mode", "macos", KeyModifierMask::META | KeyModifierMask::CTRL | Key::D);
distraction_free->set_shortcut(ED_GET_SHORTCUT("editor/distraction_free_mode")); distraction_free->set_shortcut(ED_GET_SHORTCUT("editor/distraction_free_mode"));
distraction_free->set_tooltip_text(TTR("Toggle distraction-free mode.")); distraction_free->set_tooltip_text(TTR("Toggle distraction-free mode."));
distraction_free->set_icon(gui_base->get_theme_icon(SNAME("DistractionFree"), SNAME("EditorIcons"))); distraction_free->set_icon(gui_base->get_editor_theme_icon(SNAME("DistractionFree")));
distraction_free->set_toggle_mode(true); distraction_free->set_toggle_mode(true);
scene_tabs->add_extra_button(distraction_free); scene_tabs->add_extra_button(distraction_free);
distraction_free->connect("pressed", callable_mp(this, &EditorNode::_toggle_distraction_free_mode)); distraction_free->connect("pressed", callable_mp(this, &EditorNode::_toggle_distraction_free_mode));
scene_root_parent = memnew(PanelContainer); scene_root_parent = memnew(PanelContainer);
scene_root_parent->set_custom_minimum_size(Size2(0, 80) * EDSCALE); scene_root_parent->set_custom_minimum_size(Size2(0, 80) * EDSCALE);
scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), SNAME("EditorStyles"))); scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), EditorStringName(EditorStyles)));
scene_root_parent->set_draw_behind_parent(true); scene_root_parent->set_draw_behind_parent(true);
srt->add_child(scene_root_parent); srt->add_child(scene_root_parent);
scene_root_parent->set_v_size_flags(Control::SIZE_EXPAND_FILL); scene_root_parent->set_v_size_flags(Control::SIZE_EXPAND_FILL);
@ -7102,7 +7103,7 @@ EditorNode::EditorNode() {
main_menu = memnew(MenuBar); main_menu = memnew(MenuBar);
title_bar->add_child(main_menu); title_bar->add_child(main_menu);
main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles"))); main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), EditorStringName(EditorStyles)));
main_menu->set_flat(true); main_menu->set_flat(true);
main_menu->set_start_index(0); // Main menu, add to the start of global menu. main_menu->set_start_index(0); // Main menu, add to the start of global menu.
main_menu->set_prefer_global_menu(global_menu); main_menu->set_prefer_global_menu(global_menu);
@ -7115,7 +7116,7 @@ EditorNode::EditorNode() {
prev_scene = memnew(Button); prev_scene = memnew(Button);
prev_scene->set_flat(true); prev_scene->set_flat(true);
prev_scene->set_icon(gui_base->get_theme_icon(SNAME("PrevScene"), SNAME("EditorIcons"))); prev_scene->set_icon(gui_base->get_editor_theme_icon(SNAME("PrevScene")));
prev_scene->set_tooltip_text(TTR("Go to previously opened scene.")); prev_scene->set_tooltip_text(TTR("Go to previously opened scene."));
prev_scene->set_disabled(true); prev_scene->set_disabled(true);
prev_scene->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(FILE_OPEN_PREV)); prev_scene->connect("pressed", callable_mp(this, &EditorNode::_menu_option).bind(FILE_OPEN_PREV));
@ -7276,8 +7277,8 @@ EditorNode::EditorNode() {
if (can_expand && global_menu) { if (can_expand && global_menu) {
project_title = memnew(Label); project_title = memnew(Label);
project_title->add_theme_font_override("font", gui_base->get_theme_font(SNAME("bold"), SNAME("EditorFonts"))); project_title->add_theme_font_override("font", gui_base->get_theme_font(SNAME("bold"), EditorStringName(EditorFonts)));
project_title->add_theme_font_size_override("font_size", gui_base->get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts"))); project_title->add_theme_font_size_override("font_size", gui_base->get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts)));
project_title->set_focus_mode(Control::FOCUS_NONE); project_title->set_focus_mode(Control::FOCUS_NONE);
project_title->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS); project_title->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS);
project_title->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER); project_title->set_vertical_alignment(VERTICAL_ALIGNMENT_CENTER);
@ -7353,22 +7354,22 @@ EditorNode::EditorNode() {
ED_SHORTCUT_AND_COMMAND("editor/editor_help", TTR("Search Help"), Key::F1); ED_SHORTCUT_AND_COMMAND("editor/editor_help", TTR("Search Help"), Key::F1);
ED_SHORTCUT_OVERRIDE("editor/editor_help", "macos", KeyModifierMask::ALT | Key::SPACE); ED_SHORTCUT_OVERRIDE("editor/editor_help", "macos", KeyModifierMask::ALT | Key::SPACE);
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_GET_SHORTCUT("editor/editor_help"), HELP_SEARCH); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("HelpSearch")), ED_GET_SHORTCUT("editor/editor_help"), HELP_SEARCH);
help_menu->add_separator(); help_menu->add_separator();
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/online_docs", TTR("Online Documentation")), HELP_DOCS); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("ExternalLink")), ED_SHORTCUT_AND_COMMAND("editor/online_docs", TTR("Online Documentation")), HELP_DOCS);
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/q&a", TTR("Questions & Answers")), HELP_QA); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("ExternalLink")), ED_SHORTCUT_AND_COMMAND("editor/q&a", TTR("Questions & Answers")), HELP_QA);
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/report_a_bug", TTR("Report a Bug")), HELP_REPORT_A_BUG); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("ExternalLink")), ED_SHORTCUT_AND_COMMAND("editor/report_a_bug", TTR("Report a Bug")), HELP_REPORT_A_BUG);
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/copy_system_info", TTR("Copy System Info")), HELP_COPY_SYSTEM_INFO); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("ActionCopy")), ED_SHORTCUT_AND_COMMAND("editor/copy_system_info", TTR("Copy System Info")), HELP_COPY_SYSTEM_INFO);
help_menu->set_item_tooltip(-1, TTR("Copies the system info as a single-line text into the clipboard.")); help_menu->set_item_tooltip(-1, TTR("Copies the system info as a single-line text into the clipboard."));
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/suggest_a_feature", TTR("Suggest a Feature")), HELP_SUGGEST_A_FEATURE); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("ExternalLink")), ED_SHORTCUT_AND_COMMAND("editor/suggest_a_feature", TTR("Suggest a Feature")), HELP_SUGGEST_A_FEATURE);
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/send_docs_feedback", TTR("Send Docs Feedback")), HELP_SEND_DOCS_FEEDBACK); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("ExternalLink")), ED_SHORTCUT_AND_COMMAND("editor/send_docs_feedback", TTR("Send Docs Feedback")), HELP_SEND_DOCS_FEEDBACK);
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/community", TTR("Community")), HELP_COMMUNITY); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("ExternalLink")), ED_SHORTCUT_AND_COMMAND("editor/community", TTR("Community")), HELP_COMMUNITY);
help_menu->add_separator(); help_menu->add_separator();
if (!global_menu || !OS::get_singleton()->has_feature("macos")) { if (!global_menu || !OS::get_singleton()->has_feature("macos")) {
// On macOS "Quit" and "About" options are in the "app" menu. // On macOS "Quit" and "About" options are in the "app" menu.
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Godot"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/about", TTR("About Godot")), HELP_ABOUT); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("Godot")), ED_SHORTCUT_AND_COMMAND("editor/about", TTR("About Godot")), HELP_ABOUT);
} }
help_menu->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Heart"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/support_development", TTR("Support Godot Development")), HELP_SUPPORT_GODOT_DEVELOPMENT); help_menu->add_icon_shortcut(gui_base->get_editor_theme_icon(SNAME("Heart")), ED_SHORTCUT_AND_COMMAND("editor/support_development", TTR("Support Godot Development")), HELP_SUPPORT_GODOT_DEVELOPMENT);
// Spacer to center 2D / 3D / Script buttons. // Spacer to center 2D / 3D / Script buttons.
Control *right_spacer = memnew(Control); Control *right_spacer = memnew(Control);
@ -7390,8 +7391,8 @@ EditorNode::EditorNode() {
renderer->set_fit_to_longest_item(false); renderer->set_fit_to_longest_item(false);
renderer->set_focus_mode(Control::FOCUS_NONE); renderer->set_focus_mode(Control::FOCUS_NONE);
renderer->connect("item_selected", callable_mp(this, &EditorNode::_renderer_selected)); renderer->connect("item_selected", callable_mp(this, &EditorNode::_renderer_selected));
renderer->add_theme_font_override("font", gui_base->get_theme_font(SNAME("bold"), SNAME("EditorFonts"))); renderer->add_theme_font_override("font", gui_base->get_theme_font(SNAME("bold"), EditorStringName(EditorFonts)));
renderer->add_theme_font_size_override("font_size", gui_base->get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts"))); renderer->add_theme_font_size_override("font_size", gui_base->get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts)));
renderer->set_tooltip_text(TTR("Choose a renderer.")); renderer->set_tooltip_text(TTR("Choose a renderer."));
right_menu_hb->add_child(renderer); right_menu_hb->add_child(renderer);
@ -7452,7 +7453,7 @@ EditorNode::EditorNode() {
update_spinner = memnew(MenuButton); update_spinner = memnew(MenuButton);
right_menu_hb->add_child(update_spinner); right_menu_hb->add_child(update_spinner);
update_spinner->set_icon(gui_base->get_theme_icon(SNAME("Progress1"), SNAME("EditorIcons"))); update_spinner->set_icon(gui_base->get_editor_theme_icon(SNAME("Progress1")));
update_spinner->get_popup()->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option)); update_spinner->get_popup()->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
PopupMenu *p = update_spinner->get_popup(); PopupMenu *p = update_spinner->get_popup();
p->add_radio_check_item(TTR("Update Continuously"), SETTINGS_UPDATE_CONTINUOUSLY); p->add_radio_check_item(TTR("Update Continuously"), SETTINGS_UPDATE_CONTINUOUSLY);
@ -7535,7 +7536,7 @@ EditorNode::EditorNode() {
// Bottom panels. // Bottom panels.
bottom_panel = memnew(PanelContainer); bottom_panel = memnew(PanelContainer);
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles"))); bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), EditorStringName(EditorStyles)));
center_split->add_child(bottom_panel); center_split->add_child(bottom_panel);
center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN); center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN);
@ -7581,7 +7582,7 @@ EditorNode::EditorNode() {
bottom_panel_raise = memnew(Button); bottom_panel_raise = memnew(Button);
bottom_panel_raise->set_flat(true); bottom_panel_raise->set_flat(true);
bottom_panel_raise->set_icon(gui_base->get_theme_icon(SNAME("ExpandBottomDock"), SNAME("EditorIcons"))); bottom_panel_raise->set_icon(gui_base->get_editor_theme_icon(SNAME("ExpandBottomDock")));
bottom_panel_raise->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/bottom_panel_expand", TTR("Expand Bottom Panel"), KeyModifierMask::SHIFT | Key::F12)); bottom_panel_raise->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/bottom_panel_expand", TTR("Expand Bottom Panel"), KeyModifierMask::SHIFT | Key::F12));

View File

@ -123,7 +123,7 @@ void EditorPluginSettings::update_plugins() {
bool is_active = EditorNode::get_singleton()->is_addon_plugin_enabled(path); bool is_active = EditorNode::get_singleton()->is_addon_plugin_enabled(path);
item->set_checked(3, is_active); item->set_checked(3, is_active);
item->set_editable(3, true); item->set_editable(3, true);
item->add_button(4, get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")), BUTTON_PLUGIN_EDIT, false, TTR("Edit Plugin")); item->add_button(4, get_editor_theme_icon(SNAME("Edit")), BUTTON_PLUGIN_EDIT, false, TTR("Edit Plugin"));
} }
} }
} }

View File

@ -39,6 +39,7 @@
#include "editor/editor_resource_picker.h" #include "editor/editor_resource_picker.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "editor/gui/editor_spin_slider.h" #include "editor/gui/editor_spin_slider.h"
#include "editor/gui/scene_tree_editor.h" #include "editor/gui/scene_tree_editor.h"
@ -162,8 +163,8 @@ void EditorPropertyMultilineText::_open_big_text() {
big_text = memnew(TextEdit); big_text = memnew(TextEdit);
if (expression) { if (expression) {
big_text->set_syntax_highlighter(text->get_syntax_highlighter()); big_text->set_syntax_highlighter(text->get_syntax_highlighter());
big_text->add_theme_font_override("font", get_theme_font(SNAME("expression"), SNAME("EditorFonts"))); big_text->add_theme_font_override("font", get_theme_font(SNAME("expression"), EditorStringName(EditorFonts)));
big_text->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("expression_size"), SNAME("EditorFonts"))); big_text->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("expression_size"), EditorStringName(EditorFonts)));
} }
big_text->connect("text_changed", callable_mp(this, &EditorPropertyMultilineText::_big_text_changed)); big_text->connect("text_changed", callable_mp(this, &EditorPropertyMultilineText::_big_text_changed));
big_text->set_line_wrapping_mode(TextEdit::LineWrappingMode::LINE_WRAPPING_BOUNDARY); big_text->set_line_wrapping_mode(TextEdit::LineWrappingMode::LINE_WRAPPING_BOUNDARY);
@ -192,14 +193,14 @@ void EditorPropertyMultilineText::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
Ref<Texture2D> df = get_theme_icon(SNAME("DistractionFree"), SNAME("EditorIcons")); Ref<Texture2D> df = get_editor_theme_icon(SNAME("DistractionFree"));
open_big_text->set_icon(df); open_big_text->set_icon(df);
Ref<Font> font; Ref<Font> font;
int font_size; int font_size;
if (expression) { if (expression) {
font = get_theme_font(SNAME("expression"), SNAME("EditorFonts")); font = get_theme_font(SNAME("expression"), EditorStringName(EditorFonts));
font_size = get_theme_font_size(SNAME("expression_size"), SNAME("EditorFonts")); font_size = get_theme_font_size(SNAME("expression_size"), EditorStringName(EditorFonts));
text->add_theme_font_override("font", font); text->add_theme_font_override("font", font);
text->add_theme_font_size_override("font_size", font_size); text->add_theme_font_size_override("font_size", font_size);
@ -347,9 +348,9 @@ void EditorPropertyTextEnum::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
edit_button->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); edit_button->set_icon(get_editor_theme_icon(SNAME("Edit")));
accept_button->set_icon(get_theme_icon(SNAME("ImportCheck"), SNAME("EditorIcons"))); accept_button->set_icon(get_editor_theme_icon(SNAME("ImportCheck")));
cancel_button->set_icon(get_theme_icon(SNAME("ImportFail"), SNAME("EditorIcons"))); cancel_button->set_icon(get_editor_theme_icon(SNAME("ImportFail")));
} break; } break;
} }
} }
@ -435,7 +436,7 @@ void EditorPropertyLocale::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
locale_edit->set_icon(get_theme_icon(SNAME("Translation"), SNAME("EditorIcons"))); locale_edit->set_icon(get_editor_theme_icon(SNAME("Translation")));
} break; } break;
} }
} }
@ -531,7 +532,7 @@ void EditorPropertyPath::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
path_edit->set_icon(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); path_edit->set_icon(get_editor_theme_icon(SNAME("Folder")));
} break; } break;
} }
} }
@ -989,12 +990,12 @@ void EditorPropertyLayersGrid::_notification(int p_what) {
const int bsize = (grid_size.height * 80 / 100) / 2; const int bsize = (grid_size.height * 80 / 100) / 2;
const int h = bsize * 2 + 1; const int h = bsize * 2 + 1;
Color color = get_theme_color(read_only ? SNAME("disabled_highlight_color") : SNAME("highlight_color"), SNAME("Editor")); Color color = get_theme_color(read_only ? SNAME("disabled_highlight_color") : SNAME("highlight_color"), EditorStringName(Editor));
Color text_color = get_theme_color(read_only ? SNAME("disabled_font_color") : SNAME("font_color"), SNAME("Editor")); Color text_color = get_theme_color(read_only ? SNAME("disabled_font_color") : SNAME("font_color"), EditorStringName(Editor));
text_color.a *= 0.5; text_color.a *= 0.5;
Color text_color_on = get_theme_color(read_only ? SNAME("disabled_font_color") : SNAME("font_hover_color"), SNAME("Editor")); Color text_color_on = get_theme_color(read_only ? SNAME("disabled_font_color") : SNAME("font_hover_color"), EditorStringName(Editor));
text_color_on.a *= 0.7; text_color_on.a *= 0.7;
const int vofs = (grid_size.height - h) / 2; const int vofs = (grid_size.height - h) / 2;
@ -1080,7 +1081,7 @@ void EditorPropertyLayersGrid::_notification(int p_what) {
Ref<Texture2D> arrow = get_theme_icon(SNAME("arrow"), SNAME("Tree")); Ref<Texture2D> arrow = get_theme_icon(SNAME("arrow"), SNAME("Tree"));
ERR_FAIL_COND(arrow.is_null()); ERR_FAIL_COND(arrow.is_null());
Color arrow_color = get_theme_color(SNAME("highlight_color"), SNAME("Editor")); Color arrow_color = get_theme_color(SNAME("highlight_color"), EditorStringName(Editor));
arrow_color.a = expand_hovered ? 1.0 : 0.6; arrow_color.a = expand_hovered ? 1.0 : 0.6;
arrow_pos.x += 2.0; arrow_pos.x += 2.0;
@ -1117,9 +1118,9 @@ void EditorPropertyLayers::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
button->set_texture_normal(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); button->set_texture_normal(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
button->set_texture_pressed(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); button->set_texture_pressed(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
button->set_texture_disabled(get_theme_icon(SNAME("GuiTabMenu"), SNAME("EditorIcons"))); button->set_texture_disabled(get_editor_theme_icon(SNAME("GuiTabMenu")));
} break; } break;
} }
} }
@ -1244,7 +1245,7 @@ void EditorPropertyLayers::_button_pressed() {
layers->set_item_disabled(0, true); layers->set_item_disabled(0, true);
} }
layers->add_separator(); layers->add_separator();
layers->add_icon_item(get_theme_icon("Edit", "EditorIcons"), TTR("Edit Layer Names"), grid->layer_count); layers->add_icon_item(get_editor_theme_icon("Edit"), TTR("Edit Layer Names"), grid->layer_count);
Rect2 gp = button->get_screen_rect(); Rect2 gp = button->get_screen_rect();
layers->reset_size(); layers->reset_size();
@ -1408,7 +1409,7 @@ void EditorPropertySignal::update_property() {
edit->set_text("Signal: " + signal.get_name()); edit->set_text("Signal: " + signal.get_name());
edit->set_disabled(false); edit->set_disabled(false);
edit->set_icon(get_theme_icon(SNAME("Signals"), SNAME("EditorIcons"))); edit->set_icon(get_editor_theme_icon(SNAME("Signals")));
} }
void EditorPropertySignal::_bind_methods() { void EditorPropertySignal::_bind_methods() {
@ -1430,7 +1431,7 @@ void EditorPropertyCallable::update_property() {
edit->set_text("Callable"); edit->set_text("Callable");
edit->set_disabled(true); edit->set_disabled(true);
edit->set_icon(get_theme_icon(SNAME("Callable"), SNAME("EditorIcons"))); edit->set_icon(get_editor_theme_icon(SNAME("Callable")));
} }
void EditorPropertyCallable::_bind_methods() { void EditorPropertyCallable::_bind_methods() {
@ -1579,7 +1580,7 @@ void EditorPropertyEasing::_draw_easing() {
const Color font_color = get_theme_color(is_read_only() ? SNAME("font_uneditable_color") : SNAME("font_color"), SNAME("LineEdit")); const Color font_color = get_theme_color(is_read_only() ? SNAME("font_uneditable_color") : SNAME("font_color"), SNAME("LineEdit"));
Color line_color; Color line_color;
if (dragging) { if (dragging) {
line_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); line_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
} else { } else {
line_color = get_theme_color(is_read_only() ? SNAME("font_uneditable_color") : SNAME("font_color"), SNAME("LineEdit")) * Color(1, 1, 1, 0.9); line_color = get_theme_color(is_read_only() ? SNAME("font_uneditable_color") : SNAME("font_color"), SNAME("LineEdit")) * Color(1, 1, 1, 0.9);
} }
@ -1672,13 +1673,13 @@ void EditorPropertyEasing::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
preset->clear(); preset->clear();
preset->add_icon_item(get_theme_icon(SNAME("CurveLinear"), SNAME("EditorIcons")), "Linear", EASING_LINEAR); preset->add_icon_item(get_editor_theme_icon(SNAME("CurveLinear")), "Linear", EASING_LINEAR);
preset->add_icon_item(get_theme_icon(SNAME("CurveIn"), SNAME("EditorIcons")), "Ease In", EASING_IN); preset->add_icon_item(get_editor_theme_icon(SNAME("CurveIn")), "Ease In", EASING_IN);
preset->add_icon_item(get_theme_icon(SNAME("CurveOut"), SNAME("EditorIcons")), "Ease Out", EASING_OUT); preset->add_icon_item(get_editor_theme_icon(SNAME("CurveOut")), "Ease Out", EASING_OUT);
preset->add_icon_item(get_theme_icon(SNAME("CurveConstant"), SNAME("EditorIcons")), "Zero", EASING_ZERO); preset->add_icon_item(get_editor_theme_icon(SNAME("CurveConstant")), "Zero", EASING_ZERO);
if (!positive_only) { if (!positive_only) {
preset->add_icon_item(get_theme_icon(SNAME("CurveInOut"), SNAME("EditorIcons")), "Ease In-Out", EASING_IN_OUT); preset->add_icon_item(get_editor_theme_icon(SNAME("CurveInOut")), "Ease In-Out", EASING_IN_OUT);
preset->add_icon_item(get_theme_icon(SNAME("CurveOutIn"), SNAME("EditorIcons")), "Ease Out-In", EASING_OUT_IN); preset->add_icon_item(get_editor_theme_icon(SNAME("CurveOutIn")), "Ease Out-In", EASING_OUT_IN);
} }
easing_draw->set_custom_minimum_size(Size2(0, get_theme_font(SNAME("font"), SNAME("Label"))->get_height(get_theme_font_size(SNAME("font_size"), SNAME("Label"))) * 2)); easing_draw->set_custom_minimum_size(Size2(0, get_theme_font(SNAME("font"), SNAME("Label"))->get_height(get_theme_font_size(SNAME("font_size"), SNAME("Label"))) * 2));
} break; } break;
@ -2114,10 +2115,10 @@ void EditorPropertyQuaternion::_notification(int p_what) {
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
euler[i]->add_theme_color_override("label_color", colors[i]); euler[i]->add_theme_color_override("label_color", colors[i]);
} }
edit_button->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); edit_button->set_icon(get_editor_theme_icon(SNAME("Edit")));
euler_label->add_theme_color_override(SNAME("font_color"), get_theme_color(SNAME("property_color"), SNAME("Editor"))); euler_label->add_theme_color_override(SNAME("font_color"), get_theme_color(SNAME("property_color"), EditorStringName(Editor)));
warning->set_icon(get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons"))); warning->set_icon(get_editor_theme_icon(SNAME("NodeWarning")));
warning->add_theme_color_override(SNAME("font_color"), get_theme_color(SNAME("warning_color"), SNAME("Editor"))); warning->add_theme_color_override(SNAME("font_color"), get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} break; } break;
} }
} }
@ -2724,7 +2725,7 @@ void EditorPropertyColor::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
picker->set_custom_minimum_size(Size2(0, get_theme_constant(SNAME("color_picker_button_height"), SNAME("Editor")))); picker->set_custom_minimum_size(Size2(0, get_theme_constant(SNAME("color_picker_button_height"), EditorStringName(Editor))));
} break; } break;
} }
} }
@ -2921,7 +2922,7 @@ void EditorPropertyNodePath::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
Ref<Texture2D> t = get_theme_icon(SNAME("Clear"), SNAME("EditorIcons")); Ref<Texture2D> t = get_editor_theme_icon(SNAME("Clear"));
clear->set_icon(t); clear->set_icon(t);
} break; } break;
} }
@ -3210,9 +3211,9 @@ void EditorPropertyResource::_update_property_bg() {
} }
count_subinspectors = MIN(15, count_subinspectors); count_subinspectors = MIN(15, count_subinspectors);
add_theme_color_override("property_color", get_theme_color(SNAME("sub_inspector_property_color"), SNAME("Editor"))); add_theme_color_override("property_color", get_theme_color(SNAME("sub_inspector_property_color"), EditorStringName(Editor)));
add_theme_style_override("bg_selected", get_theme_stylebox("sub_inspector_property_bg" + itos(count_subinspectors), SNAME("Editor"))); add_theme_style_override("bg_selected", get_theme_stylebox("sub_inspector_property_bg" + itos(count_subinspectors), EditorStringName(Editor)));
add_theme_style_override("bg", get_theme_stylebox("sub_inspector_property_bg" + itos(count_subinspectors), SNAME("Editor"))); add_theme_style_override("bg", get_theme_stylebox("sub_inspector_property_bg" + itos(count_subinspectors), EditorStringName(Editor)));
add_theme_constant_override("v_separation", 0); add_theme_constant_override("v_separation", 0);
} else { } else {

View File

@ -36,6 +36,7 @@
#include "editor/editor_properties_vector.h" #include "editor/editor_properties_vector.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_spin_slider.h" #include "editor/gui/editor_spin_slider.h"
#include "editor/inspector_dock.h" #include "editor/inspector_dock.h"
#include "scene/gui/button.h" #include "scene/gui/button.h"
@ -312,7 +313,7 @@ void EditorPropertyArray::update_property() {
vbox->add_child(property_vbox); vbox->add_child(property_vbox);
button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Element")); button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Element"));
button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add_item->set_icon(get_editor_theme_icon(SNAME("Add")));
button_add_item->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyArray::_add_element)); button_add_item->connect(SNAME("pressed"), callable_mp(this, &EditorPropertyArray::_add_element));
button_add_item->set_disabled(is_read_only()); button_add_item->set_disabled(is_read_only());
vbox->add_child(button_add_item); vbox->add_child(button_add_item);
@ -357,7 +358,7 @@ void EditorPropertyArray::update_property() {
property_vbox->add_child(hbox); property_vbox->add_child(hbox);
Button *reorder_button = memnew(Button); Button *reorder_button = memnew(Button);
reorder_button->set_icon(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons"))); reorder_button->set_icon(get_editor_theme_icon(SNAME("TripleBar")));
reorder_button->set_default_cursor_shape(Control::CURSOR_MOVE); reorder_button->set_default_cursor_shape(Control::CURSOR_MOVE);
reorder_button->set_disabled(is_read_only()); reorder_button->set_disabled(is_read_only());
reorder_button->connect("gui_input", callable_mp(this, &EditorPropertyArray::_reorder_button_gui_input)); reorder_button->connect("gui_input", callable_mp(this, &EditorPropertyArray::_reorder_button_gui_input));
@ -397,13 +398,13 @@ void EditorPropertyArray::update_property() {
if (is_untyped_array) { if (is_untyped_array) {
Button *edit_btn = memnew(Button); Button *edit_btn = memnew(Button);
edit_btn->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); edit_btn->set_icon(get_editor_theme_icon(SNAME("Edit")));
hbox->add_child(edit_btn); hbox->add_child(edit_btn);
edit_btn->set_disabled(is_read_only()); edit_btn->set_disabled(is_read_only());
edit_btn->connect("pressed", callable_mp(this, &EditorPropertyArray::_change_type).bind(edit_btn, i + offset)); edit_btn->connect("pressed", callable_mp(this, &EditorPropertyArray::_change_type).bind(edit_btn, i + offset));
} else { } else {
Button *remove_btn = memnew(Button); Button *remove_btn = memnew(Button);
remove_btn->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); remove_btn->set_icon(get_editor_theme_icon(SNAME("Remove")));
remove_btn->set_disabled(is_read_only()); remove_btn->set_disabled(is_read_only());
remove_btn->connect("pressed", callable_mp(this, &EditorPropertyArray::_remove_pressed).bind(i + offset)); remove_btn->connect("pressed", callable_mp(this, &EditorPropertyArray::_remove_pressed).bind(i + offset));
hbox->add_child(remove_btn); hbox->add_child(remove_btn);
@ -438,7 +439,7 @@ void EditorPropertyArray::_remove_pressed(int p_index) {
void EditorPropertyArray::_button_draw() { void EditorPropertyArray::_button_draw() {
if (dropping) { if (dropping) {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
edit->draw_rect(Rect2(Point2(), edit->get_size()), color, false); edit->draw_rect(Rect2(Point2(), edit->get_size()), color, false);
} }
} }
@ -529,13 +530,13 @@ void EditorPropertyArray::_notification(int p_what) {
} }
String type = Variant::get_type_name(Variant::Type(i)); String type = Variant::get_type_name(Variant::Type(i));
change_type->add_icon_item(get_theme_icon(type, SNAME("EditorIcons")), type, i); change_type->add_icon_item(get_editor_theme_icon(type), type, i);
} }
change_type->add_separator(); change_type->add_separator();
change_type->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Remove Item"), Variant::VARIANT_MAX); change_type->add_icon_item(get_editor_theme_icon(SNAME("Remove")), TTR("Remove Item"), Variant::VARIANT_MAX);
if (button_add_item) { if (button_add_item) {
button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add_item->set_icon(get_editor_theme_icon(SNAME("Add")));
} }
} break; } break;
@ -1117,7 +1118,7 @@ void EditorPropertyDictionary::update_property() {
if (i == amount) { if (i == amount) {
PanelContainer *pc = memnew(PanelContainer); PanelContainer *pc = memnew(PanelContainer);
property_vbox->add_child(pc); property_vbox->add_child(pc);
pc->add_theme_style_override(SNAME("panel"), get_theme_stylebox(SNAME("DictionaryAddItem"), SNAME("EditorStyles"))); pc->add_theme_style_override(SNAME("panel"), get_theme_stylebox(SNAME("DictionaryAddItem"), EditorStringName(EditorStyles)));
add_vbox = memnew(VBoxContainer); add_vbox = memnew(VBoxContainer);
pc->add_child(add_vbox); pc->add_child(add_vbox);
@ -1151,7 +1152,7 @@ void EditorPropertyDictionary::update_property() {
hbox->add_child(prop); hbox->add_child(prop);
prop->set_h_size_flags(SIZE_EXPAND_FILL); prop->set_h_size_flags(SIZE_EXPAND_FILL);
Button *edit_btn = memnew(Button); Button *edit_btn = memnew(Button);
edit_btn->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); edit_btn->set_icon(get_editor_theme_icon(SNAME("Edit")));
edit_btn->set_disabled(is_read_only()); edit_btn->set_disabled(is_read_only());
hbox->add_child(edit_btn); hbox->add_child(edit_btn);
edit_btn->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_change_type).bind(edit_btn, change_index)); edit_btn->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_change_type).bind(edit_btn, change_index));
@ -1160,7 +1161,7 @@ void EditorPropertyDictionary::update_property() {
if (i == amount + 1) { if (i == amount + 1) {
button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Key/Value Pair")); button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Key/Value Pair"));
button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add_item->set_icon(get_editor_theme_icon(SNAME("Add")));
button_add_item->set_disabled(is_read_only()); button_add_item->set_disabled(is_read_only());
button_add_item->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_add_key_value)); button_add_item->connect("pressed", callable_mp(this, &EditorPropertyDictionary::_add_key_value));
add_vbox->add_child(button_add_item); add_vbox->add_child(button_add_item);
@ -1195,13 +1196,13 @@ void EditorPropertyDictionary::_notification(int p_what) {
} }
String type = Variant::get_type_name(Variant::Type(i)); String type = Variant::get_type_name(Variant::Type(i));
change_type->add_icon_item(get_theme_icon(type, SNAME("EditorIcons")), type, i); change_type->add_icon_item(get_editor_theme_icon(type), type, i);
} }
change_type->add_separator(); change_type->add_separator();
change_type->add_icon_item(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), TTR("Remove Item"), Variant::VARIANT_MAX); change_type->add_icon_item(get_editor_theme_icon(SNAME("Remove")), TTR("Remove Item"), Variant::VARIANT_MAX);
if (button_add_item) { if (button_add_item) {
button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add_item->set_icon(get_editor_theme_icon(SNAME("Add")));
} }
} break; } break;
} }
@ -1380,7 +1381,7 @@ void EditorPropertyLocalizableString::update_property() {
hbox->add_child(prop); hbox->add_child(prop);
prop->set_h_size_flags(SIZE_EXPAND_FILL); prop->set_h_size_flags(SIZE_EXPAND_FILL);
Button *edit_btn = memnew(Button); Button *edit_btn = memnew(Button);
edit_btn->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); edit_btn->set_icon(get_editor_theme_icon(SNAME("Remove")));
hbox->add_child(edit_btn); hbox->add_child(edit_btn);
edit_btn->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_remove_item).bind(edit_btn, remove_index)); edit_btn->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_remove_item).bind(edit_btn, remove_index));
@ -1389,7 +1390,7 @@ void EditorPropertyLocalizableString::update_property() {
if (page_index == max_page) { if (page_index == max_page) {
button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Translation")); button_add_item = EditorInspector::create_inspector_action_button(TTR("Add Translation"));
button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add_item->set_icon(get_editor_theme_icon(SNAME("Add")));
button_add_item->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_add_locale_popup)); button_add_item->connect("pressed", callable_mp(this, &EditorPropertyLocalizableString::_add_locale_popup));
property_vbox->add_child(button_add_item); property_vbox->add_child(button_add_item);
} }
@ -1415,7 +1416,7 @@ void EditorPropertyLocalizableString::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
if (button_add_item) { if (button_add_item) {
button_add_item->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add_item->set_icon(get_editor_theme_icon(SNAME("Add")));
} }
} break; } break;
} }

View File

@ -136,8 +136,8 @@ void EditorPropertyVectorN::_notification(int p_what) {
} break; } break;
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
linked->set_texture_normal(get_theme_icon(SNAME("Unlinked"), SNAME("EditorIcons"))); linked->set_texture_normal(get_editor_theme_icon(SNAME("Unlinked")));
linked->set_texture_pressed(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons"))); linked->set_texture_pressed(get_editor_theme_icon(SNAME("Instance")));
const Color *colors = _get_property_colors(); const Color *colors = _get_property_colors();
for (int i = 0; i < component_count; i++) { for (int i = 0; i < component_count; i++) {

View File

@ -257,7 +257,7 @@ void EditorQuickOpen::_notification(int p_what) {
} }
void EditorQuickOpen::_theme_changed() { void EditorQuickOpen::_theme_changed() {
search_box->set_right_icon(search_options->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search_box->set_right_icon(search_options->get_editor_theme_icon(SNAME("Search")));
} }
void EditorQuickOpen::_bind_methods() { void EditorQuickOpen::_bind_methods() {

View File

@ -36,6 +36,7 @@
#include "editor/editor_resource_preview.h" #include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/filesystem_dock.h" #include "editor/filesystem_dock.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "editor/plugins/editor_resource_conversion_plugin.h" #include "editor/plugins/editor_resource_conversion_plugin.h"
@ -193,10 +194,10 @@ void EditorResourcePicker::_update_menu_items() {
set_create_options(edit_menu); set_create_options(edit_menu);
// Add an option to load a resource from a file using the QuickOpen dialog. // Add an option to load a resource from a file using the QuickOpen dialog.
edit_menu->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Quick Load"), OBJ_MENU_QUICKLOAD); edit_menu->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTR("Quick Load"), OBJ_MENU_QUICKLOAD);
// Add an option to load a resource from a file using the regular file dialog. // Add an option to load a resource from a file using the regular file dialog.
edit_menu->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Load"), OBJ_MENU_LOAD); edit_menu->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTR("Load"), OBJ_MENU_LOAD);
} }
// Add options for changing existing value of the resource. // Add options for changing existing value of the resource.
@ -208,14 +209,14 @@ void EditorResourcePicker::_update_menu_items() {
// since will only be able to view its properties in read-only mode. // since will only be able to view its properties in read-only mode.
if (is_edited_resource_foreign_import) { if (is_edited_resource_foreign_import) {
// The 'Search' icon is a magnifying glass, which seems appropriate, but maybe a bespoke icon is preferred here. // The 'Search' icon is a magnifying glass, which seems appropriate, but maybe a bespoke icon is preferred here.
edit_menu->add_icon_item(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")), TTR("Inspect"), OBJ_MENU_INSPECT); edit_menu->add_icon_item(get_editor_theme_icon(SNAME("Search")), TTR("Inspect"), OBJ_MENU_INSPECT);
} else { } else {
edit_menu->add_icon_item(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")), TTR("Edit"), OBJ_MENU_INSPECT); edit_menu->add_icon_item(get_editor_theme_icon(SNAME("Edit")), TTR("Edit"), OBJ_MENU_INSPECT);
} }
if (is_editable()) { if (is_editable()) {
edit_menu->add_icon_item(get_theme_icon(SNAME("Clear"), SNAME("EditorIcons")), TTR("Clear"), OBJ_MENU_CLEAR); edit_menu->add_icon_item(get_editor_theme_icon(SNAME("Clear")), TTR("Clear"), OBJ_MENU_CLEAR);
edit_menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Make Unique"), OBJ_MENU_MAKE_UNIQUE); edit_menu->add_icon_item(get_editor_theme_icon(SNAME("Duplicate")), TTR("Make Unique"), OBJ_MENU_MAKE_UNIQUE);
// Check whether the resource has subresources. // Check whether the resource has subresources.
List<PropertyInfo> property_list; List<PropertyInfo> property_list;
@ -228,10 +229,10 @@ void EditorResourcePicker::_update_menu_items() {
} }
} }
if (has_subresources) { if (has_subresources) {
edit_menu->add_icon_item(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), TTR("Make Unique (Recursive)"), OBJ_MENU_MAKE_UNIQUE_RECURSIVE); edit_menu->add_icon_item(get_editor_theme_icon(SNAME("Duplicate")), TTR("Make Unique (Recursive)"), OBJ_MENU_MAKE_UNIQUE_RECURSIVE);
} }
edit_menu->add_icon_item(get_theme_icon(SNAME("Save"), SNAME("EditorIcons")), TTR("Save"), OBJ_MENU_SAVE); edit_menu->add_icon_item(get_editor_theme_icon(SNAME("Save")), TTR("Save"), OBJ_MENU_SAVE);
} }
if (edited_resource->get_path().is_resource_file()) { if (edited_resource->get_path().is_resource_file()) {
@ -282,8 +283,8 @@ void EditorResourcePicker::_update_menu_items() {
for (int i = 0; i < conversions.size(); i++) { for (int i = 0; i < conversions.size(); i++) {
String what = conversions[i]->converts_to(); String what = conversions[i]->converts_to();
Ref<Texture2D> icon; Ref<Texture2D> icon;
if (has_theme_icon(what, SNAME("EditorIcons"))) { if (has_theme_icon(what, EditorStringName(EditorIcons))) {
icon = get_theme_icon(what, SNAME("EditorIcons")); icon = get_editor_theme_icon(what);
} else { } else {
icon = get_theme_icon(what, SNAME("Resource")); icon = get_theme_icon(what, SNAME("Resource"));
} }
@ -516,7 +517,7 @@ void EditorResourcePicker::set_create_options(Object *p_menu_node) {
inheritors_array.push_back(t); inheritors_array.push_back(t);
if (!icon.is_valid()) { if (!icon.is_valid()) {
icon = get_theme_icon(has_theme_icon(t, SNAME("EditorIcons")) ? t : String("Object"), SNAME("EditorIcons")); icon = get_editor_theme_icon(has_theme_icon(t, EditorStringName(EditorIcons)) ? t : String("Object"));
} }
int id = TYPE_BASE_ID + idx; int id = TYPE_BASE_ID + idx;
@ -539,7 +540,7 @@ bool EditorResourcePicker::handle_menu_selected(int p_which) {
void EditorResourcePicker::_button_draw() { void EditorResourcePicker::_button_draw() {
if (dropping) { if (dropping) {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
assign_button->draw_rect(Rect2(Point2(), assign_button->get_size()), color, false); assign_button->draw_rect(Rect2(Point2(), assign_button->get_size()), color, false);
} }
} }
@ -806,7 +807,7 @@ void EditorResourcePicker::_notification(int p_what) {
[[fallthrough]]; [[fallthrough]];
} }
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
assign_button->add_theme_constant_override("icon_max_width", get_theme_constant(SNAME("class_icon_size"), SNAME("Editor"))); assign_button->add_theme_constant_override("icon_max_width", get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor)));
edit_button->set_icon(get_theme_icon(SNAME("select_arrow"), SNAME("Tree"))); edit_button->set_icon(get_theme_icon(SNAME("select_arrow"), SNAME("Tree")));
} break; } break;
@ -1072,11 +1073,11 @@ void EditorScriptPicker::set_create_options(Object *p_menu_node) {
return; return;
} }
menu_node->add_icon_item(get_theme_icon(SNAME("ScriptCreate"), SNAME("EditorIcons")), TTR("New Script"), OBJ_MENU_NEW_SCRIPT); menu_node->add_icon_item(get_editor_theme_icon(SNAME("ScriptCreate")), TTR("New Script"), OBJ_MENU_NEW_SCRIPT);
if (script_owner) { if (script_owner) {
Ref<Script> scr = script_owner->get_script(); Ref<Script> scr = script_owner->get_script();
if (scr.is_valid()) { if (scr.is_valid()) {
menu_node->add_icon_item(get_theme_icon(SNAME("ScriptExtend"), SNAME("EditorIcons")), TTR("Extend Script"), OBJ_MENU_EXTEND_SCRIPT); menu_node->add_icon_item(get_editor_theme_icon(SNAME("ScriptExtend")), TTR("Extend Script"), OBJ_MENU_EXTEND_SCRIPT);
} }
} }
menu_node->add_separator(); menu_node->add_separator();
@ -1128,7 +1129,7 @@ void EditorShaderPicker::set_create_options(Object *p_menu_node) {
return; return;
} }
menu_node->add_icon_item(get_theme_icon(SNAME("Shader"), SNAME("EditorIcons")), TTR("New Shader"), OBJ_MENU_NEW_SHADER); menu_node->add_icon_item(get_editor_theme_icon(SNAME("Shader")), TTR("New Shader"), OBJ_MENU_NEW_SHADER);
menu_node->add_separator(); menu_node->add_separator();
} }
@ -1277,12 +1278,12 @@ void EditorAudioStreamPicker::_preview_draw() {
points.write[idx * 2 + 1] = Vector2(i + 1, rect.position.y + max * rect.size.y); points.write[idx * 2 + 1] = Vector2(i + 1, rect.position.y + max * rect.size.y);
} }
Vector<Color> colors = { get_theme_color(SNAME("contrast_color_2"), SNAME("Editor")) }; Vector<Color> colors = { get_theme_color(SNAME("contrast_color_2"), EditorStringName(Editor)) };
RS::get_singleton()->canvas_item_add_multiline(stream_preview_rect->get_canvas_item(), points, colors); RS::get_singleton()->canvas_item_add_multiline(stream_preview_rect->get_canvas_item(), points, colors);
if (tagged_frame_offset_count) { if (tagged_frame_offset_count) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
for (uint32_t i = 0; i < tagged_frame_offset_count; i++) { for (uint32_t i = 0; i < tagged_frame_offset_count; i++) {
int x = CLAMP(tagged_frame_offsets[i] * size.width / preview_len, 0, size.width); int x = CLAMP(tagged_frame_offsets[i] * size.width / preview_len, 0, size.width);
@ -1299,9 +1300,9 @@ void EditorAudioStreamPicker::_preview_draw() {
Color icon_modulate(1, 1, 1, 1); Color icon_modulate(1, 1, 1, 1);
if (tagged_frame_offset_count > 0) { if (tagged_frame_offset_count > 0) {
icon = get_theme_icon(SNAME("Play"), SNAME("EditorIcons")); icon = get_editor_theme_icon(SNAME("Play"));
if ((OS::get_singleton()->get_ticks_msec() % 500) > 250) { if ((OS::get_singleton()->get_ticks_msec() % 500) > 250) {
icon_modulate = Color(1, 0.5, 0.5, 1); // get_theme_color(SNAME("accent_color"), SNAME("Editor")); icon_modulate = Color(1, 0.5, 0.5, 1); // get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
} }
} else { } else {
icon = EditorNode::get_singleton()->get_object_icon(audio_stream.operator->(), "Object"); icon = EditorNode::get_singleton()->get_object_icon(audio_stream.operator->(), "Object");

View File

@ -341,7 +341,7 @@ void EditorResourcePreview::_thread() {
void EditorResourcePreview::_update_thumbnail_sizes() { void EditorResourcePreview::_update_thumbnail_sizes() {
if (small_thumbnail_size == -1) { if (small_thumbnail_size == -1) {
small_thumbnail_size = EditorNode::get_singleton()->get_theme_base()->get_theme_icon(SNAME("Object"), SNAME("EditorIcons"))->get_width(); // Kind of a workaround to retrieve the default icon size small_thumbnail_size = EditorNode::get_singleton()->get_theme_base()->get_editor_theme_icon(SNAME("Object"))->get_width(); // Kind of a workaround to retrieve the default icon size
} }
} }

View File

@ -40,7 +40,7 @@
void EditorRunNative::_notification(int p_what) { void EditorRunNative::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
remote_debug->set_icon(get_theme_icon(SNAME("PlayRemote"), SNAME("EditorIcons"))); remote_debug->set_icon(get_editor_theme_icon(SNAME("PlayRemote")));
} break; } break;
case NOTIFICATION_PROCESS: { case NOTIFICATION_PROCESS: {

View File

@ -33,6 +33,7 @@
#include "editor/editor_property_name_processor.h" #include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
static bool _property_path_matches(const String &p_property_path, const String &p_filter, EditorPropertyNameProcessor::Style p_style) { static bool _property_path_matches(const String &p_property_path, const String &p_filter, EditorPropertyNameProcessor::Style p_style) {
if (p_property_path.findn(p_filter) != -1) { if (p_property_path.findn(p_filter) != -1) {
@ -264,8 +265,8 @@ void SectionedInspector::update_category_list() {
for (int i = 0; i < sc; i++) { for (int i = 0; i < sc; i++) {
TreeItem *parent = section_map[metasection]; TreeItem *parent = section_map[metasection];
//parent->set_custom_bg_color(0, get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); //parent->set_custom_bg_color(0, get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
parent->set_custom_font(0, get_theme_font(SNAME("bold"), SNAME("EditorFonts"))); parent->set_custom_font(0, get_theme_font(SNAME("bold"), EditorStringName(EditorFonts)));
if (i > 0) { if (i > 0) {
metasection += "/" + sectionarr[i]; metasection += "/" + sectionarr[i];

View File

@ -40,6 +40,7 @@
#include "editor/editor_property_name_processor.h" #include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/event_listener_line_edit.h" #include "editor/event_listener_line_edit.h"
#include "editor/input_event_configuration_dialog.h" #include "editor/input_event_configuration_dialog.h"
@ -197,15 +198,15 @@ void EditorSettingsDialog::shortcut_input(const Ref<InputEvent> &p_event) {
} }
void EditorSettingsDialog::_update_icons() { void EditorSettingsDialog::_update_icons() {
search_box->set_right_icon(shortcuts->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search_box->set_right_icon(shortcuts->get_editor_theme_icon(SNAME("Search")));
search_box->set_clear_button_enabled(true); search_box->set_clear_button_enabled(true);
shortcut_search_box->set_right_icon(shortcuts->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); shortcut_search_box->set_right_icon(shortcuts->get_editor_theme_icon(SNAME("Search")));
shortcut_search_box->set_clear_button_enabled(true); shortcut_search_box->set_clear_button_enabled(true);
restart_close_button->set_icon(shortcuts->get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); restart_close_button->set_icon(shortcuts->get_editor_theme_icon(SNAME("Close")));
restart_container->add_theme_style_override("panel", shortcuts->get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); restart_container->add_theme_style_override("panel", shortcuts->get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
restart_icon->set_texture(shortcuts->get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); restart_icon->set_texture(shortcuts->get_editor_theme_icon(SNAME("StatusWarning")));
restart_label->add_theme_color_override("font_color", shortcuts->get_theme_color(SNAME("warning_color"), SNAME("Editor"))); restart_label->add_theme_color_override("font_color", shortcuts->get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} }
void EditorSettingsDialog::_event_config_confirmed() { void EditorSettingsDialog::_event_config_confirmed() {
@ -303,11 +304,11 @@ void EditorSettingsDialog::_create_shortcut_treeitem(TreeItem *p_parent, const S
} }
if (p_allow_revert) { if (p_allow_revert) {
shortcut_item->add_button(1, shortcuts->get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")), SHORTCUT_REVERT); shortcut_item->add_button(1, shortcuts->get_editor_theme_icon(SNAME("Reload")), SHORTCUT_REVERT);
} }
shortcut_item->add_button(1, shortcuts->get_theme_icon(SNAME("Add"), SNAME("EditorIcons")), SHORTCUT_ADD); shortcut_item->add_button(1, shortcuts->get_editor_theme_icon(SNAME("Add")), SHORTCUT_ADD);
shortcut_item->add_button(1, shortcuts->get_theme_icon(SNAME("Close"), SNAME("EditorIcons")), SHORTCUT_ERASE); shortcut_item->add_button(1, shortcuts->get_editor_theme_icon(SNAME("Close")), SHORTCUT_ERASE);
shortcut_item->set_meta("is_action", p_is_action); shortcut_item->set_meta("is_action", p_is_action);
shortcut_item->set_meta("type", "shortcut"); shortcut_item->set_meta("type", "shortcut");
@ -326,11 +327,11 @@ void EditorSettingsDialog::_create_shortcut_treeitem(TreeItem *p_parent, const S
event_item->set_text(0, shortcut_item->get_child_count() == 1 ? "Primary" : ""); event_item->set_text(0, shortcut_item->get_child_count() == 1 ? "Primary" : "");
event_item->set_text(1, ie->as_text()); event_item->set_text(1, ie->as_text());
event_item->add_button(1, shortcuts->get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")), SHORTCUT_EDIT); event_item->add_button(1, shortcuts->get_editor_theme_icon(SNAME("Edit")), SHORTCUT_EDIT);
event_item->add_button(1, shortcuts->get_theme_icon(SNAME("Close"), SNAME("EditorIcons")), SHORTCUT_ERASE); event_item->add_button(1, shortcuts->get_editor_theme_icon(SNAME("Close")), SHORTCUT_ERASE);
event_item->set_custom_bg_color(0, shortcuts->get_theme_color(SNAME("dark_color_3"), SNAME("Editor"))); event_item->set_custom_bg_color(0, shortcuts->get_theme_color(SNAME("dark_color_3"), EditorStringName(Editor)));
event_item->set_custom_bg_color(1, shortcuts->get_theme_color(SNAME("dark_color_3"), SNAME("Editor"))); event_item->set_custom_bg_color(1, shortcuts->get_theme_color(SNAME("dark_color_3"), EditorStringName(Editor)));
event_item->set_meta("is_action", p_is_action); event_item->set_meta("is_action", p_is_action);
event_item->set_meta("type", "event"); event_item->set_meta("type", "event");
@ -399,8 +400,8 @@ void EditorSettingsDialog::_update_shortcuts() {
if (collapsed.has("Common")) { if (collapsed.has("Common")) {
common_section->set_collapsed(collapsed["Common"]); common_section->set_collapsed(collapsed["Common"]);
} }
common_section->set_custom_bg_color(0, shortcuts->get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); common_section->set_custom_bg_color(0, shortcuts->get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
common_section->set_custom_bg_color(1, shortcuts->get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); common_section->set_custom_bg_color(1, shortcuts->get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
// Get the action map for the editor, and add each item to the "Common" section. // Get the action map for the editor, and add each item to the "Common" section.
for (const KeyValue<StringName, InputMap::Action> &E : InputMap::get_singleton()->get_action_map()) { for (const KeyValue<StringName, InputMap::Action> &E : InputMap::get_singleton()->get_action_map()) {
@ -452,8 +453,8 @@ void EditorSettingsDialog::_update_shortcuts() {
section->set_tooltip_text(0, tooltip); section->set_tooltip_text(0, tooltip);
section->set_selectable(0, false); section->set_selectable(0, false);
section->set_selectable(1, false); section->set_selectable(1, false);
section->set_custom_bg_color(0, shortcuts->get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); section->set_custom_bg_color(0, shortcuts->get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
section->set_custom_bg_color(1, shortcuts->get_theme_color(SNAME("prop_subsection"), SNAME("Editor"))); section->set_custom_bg_color(1, shortcuts->get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor)));
if (collapsed.has(item_name)) { if (collapsed.has(item_name)) {
section->set_collapsed(collapsed[item_name]); section->set_collapsed(collapsed[item_name]);

View File

@ -0,0 +1,40 @@
/**************************************************************************/
/* editor_string_names.cpp */
/**************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/**************************************************************************/
#include "editor_string_names.h"
EditorStringNames *EditorStringNames::singleton = nullptr;
EditorStringNames::EditorStringNames() {
Editor = StaticCString::create("Editor");
EditorFonts = StaticCString::create("EditorFonts");
EditorIcons = StaticCString::create("EditorIcons");
EditorStyles = StaticCString::create("EditorStyles");
}

View File

@ -0,0 +1,58 @@
/**************************************************************************/
/* editor_string_names.h */
/**************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/**************************************************************************/
#ifndef EDITOR_STRING_NAMES_H
#define EDITOR_STRING_NAMES_H
#include "core/string/string_name.h"
class EditorStringNames {
static EditorStringNames *singleton;
EditorStringNames();
public:
static void create() { singleton = memnew(EditorStringNames); }
static void free() {
memdelete(singleton);
singleton = nullptr;
}
_FORCE_INLINE_ static EditorStringNames *get_singleton() { return singleton; }
StringName Editor;
StringName EditorFonts;
StringName EditorIcons;
StringName EditorStyles;
};
#define EditorStringName(m_name) EditorStringNames::get_singleton()->m_name
#endif // EDITOR_STRING_NAMES_H

View File

@ -36,6 +36,7 @@
#include "editor/editor_icons.gen.h" #include "editor/editor_icons.gen.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/resources/image_texture.h" #include "scene/resources/image_texture.h"
#include "scene/resources/style_box_flat.h" #include "scene/resources/style_box_flat.h"
#include "scene/resources/style_box_line.h" #include "scene/resources/style_box_line.h"
@ -313,9 +314,9 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme, f
} }
} }
// These colors should be converted even if we are using a dark theme. // These colors should be converted even if we are using a dark theme.
const Color error_color = p_theme->get_color(SNAME("error_color"), SNAME("Editor")); const Color error_color = p_theme->get_color(SNAME("error_color"), EditorStringName(Editor));
const Color success_color = p_theme->get_color(SNAME("success_color"), SNAME("Editor")); const Color success_color = p_theme->get_color(SNAME("success_color"), EditorStringName(Editor));
const Color warning_color = p_theme->get_color(SNAME("warning_color"), SNAME("Editor")); const Color warning_color = p_theme->get_color(SNAME("warning_color"), EditorStringName(Editor));
color_conversion_map[Color::html("#ff5f5f")] = error_color; color_conversion_map[Color::html("#ff5f5f")] = error_color;
color_conversion_map[Color::html("#5fff97")] = success_color; color_conversion_map[Color::html("#5fff97")] = success_color;
color_conversion_map[Color::html("#ffdd65")] = warning_color; color_conversion_map[Color::html("#ffdd65")] = warning_color;
@ -335,7 +336,7 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme, f
HashMap<Color, Color> accent_color_map; HashMap<Color, Color> accent_color_map;
HashSet<StringName> accent_color_icons; HashSet<StringName> accent_color_icons;
const Color accent_color = p_theme->get_color(SNAME("accent_color"), SNAME("Editor")); const Color accent_color = p_theme->get_color(SNAME("accent_color"), EditorStringName(Editor));
accent_color_map[Color::html("699ce8")] = accent_color; accent_color_map[Color::html("699ce8")] = accent_color;
if (accent_color.get_luminance() > 0.75) { if (accent_color.get_luminance() > 0.75) {
accent_color_map[Color::html("ffffff")] = Color(0.2, 0.2, 0.2); accent_color_map[Color::html("ffffff")] = Color(0.2, 0.2, 0.2);
@ -369,7 +370,7 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme, f
} }
} }
p_theme->set_icon(editor_icon_name, SNAME("EditorIcons"), icon); p_theme->set_icon(editor_icon_name, EditorStringName(EditorIcons), icon);
} }
} }
@ -396,7 +397,7 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme, f
} }
} }
p_theme->set_icon(editor_icons_names[index], SNAME("EditorIcons"), icon); p_theme->set_icon(editor_icons_names[index], EditorStringName(EditorIcons), icon);
} }
} else { } else {
const float scale = (float)p_thumb_size / 32.0 * EDSCALE; const float scale = (float)p_thumb_size / 32.0 * EDSCALE;
@ -419,7 +420,7 @@ void editor_register_and_generate_icons(Ref<Theme> p_theme, bool p_dark_theme, f
} }
} }
p_theme->set_icon(editor_icons_names[index], SNAME("EditorIcons"), icon); p_theme->set_icon(editor_icons_names[index], EditorStringName(EditorIcons), icon);
} }
} }
OS::get_singleton()->benchmark_end_measure("editor_register_and_generate_icons_" + String((p_only_thumbs ? "with_only_thumbs" : "all"))); OS::get_singleton()->benchmark_end_measure("editor_register_and_generate_icons_" + String((p_only_thumbs ? "with_only_thumbs" : "all")));
@ -572,38 +573,38 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
const Color disabled_highlight_color = highlight_color.lerp(dark_theme ? Color(0, 0, 0) : Color(1, 1, 1), 0.5); const Color disabled_highlight_color = highlight_color.lerp(dark_theme ? Color(0, 0, 0) : Color(1, 1, 1), 0.5);
// Can't save single float in theme, so using Color. // Can't save single float in theme, so using Color.
theme->set_color("icon_saturation", "Editor", Color(icon_saturation, icon_saturation, icon_saturation)); theme->set_color("icon_saturation", EditorStringName(Editor), Color(icon_saturation, icon_saturation, icon_saturation));
theme->set_color("accent_color", "Editor", accent_color); theme->set_color("accent_color", EditorStringName(Editor), accent_color);
theme->set_color("highlight_color", "Editor", highlight_color); theme->set_color("highlight_color", EditorStringName(Editor), highlight_color);
theme->set_color("disabled_highlight_color", "Editor", disabled_highlight_color); theme->set_color("disabled_highlight_color", EditorStringName(Editor), disabled_highlight_color);
theme->set_color("base_color", "Editor", base_color); theme->set_color("base_color", EditorStringName(Editor), base_color);
theme->set_color("dark_color_1", "Editor", dark_color_1); theme->set_color("dark_color_1", EditorStringName(Editor), dark_color_1);
theme->set_color("dark_color_2", "Editor", dark_color_2); theme->set_color("dark_color_2", EditorStringName(Editor), dark_color_2);
theme->set_color("dark_color_3", "Editor", dark_color_3); theme->set_color("dark_color_3", EditorStringName(Editor), dark_color_3);
theme->set_color("contrast_color_1", "Editor", contrast_color_1); theme->set_color("contrast_color_1", EditorStringName(Editor), contrast_color_1);
theme->set_color("contrast_color_2", "Editor", contrast_color_2); theme->set_color("contrast_color_2", EditorStringName(Editor), contrast_color_2);
theme->set_color("box_selection_fill_color", "Editor", accent_color * Color(1, 1, 1, 0.3)); theme->set_color("box_selection_fill_color", EditorStringName(Editor), accent_color * Color(1, 1, 1, 0.3));
theme->set_color("box_selection_stroke_color", "Editor", accent_color * Color(1, 1, 1, 0.8)); theme->set_color("box_selection_stroke_color", EditorStringName(Editor), accent_color * Color(1, 1, 1, 0.8));
theme->set_color("axis_x_color", "Editor", Color(0.96, 0.20, 0.32)); theme->set_color("axis_x_color", EditorStringName(Editor), Color(0.96, 0.20, 0.32));
theme->set_color("axis_y_color", "Editor", Color(0.53, 0.84, 0.01)); theme->set_color("axis_y_color", EditorStringName(Editor), Color(0.53, 0.84, 0.01));
theme->set_color("axis_z_color", "Editor", Color(0.16, 0.55, 0.96)); theme->set_color("axis_z_color", EditorStringName(Editor), Color(0.16, 0.55, 0.96));
theme->set_color("axis_w_color", "Editor", Color(0.55, 0.55, 0.55)); theme->set_color("axis_w_color", EditorStringName(Editor), Color(0.55, 0.55, 0.55));
const float prop_color_saturation = accent_color.get_s() * 0.75; const float prop_color_saturation = accent_color.get_s() * 0.75;
const float prop_color_value = accent_color.get_v(); const float prop_color_value = accent_color.get_v();
theme->set_color("property_color_x", "Editor", Color().from_hsv(0.0 / 3.0 + 0.05, prop_color_saturation, prop_color_value)); theme->set_color("property_color_x", EditorStringName(Editor), Color().from_hsv(0.0 / 3.0 + 0.05, prop_color_saturation, prop_color_value));
theme->set_color("property_color_y", "Editor", Color().from_hsv(1.0 / 3.0 + 0.05, prop_color_saturation, prop_color_value)); theme->set_color("property_color_y", EditorStringName(Editor), Color().from_hsv(1.0 / 3.0 + 0.05, prop_color_saturation, prop_color_value));
theme->set_color("property_color_z", "Editor", Color().from_hsv(2.0 / 3.0 + 0.05, prop_color_saturation, prop_color_value)); theme->set_color("property_color_z", EditorStringName(Editor), Color().from_hsv(2.0 / 3.0 + 0.05, prop_color_saturation, prop_color_value));
theme->set_color("property_color_w", "Editor", Color().from_hsv(1.5 / 3.0 + 0.05, prop_color_saturation, prop_color_value)); theme->set_color("property_color_w", EditorStringName(Editor), Color().from_hsv(1.5 / 3.0 + 0.05, prop_color_saturation, prop_color_value));
theme->set_color("font_color", "Editor", font_color); theme->set_color("font_color", EditorStringName(Editor), font_color);
theme->set_color("highlighted_font_color", "Editor", font_hover_color); theme->set_color("highlighted_font_color", EditorStringName(Editor), font_hover_color);
theme->set_color("disabled_font_color", "Editor", font_disabled_color); theme->set_color("disabled_font_color", EditorStringName(Editor), font_disabled_color);
theme->set_color("readonly_font_color", "Editor", font_readonly_color); theme->set_color("readonly_font_color", EditorStringName(Editor), font_readonly_color);
theme->set_color("mono_color", "Editor", mono_color); theme->set_color("mono_color", EditorStringName(Editor), mono_color);
Color success_color = Color(0.45, 0.95, 0.5); Color success_color = Color(0.45, 0.95, 0.5);
Color warning_color = Color(1, 0.87, 0.4); Color warning_color = Color(1, 0.87, 0.4);
@ -619,27 +620,27 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
error_color = error_color.lerp(mono_color, 0.25); error_color = error_color.lerp(mono_color, 0.25);
} }
theme->set_color("success_color", "Editor", success_color); theme->set_color("success_color", EditorStringName(Editor), success_color);
theme->set_color("warning_color", "Editor", warning_color); theme->set_color("warning_color", EditorStringName(Editor), warning_color);
theme->set_color("error_color", "Editor", error_color); theme->set_color("error_color", EditorStringName(Editor), error_color);
theme->set_color("property_color", "Editor", property_color); theme->set_color("property_color", EditorStringName(Editor), property_color);
theme->set_color("readonly_color", "Editor", readonly_color); theme->set_color("readonly_color", EditorStringName(Editor), readonly_color);
if (!dark_theme) { if (!dark_theme) {
theme->set_color("highend_color", "Editor", Color::hex(0xad1128ff)); theme->set_color("highend_color", EditorStringName(Editor), Color::hex(0xad1128ff));
} else { } else {
theme->set_color("highend_color", "Editor", Color(1.0, 0.0, 0.0)); theme->set_color("highend_color", EditorStringName(Editor), Color(1.0, 0.0, 0.0));
} }
const int thumb_size = EDITOR_GET("filesystem/file_dialog/thumbnail_size"); const int thumb_size = EDITOR_GET("filesystem/file_dialog/thumbnail_size");
theme->set_constant("scale", "Editor", EDSCALE); theme->set_constant("scale", EditorStringName(Editor), EDSCALE);
theme->set_constant("thumb_size", "Editor", thumb_size); theme->set_constant("thumb_size", EditorStringName(Editor), thumb_size);
theme->set_constant("class_icon_size", "Editor", 16 * EDSCALE); theme->set_constant("class_icon_size", EditorStringName(Editor), 16 * EDSCALE);
theme->set_constant("dark_theme", "Editor", dark_theme); theme->set_constant("dark_theme", EditorStringName(Editor), dark_theme);
theme->set_constant("color_picker_button_height", "Editor", 28 * EDSCALE); theme->set_constant("color_picker_button_height", EditorStringName(Editor), 28 * EDSCALE);
theme->set_constant("gizmo_handle_scale", "Editor", gizmo_handle_scale); theme->set_constant("gizmo_handle_scale", EditorStringName(Editor), gizmo_handle_scale);
theme->set_constant("window_border_margin", "Editor", 8); theme->set_constant("window_border_margin", EditorStringName(Editor), 8);
theme->set_constant("top_bar_separation", "Editor", 8 * EDSCALE); theme->set_constant("top_bar_separation", EditorStringName(Editor), 8 * EDSCALE);
// Register editor icons. // Register editor icons.
// If the settings are comparable to the old theme, then just copy them over. // If the settings are comparable to the old theme, then just copy them over.
@ -651,11 +652,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// That doesn't really work as expected, since theme constants are integers, and scales are floats. // That doesn't really work as expected, since theme constants are integers, and scales are floats.
// So this check will never work when changing between 100-199% values. // So this check will never work when changing between 100-199% values.
const float prev_scale = (float)p_theme->get_constant(SNAME("scale"), SNAME("Editor")); const float prev_scale = (float)p_theme->get_constant(SNAME("scale"), EditorStringName(Editor));
const bool prev_dark_theme = (bool)p_theme->get_constant(SNAME("dark_theme"), SNAME("Editor")); const bool prev_dark_theme = (bool)p_theme->get_constant(SNAME("dark_theme"), EditorStringName(Editor));
const Color prev_accent_color = p_theme->get_color(SNAME("accent_color"), SNAME("Editor")); const Color prev_accent_color = p_theme->get_color(SNAME("accent_color"), EditorStringName(Editor));
const float prev_icon_saturation = p_theme->get_color(SNAME("icon_saturation"), SNAME("Editor")).r; const float prev_icon_saturation = p_theme->get_color(SNAME("icon_saturation"), EditorStringName(Editor)).r;
const float prev_gizmo_handle_scale = (float)p_theme->get_constant(SNAME("gizmo_handle_scale"), SNAME("Editor")); const float prev_gizmo_handle_scale = (float)p_theme->get_constant(SNAME("gizmo_handle_scale"), EditorStringName(Editor));
keep_old_icons = (Math::is_equal_approx(prev_scale, EDSCALE) && keep_old_icons = (Math::is_equal_approx(prev_scale, EDSCALE) &&
Math::is_equal_approx(prev_gizmo_handle_scale, gizmo_handle_scale) && Math::is_equal_approx(prev_gizmo_handle_scale, gizmo_handle_scale) &&
@ -663,7 +664,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
prev_accent_color == accent_color && prev_accent_color == accent_color &&
prev_icon_saturation == icon_saturation); prev_icon_saturation == icon_saturation);
const double prev_thumb_size = (double)p_theme->get_constant(SNAME("thumb_size"), SNAME("Editor")); const double prev_thumb_size = (double)p_theme->get_constant(SNAME("thumb_size"), EditorStringName(Editor));
regenerate_thumb_icons = !Math::is_equal_approx(prev_thumb_size, thumb_size); regenerate_thumb_icons = !Math::is_equal_approx(prev_thumb_size, thumb_size);
} }
@ -674,7 +675,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
if (keep_old_icons) { if (keep_old_icons) {
for (int i = 0; i < editor_icons_count; i++) { for (int i = 0; i < editor_icons_count; i++) {
theme->set_icon(editor_icons_names[i], SNAME("EditorIcons"), p_theme->get_icon(editor_icons_names[i], SNAME("EditorIcons"))); theme->set_icon(editor_icons_names[i], EditorStringName(EditorIcons), p_theme->get_icon(editor_icons_names[i], EditorStringName(EditorIcons)));
} }
} else { } else {
editor_register_and_generate_icons(theme, dark_theme, icon_saturation, thumb_size, false); editor_register_and_generate_icons(theme, dark_theme, icon_saturation, thumb_size, false);
@ -815,27 +816,27 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// Editor background // Editor background
Color background_color_opaque = background_color; Color background_color_opaque = background_color;
background_color_opaque.a = 1.0; background_color_opaque.a = 1.0;
theme->set_color("background", "Editor", background_color_opaque); theme->set_color("background", EditorStringName(Editor), background_color_opaque);
theme->set_stylebox("Background", "EditorStyles", make_flat_stylebox(background_color_opaque, default_margin_size, default_margin_size, default_margin_size, default_margin_size)); theme->set_stylebox("Background", EditorStringName(EditorStyles), make_flat_stylebox(background_color_opaque, default_margin_size, default_margin_size, default_margin_size, default_margin_size));
// Focus // Focus
theme->set_stylebox("Focus", "EditorStyles", style_widget_focus); theme->set_stylebox("Focus", EditorStringName(EditorStyles), style_widget_focus);
// Use a less opaque color to be less distracting for the 2D and 3D editor viewports. // Use a less opaque color to be less distracting for the 2D and 3D editor viewports.
Ref<StyleBoxFlat> style_widget_focus_viewport = style_widget_focus->duplicate(); Ref<StyleBoxFlat> style_widget_focus_viewport = style_widget_focus->duplicate();
style_widget_focus_viewport->set_border_color(accent_color * Color(1, 1, 1, 0.5)); style_widget_focus_viewport->set_border_color(accent_color * Color(1, 1, 1, 0.5));
theme->set_stylebox("FocusViewport", "EditorStyles", style_widget_focus_viewport); theme->set_stylebox("FocusViewport", EditorStringName(EditorStyles), style_widget_focus_viewport);
// Menu // Menu
Ref<StyleBoxFlat> style_menu = style_widget->duplicate(); Ref<StyleBoxFlat> style_menu = style_widget->duplicate();
style_menu->set_draw_center(false); style_menu->set_draw_center(false);
style_menu->set_border_width_all(0); style_menu->set_border_width_all(0);
theme->set_stylebox("panel", "PanelContainer", style_menu); theme->set_stylebox("panel", "PanelContainer", style_menu);
theme->set_stylebox("MenuPanel", "EditorStyles", style_menu); theme->set_stylebox("MenuPanel", EditorStringName(EditorStyles), style_menu);
// CanvasItem Editor // CanvasItem Editor
Ref<StyleBoxFlat> style_canvas_editor_info = make_flat_stylebox(Color(0.0, 0.0, 0.0, 0.2)); Ref<StyleBoxFlat> style_canvas_editor_info = make_flat_stylebox(Color(0.0, 0.0, 0.0, 0.2));
style_canvas_editor_info->set_expand_margin_all(4 * EDSCALE); style_canvas_editor_info->set_expand_margin_all(4 * EDSCALE);
theme->set_stylebox("CanvasItemInfoOverlay", "EditorStyles", style_canvas_editor_info); theme->set_stylebox("CanvasItemInfoOverlay", EditorStringName(EditorStyles), style_canvas_editor_info);
// 2D and 3D contextual toolbar. // 2D and 3D contextual toolbar.
// Use a custom stylebox to make contextual menu items stand out from the rest. // Use a custom stylebox to make contextual menu items stand out from the rest.
@ -850,25 +851,25 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
toolbar_stylebox->set_border_color(accent_color); toolbar_stylebox->set_border_color(accent_color);
toolbar_stylebox->set_border_width(SIDE_BOTTOM, Math::round(2 * EDSCALE)); toolbar_stylebox->set_border_width(SIDE_BOTTOM, Math::round(2 * EDSCALE));
toolbar_stylebox->set_content_margin(SIDE_BOTTOM, 0); toolbar_stylebox->set_content_margin(SIDE_BOTTOM, 0);
theme->set_stylebox("ContextualToolbar", "EditorStyles", toolbar_stylebox); theme->set_stylebox("ContextualToolbar", EditorStringName(EditorStyles), toolbar_stylebox);
// Script Editor // Script Editor
theme->set_stylebox("ScriptEditorPanel", "EditorStyles", make_empty_stylebox(default_margin_size, 0, default_margin_size, default_margin_size)); theme->set_stylebox("ScriptEditorPanel", EditorStringName(EditorStyles), make_empty_stylebox(default_margin_size, 0, default_margin_size, default_margin_size));
theme->set_stylebox("ScriptEditorPanelFloating", "EditorStyles", make_empty_stylebox(0, 0, 0, 0)); theme->set_stylebox("ScriptEditorPanelFloating", EditorStringName(EditorStyles), make_empty_stylebox(0, 0, 0, 0));
theme->set_stylebox("ScriptEditor", "EditorStyles", make_empty_stylebox(0, 0, 0, 0)); theme->set_stylebox("ScriptEditor", EditorStringName(EditorStyles), make_empty_stylebox(0, 0, 0, 0));
// Launch Pad and Play buttons // Launch Pad and Play buttons
Ref<StyleBoxFlat> style_launch_pad = make_flat_stylebox(dark_color_1, 2 * EDSCALE, 0, 2 * EDSCALE, 0, corner_width); Ref<StyleBoxFlat> style_launch_pad = make_flat_stylebox(dark_color_1, 2 * EDSCALE, 0, 2 * EDSCALE, 0, corner_width);
style_launch_pad->set_corner_radius_all(corner_radius * EDSCALE); style_launch_pad->set_corner_radius_all(corner_radius * EDSCALE);
theme->set_stylebox("LaunchPadNormal", "EditorStyles", style_launch_pad); theme->set_stylebox("LaunchPadNormal", EditorStringName(EditorStyles), style_launch_pad);
Ref<StyleBoxFlat> style_launch_pad_movie = style_launch_pad->duplicate(); Ref<StyleBoxFlat> style_launch_pad_movie = style_launch_pad->duplicate();
style_launch_pad_movie->set_bg_color(accent_color * Color(1, 1, 1, 0.1)); style_launch_pad_movie->set_bg_color(accent_color * Color(1, 1, 1, 0.1));
style_launch_pad_movie->set_border_color(accent_color); style_launch_pad_movie->set_border_color(accent_color);
style_launch_pad_movie->set_border_width_all(Math::round(2 * EDSCALE)); style_launch_pad_movie->set_border_width_all(Math::round(2 * EDSCALE));
theme->set_stylebox("LaunchPadMovieMode", "EditorStyles", style_launch_pad_movie); theme->set_stylebox("LaunchPadMovieMode", EditorStringName(EditorStyles), style_launch_pad_movie);
theme->set_stylebox("MovieWriterButtonNormal", "EditorStyles", make_empty_stylebox(0, 0, 0, 0)); theme->set_stylebox("MovieWriterButtonNormal", EditorStringName(EditorStyles), make_empty_stylebox(0, 0, 0, 0));
Ref<StyleBoxFlat> style_write_movie_button = style_widget_pressed->duplicate(); Ref<StyleBoxFlat> style_write_movie_button = style_widget_pressed->duplicate();
style_write_movie_button->set_bg_color(accent_color); style_write_movie_button->set_bg_color(accent_color);
style_write_movie_button->set_corner_radius_all(corner_radius * EDSCALE); style_write_movie_button->set_corner_radius_all(corner_radius * EDSCALE);
@ -877,7 +878,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
style_write_movie_button->set_content_margin(SIDE_LEFT, 0); style_write_movie_button->set_content_margin(SIDE_LEFT, 0);
style_write_movie_button->set_content_margin(SIDE_RIGHT, 0); style_write_movie_button->set_content_margin(SIDE_RIGHT, 0);
style_write_movie_button->set_expand_margin(SIDE_RIGHT, 2 * EDSCALE); style_write_movie_button->set_expand_margin(SIDE_RIGHT, 2 * EDSCALE);
theme->set_stylebox("MovieWriterButtonPressed", "EditorStyles", style_write_movie_button); theme->set_stylebox("MovieWriterButtonPressed", EditorStringName(EditorStyles), style_write_movie_button);
// MenuButton // MenuButton
theme->set_stylebox("normal", "MenuButton", style_menu); theme->set_stylebox("normal", "MenuButton", style_menu);
@ -894,7 +895,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("outline_size", "MenuButton", 0); theme->set_constant("outline_size", "MenuButton", 0);
theme->set_stylebox("MenuHover", "EditorStyles", style_widget_hover); theme->set_stylebox("MenuHover", EditorStringName(EditorStyles), style_widget_hover);
// Buttons // Buttons
theme->set_stylebox("normal", "Button", style_widget); theme->set_stylebox("normal", "Button", style_widget);
@ -1061,7 +1062,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("icon_pressed_color", "OptionButton", icon_pressed_color); theme->set_color("icon_pressed_color", "OptionButton", icon_pressed_color);
theme->set_color("icon_disabled_color", "OptionButton", icon_disabled_color); theme->set_color("icon_disabled_color", "OptionButton", icon_disabled_color);
theme->set_icon("arrow", "OptionButton", theme->get_icon(SNAME("GuiOptionArrow"), SNAME("EditorIcons"))); theme->set_icon("arrow", "OptionButton", theme->get_icon(SNAME("GuiOptionArrow"), EditorStringName(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);
theme->set_constant("h_separation", "OptionButton", 4 * EDSCALE); theme->set_constant("h_separation", "OptionButton", 4 * EDSCALE);
@ -1074,15 +1075,15 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("hover", "CheckButton", style_menu); theme->set_stylebox("hover", "CheckButton", style_menu);
theme->set_stylebox("hover_pressed", "CheckButton", style_menu); theme->set_stylebox("hover_pressed", "CheckButton", style_menu);
theme->set_icon("checked", "CheckButton", theme->get_icon(SNAME("GuiToggleOn"), SNAME("EditorIcons"))); theme->set_icon("checked", "CheckButton", theme->get_icon(SNAME("GuiToggleOn"), EditorStringName(EditorIcons)));
theme->set_icon("checked_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabled"), SNAME("EditorIcons"))); theme->set_icon("checked_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked", "CheckButton", theme->get_icon(SNAME("GuiToggleOff"), SNAME("EditorIcons"))); theme->set_icon("unchecked", "CheckButton", theme->get_icon(SNAME("GuiToggleOff"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOffDisabled"), SNAME("EditorIcons"))); theme->set_icon("unchecked_disabled", "CheckButton", theme->get_icon(SNAME("GuiToggleOffDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("checked_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOnMirrored"), SNAME("EditorIcons"))); theme->set_icon("checked_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOnMirrored"), EditorStringName(EditorIcons)));
theme->set_icon("checked_disabled_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabledMirrored"), SNAME("EditorIcons"))); theme->set_icon("checked_disabled_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOnDisabledMirrored"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOffMirrored"), SNAME("EditorIcons"))); theme->set_icon("unchecked_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOffMirrored"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked_disabled_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOffDisabledMirrored"), SNAME("EditorIcons"))); theme->set_icon("unchecked_disabled_mirrored", "CheckButton", theme->get_icon(SNAME("GuiToggleOffDisabledMirrored"), EditorStringName(EditorIcons)));
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);
@ -1111,14 +1112,14 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("disabled", "CheckBox", sb_checkbox); theme->set_stylebox("disabled", "CheckBox", sb_checkbox);
theme->set_stylebox("hover", "CheckBox", sb_checkbox); theme->set_stylebox("hover", "CheckBox", sb_checkbox);
theme->set_stylebox("hover_pressed", "CheckBox", sb_checkbox); theme->set_stylebox("hover_pressed", "CheckBox", sb_checkbox);
theme->set_icon("checked", "CheckBox", theme->get_icon(SNAME("GuiChecked"), SNAME("EditorIcons"))); theme->set_icon("checked", "CheckBox", theme->get_icon(SNAME("GuiChecked"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked", "CheckBox", theme->get_icon(SNAME("GuiUnchecked"), SNAME("EditorIcons"))); theme->set_icon("unchecked", "CheckBox", theme->get_icon(SNAME("GuiUnchecked"), EditorStringName(EditorIcons)));
theme->set_icon("radio_checked", "CheckBox", theme->get_icon(SNAME("GuiRadioChecked"), SNAME("EditorIcons"))); theme->set_icon("radio_checked", "CheckBox", theme->get_icon(SNAME("GuiRadioChecked"), EditorStringName(EditorIcons)));
theme->set_icon("radio_unchecked", "CheckBox", theme->get_icon(SNAME("GuiRadioUnchecked"), SNAME("EditorIcons"))); theme->set_icon("radio_unchecked", "CheckBox", theme->get_icon(SNAME("GuiRadioUnchecked"), EditorStringName(EditorIcons)));
theme->set_icon("checked_disabled", "CheckBox", theme->get_icon(SNAME("GuiCheckedDisabled"), SNAME("EditorIcons"))); theme->set_icon("checked_disabled", "CheckBox", theme->get_icon(SNAME("GuiCheckedDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked_disabled", "CheckBox", theme->get_icon(SNAME("GuiUncheckedDisabled"), SNAME("EditorIcons"))); theme->set_icon("unchecked_disabled", "CheckBox", theme->get_icon(SNAME("GuiUncheckedDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("radio_checked_disabled", "CheckBox", theme->get_icon(SNAME("GuiRadioCheckedDisabled"), SNAME("EditorIcons"))); theme->set_icon("radio_checked_disabled", "CheckBox", theme->get_icon(SNAME("GuiRadioCheckedDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("radio_unchecked_disabled", "CheckBox", theme->get_icon(SNAME("GuiRadioUncheckedDisabled"), SNAME("EditorIcons"))); theme->set_icon("radio_unchecked_disabled", "CheckBox", theme->get_icon(SNAME("GuiRadioUncheckedDisabled"), EditorStringName(EditorIcons)));
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);
@ -1171,19 +1172,19 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_disabled_color", "PopupMenu", font_disabled_color); theme->set_color("font_disabled_color", "PopupMenu", font_disabled_color);
theme->set_color("font_separator_color", "PopupMenu", font_disabled_color); theme->set_color("font_separator_color", "PopupMenu", font_disabled_color);
theme->set_color("font_outline_color", "PopupMenu", font_outline_color); theme->set_color("font_outline_color", "PopupMenu", font_outline_color);
theme->set_icon("checked", "PopupMenu", theme->get_icon(SNAME("GuiChecked"), SNAME("EditorIcons"))); theme->set_icon("checked", "PopupMenu", theme->get_icon(SNAME("GuiChecked"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked", "PopupMenu", theme->get_icon(SNAME("GuiUnchecked"), SNAME("EditorIcons"))); theme->set_icon("unchecked", "PopupMenu", theme->get_icon(SNAME("GuiUnchecked"), EditorStringName(EditorIcons)));
theme->set_icon("radio_checked", "PopupMenu", theme->get_icon(SNAME("GuiRadioChecked"), SNAME("EditorIcons"))); theme->set_icon("radio_checked", "PopupMenu", theme->get_icon(SNAME("GuiRadioChecked"), EditorStringName(EditorIcons)));
theme->set_icon("radio_unchecked", "PopupMenu", theme->get_icon(SNAME("GuiRadioUnchecked"), SNAME("EditorIcons"))); theme->set_icon("radio_unchecked", "PopupMenu", theme->get_icon(SNAME("GuiRadioUnchecked"), EditorStringName(EditorIcons)));
theme->set_icon("checked_disabled", "PopupMenu", theme->get_icon(SNAME("GuiCheckedDisabled"), SNAME("EditorIcons"))); theme->set_icon("checked_disabled", "PopupMenu", theme->get_icon(SNAME("GuiCheckedDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked_disabled", "PopupMenu", theme->get_icon(SNAME("GuiUncheckedDisabled"), SNAME("EditorIcons"))); theme->set_icon("unchecked_disabled", "PopupMenu", theme->get_icon(SNAME("GuiUncheckedDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("radio_checked_disabled", "PopupMenu", theme->get_icon(SNAME("GuiRadioCheckedDisabled"), SNAME("EditorIcons"))); theme->set_icon("radio_checked_disabled", "PopupMenu", theme->get_icon(SNAME("GuiRadioCheckedDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("radio_unchecked_disabled", "PopupMenu", theme->get_icon(SNAME("GuiRadioUncheckedDisabled"), SNAME("EditorIcons"))); theme->set_icon("radio_unchecked_disabled", "PopupMenu", theme->get_icon(SNAME("GuiRadioUncheckedDisabled"), EditorStringName(EditorIcons)));
theme->set_icon("submenu", "PopupMenu", theme->get_icon(SNAME("ArrowRight"), SNAME("EditorIcons"))); theme->set_icon("submenu", "PopupMenu", theme->get_icon(SNAME("ArrowRight"), EditorStringName(EditorIcons)));
theme->set_icon("submenu_mirrored", "PopupMenu", theme->get_icon(SNAME("ArrowLeft"), SNAME("EditorIcons"))); theme->set_icon("submenu_mirrored", "PopupMenu", theme->get_icon(SNAME("ArrowLeft"), EditorStringName(EditorIcons)));
theme->set_icon("visibility_hidden", "PopupMenu", theme->get_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons"))); theme->set_icon("visibility_hidden", "PopupMenu", theme->get_icon(SNAME("GuiVisibilityHidden"), EditorStringName(EditorIcons)));
theme->set_icon("visibility_visible", "PopupMenu", theme->get_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"))); theme->set_icon("visibility_visible", "PopupMenu", theme->get_icon(SNAME("GuiVisibilityVisible"), EditorStringName(EditorIcons)));
theme->set_icon("visibility_xray", "PopupMenu", theme->get_icon(SNAME("GuiVisibilityXray"), SNAME("EditorIcons"))); theme->set_icon("visibility_xray", "PopupMenu", theme->get_icon(SNAME("GuiVisibilityXray"), EditorStringName(EditorIcons)));
// Force the v_separation to be even so that the spacing on top and bottom is even. // Force the v_separation to be even so that the spacing on top and bottom is even.
// If the vsep is odd and cannot be split into 2 even groups (of pixels), then it will be lopsided. // If the vsep is odd and cannot be split into 2 even groups (of pixels), then it will be lopsided.
@ -1212,7 +1213,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
sub_inspector_bg->set_corner_radius(CORNER_TOP_LEFT, 0); sub_inspector_bg->set_corner_radius(CORNER_TOP_LEFT, 0);
sub_inspector_bg->set_corner_radius(CORNER_TOP_RIGHT, 0); sub_inspector_bg->set_corner_radius(CORNER_TOP_RIGHT, 0);
theme->set_stylebox("sub_inspector_bg" + itos(i), "Editor", sub_inspector_bg); theme->set_stylebox("sub_inspector_bg" + itos(i), EditorStringName(Editor), sub_inspector_bg);
// EditorProperty background while it has a sub-inspector open. // EditorProperty background while it has a sub-inspector open.
Ref<StyleBoxFlat> bg_color = make_flat_stylebox(si_base_color * Color(0.7, 0.7, 0.7, 0.8), 0, 0, 0, 0, corner_radius); Ref<StyleBoxFlat> bg_color = make_flat_stylebox(si_base_color * Color(0.7, 0.7, 0.7, 0.8), 0, 0, 0, 0, corner_radius);
@ -1220,10 +1221,10 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
bg_color->set_corner_radius(CORNER_BOTTOM_LEFT, 0); bg_color->set_corner_radius(CORNER_BOTTOM_LEFT, 0);
bg_color->set_corner_radius(CORNER_BOTTOM_RIGHT, 0); bg_color->set_corner_radius(CORNER_BOTTOM_RIGHT, 0);
theme->set_stylebox("sub_inspector_property_bg" + itos(i), "Editor", bg_color); theme->set_stylebox("sub_inspector_property_bg" + itos(i), EditorStringName(Editor), bg_color);
} }
theme->set_color("sub_inspector_property_color", "Editor", dark_theme ? Color(1, 1, 1, 1) : Color(0, 0, 0, 1)); theme->set_color("sub_inspector_property_color", EditorStringName(Editor), dark_theme ? Color(1, 1, 1, 1) : Color(0, 0, 0, 1));
// EditorSpinSlider. // EditorSpinSlider.
theme->set_color("label_color", "EditorSpinSlider", font_color); theme->set_color("label_color", "EditorSpinSlider", font_color);
@ -1269,7 +1270,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("indent_box", "EditorInspectorSection", inspector_indent_style); theme->set_stylebox("indent_box", "EditorInspectorSection", inspector_indent_style);
theme->set_constant("indent_size", "EditorInspectorSection", 6.0 * EDSCALE); theme->set_constant("indent_size", "EditorInspectorSection", 6.0 * EDSCALE);
theme->set_constant("inspector_margin", "Editor", 12 * EDSCALE); theme->set_constant("inspector_margin", EditorStringName(Editor), 12 * EDSCALE);
// Tree & ItemList background // Tree & ItemList background
Ref<StyleBoxFlat> style_tree_bg = style_default->duplicate(); Ref<StyleBoxFlat> style_tree_bg = style_default->duplicate();
@ -1286,14 +1287,14 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("panel", "EditorValidationPanel", style_tree_bg); theme->set_stylebox("panel", "EditorValidationPanel", style_tree_bg);
// Tree // Tree
theme->set_icon("checked", "Tree", theme->get_icon(SNAME("GuiChecked"), SNAME("EditorIcons"))); theme->set_icon("checked", "Tree", theme->get_icon(SNAME("GuiChecked"), EditorStringName(EditorIcons)));
theme->set_icon("indeterminate", "Tree", theme->get_icon(SNAME("GuiIndeterminate"), SNAME("EditorIcons"))); theme->set_icon("indeterminate", "Tree", theme->get_icon(SNAME("GuiIndeterminate"), EditorStringName(EditorIcons)));
theme->set_icon("unchecked", "Tree", theme->get_icon(SNAME("GuiUnchecked"), SNAME("EditorIcons"))); theme->set_icon("unchecked", "Tree", theme->get_icon(SNAME("GuiUnchecked"), EditorStringName(EditorIcons)));
theme->set_icon("arrow", "Tree", theme->get_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons"))); theme->set_icon("arrow", "Tree", theme->get_icon(SNAME("GuiTreeArrowDown"), EditorStringName(EditorIcons)));
theme->set_icon("arrow_collapsed", "Tree", theme->get_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons"))); theme->set_icon("arrow_collapsed", "Tree", theme->get_icon(SNAME("GuiTreeArrowRight"), EditorStringName(EditorIcons)));
theme->set_icon("arrow_collapsed_mirrored", "Tree", theme->get_icon(SNAME("GuiTreeArrowLeft"), SNAME("EditorIcons"))); theme->set_icon("arrow_collapsed_mirrored", "Tree", theme->get_icon(SNAME("GuiTreeArrowLeft"), EditorStringName(EditorIcons)));
theme->set_icon("updown", "Tree", theme->get_icon(SNAME("GuiTreeUpdown"), SNAME("EditorIcons"))); theme->set_icon("updown", "Tree", theme->get_icon(SNAME("GuiTreeUpdown"), EditorStringName(EditorIcons)));
theme->set_icon("select_arrow", "Tree", theme->get_icon(SNAME("GuiDropdown"), SNAME("EditorIcons"))); theme->set_icon("select_arrow", "Tree", theme->get_icon(SNAME("GuiDropdown"), EditorStringName(EditorIcons)));
theme->set_stylebox("focus", "Tree", style_widget_focus); theme->set_stylebox("focus", "Tree", style_widget_focus);
theme->set_stylebox("custom_button", "Tree", make_empty_stylebox()); theme->set_stylebox("custom_button", "Tree", make_empty_stylebox());
theme->set_stylebox("custom_button_pressed", "Tree", make_empty_stylebox()); theme->set_stylebox("custom_button_pressed", "Tree", make_empty_stylebox());
@ -1376,9 +1377,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
Color prop_category_color = dark_color_1.lerp(mono_color, 0.12); Color prop_category_color = dark_color_1.lerp(mono_color, 0.12);
Color prop_section_color = dark_color_1.lerp(mono_color, 0.09); Color prop_section_color = dark_color_1.lerp(mono_color, 0.09);
Color prop_subsection_color = dark_color_1.lerp(mono_color, 0.06); Color prop_subsection_color = dark_color_1.lerp(mono_color, 0.06);
theme->set_color("prop_category", "Editor", prop_category_color); theme->set_color("prop_category", EditorStringName(Editor), prop_category_color);
theme->set_color("prop_section", "Editor", prop_section_color); theme->set_color("prop_section", EditorStringName(Editor), prop_section_color);
theme->set_color("prop_subsection", "Editor", prop_subsection_color); theme->set_color("prop_subsection", EditorStringName(Editor), prop_subsection_color);
theme->set_color("drop_position_color", "Tree", accent_color); theme->set_color("drop_position_color", "Tree", accent_color);
// EditorInspectorCategory // EditorInspectorCategory
@ -1452,19 +1453,19 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("font_outline_color", "TabBar", font_outline_color); theme->set_color("font_outline_color", "TabBar", font_outline_color);
theme->set_color("drop_mark_color", "TabContainer", tab_highlight); theme->set_color("drop_mark_color", "TabContainer", tab_highlight);
theme->set_color("drop_mark_color", "TabBar", tab_highlight); theme->set_color("drop_mark_color", "TabBar", tab_highlight);
theme->set_icon("menu", "TabContainer", theme->get_icon(SNAME("GuiTabMenu"), SNAME("EditorIcons"))); theme->set_icon("menu", "TabContainer", theme->get_icon(SNAME("GuiTabMenu"), EditorStringName(EditorIcons)));
theme->set_icon("menu_highlight", "TabContainer", theme->get_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); theme->set_icon("menu_highlight", "TabContainer", theme->get_icon(SNAME("GuiTabMenuHl"), EditorStringName(EditorIcons)));
theme->set_icon("close", "TabBar", theme->get_icon(SNAME("GuiClose"), SNAME("EditorIcons"))); theme->set_icon("close", "TabBar", theme->get_icon(SNAME("GuiClose"), EditorStringName(EditorIcons)));
theme->set_icon("increment", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowRight"), SNAME("EditorIcons"))); theme->set_icon("increment", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowRight"), EditorStringName(EditorIcons)));
theme->set_icon("decrement", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowLeft"), SNAME("EditorIcons"))); theme->set_icon("decrement", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowLeft"), EditorStringName(EditorIcons)));
theme->set_icon("increment", "TabBar", theme->get_icon(SNAME("GuiScrollArrowRight"), SNAME("EditorIcons"))); theme->set_icon("increment", "TabBar", theme->get_icon(SNAME("GuiScrollArrowRight"), EditorStringName(EditorIcons)));
theme->set_icon("decrement", "TabBar", theme->get_icon(SNAME("GuiScrollArrowLeft"), SNAME("EditorIcons"))); theme->set_icon("decrement", "TabBar", theme->get_icon(SNAME("GuiScrollArrowLeft"), EditorStringName(EditorIcons)));
theme->set_icon("increment_highlight", "TabBar", theme->get_icon(SNAME("GuiScrollArrowRightHl"), SNAME("EditorIcons"))); theme->set_icon("increment_highlight", "TabBar", theme->get_icon(SNAME("GuiScrollArrowRightHl"), EditorStringName(EditorIcons)));
theme->set_icon("decrement_highlight", "TabBar", theme->get_icon(SNAME("GuiScrollArrowLeftHl"), SNAME("EditorIcons"))); theme->set_icon("decrement_highlight", "TabBar", theme->get_icon(SNAME("GuiScrollArrowLeftHl"), EditorStringName(EditorIcons)));
theme->set_icon("increment_highlight", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowRightHl"), SNAME("EditorIcons"))); theme->set_icon("increment_highlight", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowRightHl"), EditorStringName(EditorIcons)));
theme->set_icon("decrement_highlight", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowLeftHl"), SNAME("EditorIcons"))); theme->set_icon("decrement_highlight", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowLeftHl"), EditorStringName(EditorIcons)));
theme->set_icon("drop_mark", "TabContainer", theme->get_icon(SNAME("GuiTabDropMark"), SNAME("EditorIcons"))); theme->set_icon("drop_mark", "TabContainer", theme->get_icon(SNAME("GuiTabDropMark"), EditorStringName(EditorIcons)));
theme->set_icon("drop_mark", "TabBar", theme->get_icon(SNAME("GuiTabDropMark"), SNAME("EditorIcons"))); theme->set_icon("drop_mark", "TabBar", theme->get_icon(SNAME("GuiTabDropMark"), EditorStringName(EditorIcons)));
theme->set_constant("side_margin", "TabContainer", 0); theme->set_constant("side_margin", "TabContainer", 0);
theme->set_constant("outline_size", "TabContainer", 0); theme->set_constant("outline_size", "TabContainer", 0);
theme->set_constant("h_separation", "TabBar", 4 * EDSCALE); theme->set_constant("h_separation", "TabBar", 4 * EDSCALE);
@ -1484,7 +1485,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// Bottom panel. // Bottom panel.
Ref<StyleBoxFlat> style_bottom_panel = style_content_panel->duplicate(); Ref<StyleBoxFlat> style_bottom_panel = style_content_panel->duplicate();
style_bottom_panel->set_corner_radius_all(corner_radius * EDSCALE); style_bottom_panel->set_corner_radius_all(corner_radius * EDSCALE);
theme->set_stylebox("BottomPanel", "EditorStyles", style_bottom_panel); theme->set_stylebox("BottomPanel", EditorStringName(EditorStyles), style_bottom_panel);
// TabContainerOdd can be used on tabs against the base color background (e.g. nested tabs). // TabContainerOdd can be used on tabs against the base color background (e.g. nested tabs).
theme->set_type_variation("TabContainerOdd", "TabContainer"); theme->set_type_variation("TabContainerOdd", "TabContainer");
@ -1500,20 +1501,20 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// This stylebox is used in 3d and 2d viewports (no borders). // This stylebox is used in 3d and 2d viewports (no borders).
Ref<StyleBoxFlat> style_content_panel_vp = style_content_panel->duplicate(); Ref<StyleBoxFlat> style_content_panel_vp = style_content_panel->duplicate();
style_content_panel_vp->set_content_margin_individual(border_width * 2, default_margin_size * EDSCALE, border_width * 2, border_width * 2); style_content_panel_vp->set_content_margin_individual(border_width * 2, default_margin_size * EDSCALE, border_width * 2, border_width * 2);
theme->set_stylebox("Content", "EditorStyles", style_content_panel_vp); theme->set_stylebox("Content", EditorStringName(EditorStyles), style_content_panel_vp);
// This stylebox is used by preview tabs in the Theme Editor. // This stylebox is used by preview tabs in the Theme Editor.
Ref<StyleBoxFlat> style_theme_preview_tab = style_tab_selected_odd->duplicate(); Ref<StyleBoxFlat> style_theme_preview_tab = style_tab_selected_odd->duplicate();
style_theme_preview_tab->set_expand_margin(SIDE_BOTTOM, 5 * EDSCALE); style_theme_preview_tab->set_expand_margin(SIDE_BOTTOM, 5 * EDSCALE);
theme->set_stylebox("ThemeEditorPreviewFG", "EditorStyles", style_theme_preview_tab); theme->set_stylebox("ThemeEditorPreviewFG", EditorStringName(EditorStyles), style_theme_preview_tab);
Ref<StyleBoxFlat> style_theme_preview_bg_tab = style_tab_unselected->duplicate(); Ref<StyleBoxFlat> style_theme_preview_bg_tab = style_tab_unselected->duplicate();
style_theme_preview_bg_tab->set_expand_margin(SIDE_BOTTOM, 2 * EDSCALE); style_theme_preview_bg_tab->set_expand_margin(SIDE_BOTTOM, 2 * EDSCALE);
theme->set_stylebox("ThemeEditorPreviewBG", "EditorStyles", style_theme_preview_bg_tab); theme->set_stylebox("ThemeEditorPreviewBG", EditorStringName(EditorStyles), style_theme_preview_bg_tab);
Ref<StyleBoxFlat> style_texture_region_bg = style_tree_bg->duplicate(); Ref<StyleBoxFlat> style_texture_region_bg = style_tree_bg->duplicate();
style_texture_region_bg->set_content_margin_all(0); style_texture_region_bg->set_content_margin_all(0);
theme->set_stylebox("TextureRegionPreviewBG", "EditorStyles", style_texture_region_bg); theme->set_stylebox("TextureRegionPreviewBG", EditorStringName(EditorStyles), style_texture_region_bg);
theme->set_stylebox("TextureRegionPreviewFG", "EditorStyles", make_empty_stylebox(0, 0, 0, 0)); theme->set_stylebox("TextureRegionPreviewFG", EditorStringName(EditorStyles), make_empty_stylebox(0, 0, 0, 0));
// Separators // Separators
theme->set_stylebox("separator", "HSeparator", make_line_stylebox(separator_color, MAX(Math::round(EDSCALE), border_width))); theme->set_stylebox("separator", "HSeparator", make_line_stylebox(separator_color, MAX(Math::round(EDSCALE), border_width)));
@ -1523,13 +1524,13 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
Ref<StyleBoxFlat> style_panel_debugger = style_content_panel->duplicate(); Ref<StyleBoxFlat> style_panel_debugger = style_content_panel->duplicate();
style_panel_debugger->set_border_width(SIDE_BOTTOM, 0); style_panel_debugger->set_border_width(SIDE_BOTTOM, 0);
theme->set_stylebox("DebuggerPanel", "EditorStyles", style_panel_debugger); theme->set_stylebox("DebuggerPanel", EditorStringName(EditorStyles), style_panel_debugger);
Ref<StyleBoxFlat> style_panel_invisible_top = style_content_panel->duplicate(); Ref<StyleBoxFlat> style_panel_invisible_top = style_content_panel->duplicate();
int stylebox_offset = theme->get_font(SNAME("tab_selected"), SNAME("TabContainer"))->get_height(theme->get_font_size(SNAME("tab_selected"), SNAME("TabContainer"))) + theme->get_stylebox(SNAME("tab_selected"), SNAME("TabContainer"))->get_minimum_size().height + theme->get_stylebox(SNAME("panel"), SNAME("TabContainer"))->get_content_margin(SIDE_TOP); int stylebox_offset = theme->get_font(SNAME("tab_selected"), SNAME("TabContainer"))->get_height(theme->get_font_size(SNAME("tab_selected"), SNAME("TabContainer"))) + theme->get_stylebox(SNAME("tab_selected"), SNAME("TabContainer"))->get_minimum_size().height + theme->get_stylebox(SNAME("panel"), SNAME("TabContainer"))->get_content_margin(SIDE_TOP);
style_panel_invisible_top->set_expand_margin(SIDE_TOP, -stylebox_offset); style_panel_invisible_top->set_expand_margin(SIDE_TOP, -stylebox_offset);
style_panel_invisible_top->set_content_margin(SIDE_TOP, 0); style_panel_invisible_top->set_content_margin(SIDE_TOP, 0);
theme->set_stylebox("BottomPanelDebuggerOverride", "EditorStyles", style_panel_invisible_top); theme->set_stylebox("BottomPanelDebuggerOverride", EditorStringName(EditorStyles), style_panel_invisible_top);
// LineEdit // LineEdit
@ -1559,7 +1560,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("normal", "LineEdit", style_line_edit); theme->set_stylebox("normal", "LineEdit", style_line_edit);
theme->set_stylebox("focus", "LineEdit", style_widget_focus); theme->set_stylebox("focus", "LineEdit", style_widget_focus);
theme->set_stylebox("read_only", "LineEdit", style_line_edit_disabled); theme->set_stylebox("read_only", "LineEdit", style_line_edit_disabled);
theme->set_icon("clear", "LineEdit", theme->get_icon(SNAME("GuiClose"), SNAME("EditorIcons"))); theme->set_icon("clear", "LineEdit", theme->get_icon(SNAME("GuiClose"), EditorStringName(EditorIcons)));
theme->set_color("font_color", "LineEdit", font_color); theme->set_color("font_color", "LineEdit", font_color);
theme->set_color("font_selected_color", "LineEdit", mono_color); theme->set_color("font_selected_color", "LineEdit", mono_color);
theme->set_color("font_uneditable_color", "LineEdit", font_readonly_color); theme->set_color("font_uneditable_color", "LineEdit", font_readonly_color);
@ -1578,8 +1579,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("normal", "TextEdit", style_line_edit); theme->set_stylebox("normal", "TextEdit", style_line_edit);
theme->set_stylebox("focus", "TextEdit", style_widget_focus); theme->set_stylebox("focus", "TextEdit", style_widget_focus);
theme->set_stylebox("read_only", "TextEdit", style_line_edit_disabled); theme->set_stylebox("read_only", "TextEdit", style_line_edit_disabled);
theme->set_icon("tab", "TextEdit", theme->get_icon(SNAME("GuiTab"), SNAME("EditorIcons"))); theme->set_icon("tab", "TextEdit", theme->get_icon(SNAME("GuiTab"), EditorStringName(EditorIcons)));
theme->set_icon("space", "TextEdit", theme->get_icon(SNAME("GuiSpace"), SNAME("EditorIcons"))); theme->set_icon("space", "TextEdit", theme->get_icon(SNAME("GuiSpace"), EditorStringName(EditorIcons)));
theme->set_color("font_color", "TextEdit", font_color); theme->set_color("font_color", "TextEdit", font_color);
theme->set_color("font_readonly_color", "TextEdit", font_readonly_color); theme->set_color("font_readonly_color", "TextEdit", font_readonly_color);
theme->set_color("font_placeholder_color", "TextEdit", font_placeholder_color); theme->set_color("font_placeholder_color", "TextEdit", font_placeholder_color);
@ -1592,10 +1593,10 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("outline_size", "TextEdit", 0); theme->set_constant("outline_size", "TextEdit", 0);
theme->set_constant("caret_width", "TextEdit", 1); theme->set_constant("caret_width", "TextEdit", 1);
theme->set_icon("h_grabber", "SplitContainer", theme->get_icon(SNAME("GuiHsplitter"), SNAME("EditorIcons"))); theme->set_icon("h_grabber", "SplitContainer", theme->get_icon(SNAME("GuiHsplitter"), EditorStringName(EditorIcons)));
theme->set_icon("v_grabber", "SplitContainer", theme->get_icon(SNAME("GuiVsplitter"), SNAME("EditorIcons"))); theme->set_icon("v_grabber", "SplitContainer", theme->get_icon(SNAME("GuiVsplitter"), EditorStringName(EditorIcons)));
theme->set_icon("grabber", "VSplitContainer", theme->get_icon(SNAME("GuiVsplitter"), SNAME("EditorIcons"))); theme->set_icon("grabber", "VSplitContainer", theme->get_icon(SNAME("GuiVsplitter"), EditorStringName(EditorIcons)));
theme->set_icon("grabber", "HSplitContainer", theme->get_icon(SNAME("GuiHsplitter"), SNAME("EditorIcons"))); theme->set_icon("grabber", "HSplitContainer", theme->get_icon(SNAME("GuiHsplitter"), EditorStringName(EditorIcons)));
theme->set_constant("separation", "SplitContainer", default_margin_size * 2 * EDSCALE); theme->set_constant("separation", "SplitContainer", default_margin_size * 2 * EDSCALE);
theme->set_constant("separation", "HSplitContainer", default_margin_size * 2 * EDSCALE); theme->set_constant("separation", "HSplitContainer", default_margin_size * 2 * EDSCALE);
@ -1646,14 +1647,14 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_stylebox("embedded_unfocused_border", "Window", style_window); theme->set_stylebox("embedded_unfocused_border", "Window", style_window);
theme->set_color("title_color", "Window", font_color); theme->set_color("title_color", "Window", font_color);
theme->set_icon("close", "Window", theme->get_icon(SNAME("GuiClose"), SNAME("EditorIcons"))); theme->set_icon("close", "Window", theme->get_icon(SNAME("GuiClose"), EditorStringName(EditorIcons)));
theme->set_icon("close_pressed", "Window", theme->get_icon(SNAME("GuiClose"), SNAME("EditorIcons"))); theme->set_icon("close_pressed", "Window", theme->get_icon(SNAME("GuiClose"), EditorStringName(EditorIcons)));
theme->set_constant("close_h_offset", "Window", 22 * EDSCALE); theme->set_constant("close_h_offset", "Window", 22 * EDSCALE);
theme->set_constant("close_v_offset", "Window", 20 * EDSCALE); theme->set_constant("close_v_offset", "Window", 20 * EDSCALE);
theme->set_constant("title_height", "Window", 24 * EDSCALE); theme->set_constant("title_height", "Window", 24 * EDSCALE);
theme->set_constant("resize_margin", "Window", 4 * EDSCALE); theme->set_constant("resize_margin", "Window", 4 * EDSCALE);
theme->set_font("title_font", "Window", theme->get_font(SNAME("title"), SNAME("EditorFonts"))); theme->set_font("title_font", "Window", theme->get_font(SNAME("title"), EditorStringName(EditorFonts)));
theme->set_font_size("title_font_size", "Window", theme->get_font_size(SNAME("title_size"), SNAME("EditorFonts"))); theme->set_font_size("title_font_size", "Window", theme->get_font_size(SNAME("title_size"), EditorStringName(EditorFonts)));
// Complex window (currently only Editor Settings and Project Settings) // Complex window (currently only Editor Settings and Project Settings)
Ref<StyleBoxFlat> style_complex_window = style_window->duplicate(); Ref<StyleBoxFlat> style_complex_window = style_window->duplicate();
@ -1673,12 +1674,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
if (increase_scrollbar_touch_area) { if (increase_scrollbar_touch_area) {
theme->set_stylebox("scroll", "HScrollBar", make_line_stylebox(separator_color, 50)); theme->set_stylebox("scroll", "HScrollBar", make_line_stylebox(separator_color, 50));
} else { } else {
theme->set_stylebox("scroll", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollBg"), SNAME("EditorIcons")), 5, 5, 5, 5, 1, 1, 1, 1)); theme->set_stylebox("scroll", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollBg"), EditorStringName(EditorIcons)), 5, 5, 5, 5, 1, 1, 1, 1));
} }
theme->set_stylebox("scroll_focus", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollBg"), SNAME("EditorIcons")), 5, 5, 5, 5, 1, 1, 1, 1)); theme->set_stylebox("scroll_focus", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollBg"), EditorStringName(EditorIcons)), 5, 5, 5, 5, 1, 1, 1, 1));
theme->set_stylebox("grabber", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabber"), SNAME("EditorIcons")), 6, 6, 6, 6, 1, 1, 1, 1)); theme->set_stylebox("grabber", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabber"), EditorStringName(EditorIcons)), 6, 6, 6, 6, 1, 1, 1, 1));
theme->set_stylebox("grabber_highlight", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabberHl"), SNAME("EditorIcons")), 5, 5, 5, 5, 1, 1, 1, 1)); theme->set_stylebox("grabber_highlight", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabberHl"), EditorStringName(EditorIcons)), 5, 5, 5, 5, 1, 1, 1, 1));
theme->set_stylebox("grabber_pressed", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabberPressed"), SNAME("EditorIcons")), 6, 6, 6, 6, 1, 1, 1, 1)); theme->set_stylebox("grabber_pressed", "HScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabberPressed"), EditorStringName(EditorIcons)), 6, 6, 6, 6, 1, 1, 1, 1));
theme->set_icon("increment", "HScrollBar", empty_icon); theme->set_icon("increment", "HScrollBar", empty_icon);
theme->set_icon("increment_highlight", "HScrollBar", empty_icon); theme->set_icon("increment_highlight", "HScrollBar", empty_icon);
@ -1691,12 +1692,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
if (increase_scrollbar_touch_area) { if (increase_scrollbar_touch_area) {
theme->set_stylebox("scroll", "VScrollBar", make_line_stylebox(separator_color, 50, 1, 1, true)); theme->set_stylebox("scroll", "VScrollBar", make_line_stylebox(separator_color, 50, 1, 1, true));
} else { } else {
theme->set_stylebox("scroll", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollBg"), SNAME("EditorIcons")), 5, 5, 5, 5, 1, 1, 1, 1)); theme->set_stylebox("scroll", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollBg"), EditorStringName(EditorIcons)), 5, 5, 5, 5, 1, 1, 1, 1));
} }
theme->set_stylebox("scroll_focus", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollBg"), SNAME("EditorIcons")), 5, 5, 5, 5, 1, 1, 1, 1)); theme->set_stylebox("scroll_focus", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollBg"), EditorStringName(EditorIcons)), 5, 5, 5, 5, 1, 1, 1, 1));
theme->set_stylebox("grabber", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabber"), SNAME("EditorIcons")), 6, 6, 6, 6, 1, 1, 1, 1)); theme->set_stylebox("grabber", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabber"), EditorStringName(EditorIcons)), 6, 6, 6, 6, 1, 1, 1, 1));
theme->set_stylebox("grabber_highlight", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabberHl"), SNAME("EditorIcons")), 5, 5, 5, 5, 1, 1, 1, 1)); theme->set_stylebox("grabber_highlight", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabberHl"), EditorStringName(EditorIcons)), 5, 5, 5, 5, 1, 1, 1, 1));
theme->set_stylebox("grabber_pressed", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabberPressed"), SNAME("EditorIcons")), 6, 6, 6, 6, 1, 1, 1, 1)); theme->set_stylebox("grabber_pressed", "VScrollBar", make_stylebox(theme->get_icon(SNAME("GuiScrollGrabberPressed"), EditorStringName(EditorIcons)), 6, 6, 6, 6, 1, 1, 1, 1));
theme->set_icon("increment", "VScrollBar", empty_icon); theme->set_icon("increment", "VScrollBar", empty_icon);
theme->set_icon("increment_highlight", "VScrollBar", empty_icon); theme->set_icon("increment_highlight", "VScrollBar", empty_icon);
@ -1706,8 +1707,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_icon("decrement_pressed", "VScrollBar", empty_icon); theme->set_icon("decrement_pressed", "VScrollBar", empty_icon);
// HSlider // HSlider
theme->set_icon("grabber_highlight", "HSlider", theme->get_icon(SNAME("GuiSliderGrabberHl"), SNAME("EditorIcons"))); theme->set_icon("grabber_highlight", "HSlider", theme->get_icon(SNAME("GuiSliderGrabberHl"), EditorStringName(EditorIcons)));
theme->set_icon("grabber", "HSlider", theme->get_icon(SNAME("GuiSliderGrabber"), SNAME("EditorIcons"))); theme->set_icon("grabber", "HSlider", theme->get_icon(SNAME("GuiSliderGrabber"), EditorStringName(EditorIcons)));
theme->set_stylebox("slider", "HSlider", make_flat_stylebox(dark_color_3, 0, default_margin_size / 2, 0, default_margin_size / 2, corner_width)); theme->set_stylebox("slider", "HSlider", make_flat_stylebox(dark_color_3, 0, default_margin_size / 2, 0, default_margin_size / 2, corner_width));
theme->set_stylebox("grabber_area", "HSlider", make_flat_stylebox(contrast_color_1, 0, default_margin_size / 2, 0, default_margin_size / 2, corner_width)); theme->set_stylebox("grabber_area", "HSlider", make_flat_stylebox(contrast_color_1, 0, default_margin_size / 2, 0, default_margin_size / 2, corner_width));
theme->set_stylebox("grabber_area_highlight", "HSlider", make_flat_stylebox(contrast_color_1, 0, default_margin_size / 2, 0, default_margin_size / 2)); theme->set_stylebox("grabber_area_highlight", "HSlider", make_flat_stylebox(contrast_color_1, 0, default_margin_size / 2, 0, default_margin_size / 2));
@ -1715,8 +1716,8 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("grabber_offset", "HSlider", 0); theme->set_constant("grabber_offset", "HSlider", 0);
// VSlider // VSlider
theme->set_icon("grabber", "VSlider", theme->get_icon(SNAME("GuiSliderGrabber"), SNAME("EditorIcons"))); theme->set_icon("grabber", "VSlider", theme->get_icon(SNAME("GuiSliderGrabber"), EditorStringName(EditorIcons)));
theme->set_icon("grabber_highlight", "VSlider", theme->get_icon(SNAME("GuiSliderGrabberHl"), SNAME("EditorIcons"))); theme->set_icon("grabber_highlight", "VSlider", theme->get_icon(SNAME("GuiSliderGrabberHl"), EditorStringName(EditorIcons)));
theme->set_stylebox("slider", "VSlider", make_flat_stylebox(dark_color_3, default_margin_size / 2, 0, default_margin_size / 2, 0, corner_width)); theme->set_stylebox("slider", "VSlider", make_flat_stylebox(dark_color_3, default_margin_size / 2, 0, default_margin_size / 2, 0, corner_width));
theme->set_stylebox("grabber_area", "VSlider", make_flat_stylebox(contrast_color_1, default_margin_size / 2, 0, default_margin_size / 2, 0, corner_width)); theme->set_stylebox("grabber_area", "VSlider", make_flat_stylebox(contrast_color_1, default_margin_size / 2, 0, default_margin_size / 2, 0, corner_width));
theme->set_stylebox("grabber_area_highlight", "VSlider", make_flat_stylebox(contrast_color_1, default_margin_size / 2, 0, default_margin_size / 2, 0)); theme->set_stylebox("grabber_area_highlight", "VSlider", make_flat_stylebox(contrast_color_1, default_margin_size / 2, 0, default_margin_size / 2, 0));
@ -1764,7 +1765,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// Panel // Panel
theme->set_stylebox("panel", "Panel", make_flat_stylebox(dark_color_1, 6, 4, 6, 4, corner_width)); theme->set_stylebox("panel", "Panel", make_flat_stylebox(dark_color_1, 6, 4, 6, 4, corner_width));
theme->set_stylebox("PanelForeground", "EditorStyles", style_default); theme->set_stylebox("PanelForeground", EditorStringName(EditorStyles), style_default);
// Label // Label
theme->set_stylebox("normal", "Label", style_empty); theme->set_stylebox("normal", "Label", style_empty);
@ -1816,12 +1817,12 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_type_variation("ControlEditorPopupPanel", "PopupPanel"); theme->set_type_variation("ControlEditorPopupPanel", "PopupPanel");
// SpinBox // SpinBox
theme->set_icon("updown", "SpinBox", theme->get_icon(SNAME("GuiSpinboxUpdown"), SNAME("EditorIcons"))); theme->set_icon("updown", "SpinBox", theme->get_icon(SNAME("GuiSpinboxUpdown"), EditorStringName(EditorIcons)));
theme->set_icon("updown_disabled", "SpinBox", theme->get_icon(SNAME("GuiSpinboxUpdownDisabled"), SNAME("EditorIcons"))); theme->set_icon("updown_disabled", "SpinBox", theme->get_icon(SNAME("GuiSpinboxUpdownDisabled"), EditorStringName(EditorIcons)));
// ProgressBar // ProgressBar
theme->set_stylebox("background", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressBar"), SNAME("EditorIcons")), 4, 4, 4, 4, 0, 0, 0, 0)); theme->set_stylebox("background", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressBar"), EditorStringName(EditorIcons)), 4, 4, 4, 4, 0, 0, 0, 0));
theme->set_stylebox("fill", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressFill"), SNAME("EditorIcons")), 6, 6, 6, 6, 2, 1, 2, 1)); theme->set_stylebox("fill", "ProgressBar", make_stylebox(theme->get_icon(SNAME("GuiProgressFill"), EditorStringName(EditorIcons)), 6, 6, 6, 6, 2, 1, 2, 1));
theme->set_color("font_color", "ProgressBar", font_color); theme->set_color("font_color", "ProgressBar", font_color);
theme->set_color("font_outline_color", "ProgressBar", font_outline_color); theme->set_color("font_outline_color", "ProgressBar", font_outline_color);
theme->set_constant("outline_size", "ProgressBar", 0); theme->set_constant("outline_size", "ProgressBar", 0);
@ -1835,17 +1836,17 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_color("grid_major", "GraphEdit", Color(0.0, 0.0, 0.0, 0.15)); theme->set_color("grid_major", "GraphEdit", Color(0.0, 0.0, 0.0, 0.15));
theme->set_color("grid_minor", "GraphEdit", Color(0.0, 0.0, 0.0, 0.07)); theme->set_color("grid_minor", "GraphEdit", Color(0.0, 0.0, 0.0, 0.07));
} }
theme->set_color("selection_fill", "GraphEdit", theme->get_color(SNAME("box_selection_fill_color"), SNAME("Editor"))); theme->set_color("selection_fill", "GraphEdit", theme->get_color(SNAME("box_selection_fill_color"), EditorStringName(Editor)));
theme->set_color("selection_stroke", "GraphEdit", theme->get_color(SNAME("box_selection_stroke_color"), SNAME("Editor"))); theme->set_color("selection_stroke", "GraphEdit", theme->get_color(SNAME("box_selection_stroke_color"), EditorStringName(Editor)));
theme->set_color("activity", "GraphEdit", accent_color); theme->set_color("activity", "GraphEdit", accent_color);
theme->set_icon("zoom_out", "GraphEdit", theme->get_icon(SNAME("ZoomLess"), SNAME("EditorIcons"))); theme->set_icon("zoom_out", "GraphEdit", theme->get_icon(SNAME("ZoomLess"), EditorStringName(EditorIcons)));
theme->set_icon("zoom_in", "GraphEdit", theme->get_icon(SNAME("ZoomMore"), SNAME("EditorIcons"))); theme->set_icon("zoom_in", "GraphEdit", theme->get_icon(SNAME("ZoomMore"), EditorStringName(EditorIcons)));
theme->set_icon("zoom_reset", "GraphEdit", theme->get_icon(SNAME("ZoomReset"), SNAME("EditorIcons"))); theme->set_icon("zoom_reset", "GraphEdit", theme->get_icon(SNAME("ZoomReset"), EditorStringName(EditorIcons)));
theme->set_icon("grid_toggle", "GraphEdit", theme->get_icon(SNAME("GridToggle"), SNAME("EditorIcons"))); theme->set_icon("grid_toggle", "GraphEdit", theme->get_icon(SNAME("GridToggle"), EditorStringName(EditorIcons)));
theme->set_icon("minimap_toggle", "GraphEdit", theme->get_icon(SNAME("GridMinimap"), SNAME("EditorIcons"))); theme->set_icon("minimap_toggle", "GraphEdit", theme->get_icon(SNAME("GridMinimap"), EditorStringName(EditorIcons)));
theme->set_icon("snapping_toggle", "GraphEdit", theme->get_icon(SNAME("SnapGrid"), SNAME("EditorIcons"))); theme->set_icon("snapping_toggle", "GraphEdit", theme->get_icon(SNAME("SnapGrid"), EditorStringName(EditorIcons)));
theme->set_icon("layout", "GraphEdit", theme->get_icon(SNAME("GridLayout"), SNAME("EditorIcons"))); theme->set_icon("layout", "GraphEdit", theme->get_icon(SNAME("GridLayout"), EditorStringName(EditorIcons)));
// GraphEditMinimap // GraphEditMinimap
Ref<StyleBoxFlat> style_minimap_bg = make_flat_stylebox(dark_color_1, 0, 0, 0, 0); Ref<StyleBoxFlat> style_minimap_bg = make_flat_stylebox(dark_color_1, 0, 0, 0, 0);
@ -1874,7 +1875,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
} else { } else {
minimap_resizer_color = Color(0, 0, 0, 0.65); minimap_resizer_color = Color(0, 0, 0, 0.65);
} }
theme->set_icon("resizer", "GraphEditMinimap", theme->get_icon(SNAME("GuiResizerTopLeft"), SNAME("EditorIcons"))); theme->set_icon("resizer", "GraphEditMinimap", theme->get_icon(SNAME("GuiResizerTopLeft"), EditorStringName(EditorIcons)));
theme->set_color("resizer_color", "GraphEditMinimap", minimap_resizer_color); theme->set_color("resizer_color", "GraphEditMinimap", minimap_resizer_color);
// GraphNode // GraphNode
@ -1950,25 +1951,25 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("close_offset", "GraphNode", 20 * EDSCALE); theme->set_constant("close_offset", "GraphNode", 20 * EDSCALE);
theme->set_constant("separation", "GraphNode", 1 * EDSCALE); theme->set_constant("separation", "GraphNode", 1 * EDSCALE);
theme->set_icon("close", "GraphNode", theme->get_icon(SNAME("GuiCloseCustomizable"), SNAME("EditorIcons"))); theme->set_icon("close", "GraphNode", theme->get_icon(SNAME("GuiCloseCustomizable"), EditorStringName(EditorIcons)));
theme->set_icon("resizer", "GraphNode", theme->get_icon(SNAME("GuiResizer"), SNAME("EditorIcons"))); theme->set_icon("resizer", "GraphNode", theme->get_icon(SNAME("GuiResizer"), EditorStringName(EditorIcons)));
Ref<ImageTexture> port_icon = theme->get_icon(SNAME("GuiGraphNodePort"), SNAME("EditorIcons")); Ref<ImageTexture> port_icon = theme->get_icon(SNAME("GuiGraphNodePort"), EditorStringName(EditorIcons));
// The true size is 24x24 This is necessary for sharp port icons at high zoom levels in GraphEdit (up to ~200%). // The true size is 24x24 This is necessary for sharp port icons at high zoom levels in GraphEdit (up to ~200%).
port_icon->set_size_override(Size2(12, 12)); port_icon->set_size_override(Size2(12, 12));
theme->set_icon("port", "GraphNode", port_icon); theme->set_icon("port", "GraphNode", port_icon);
theme->set_font("title_font", "GraphNode", theme->get_font(SNAME("main_bold_msdf"), SNAME("EditorFonts"))); theme->set_font("title_font", "GraphNode", theme->get_font(SNAME("main_bold_msdf"), EditorStringName(EditorFonts)));
// GridContainer // GridContainer
theme->set_constant("v_separation", "GridContainer", Math::round(widget_default_margin.y - 2 * EDSCALE)); theme->set_constant("v_separation", "GridContainer", Math::round(widget_default_margin.y - 2 * EDSCALE));
// FileDialog // FileDialog
theme->set_icon("folder", "FileDialog", theme->get_icon(SNAME("Folder"), SNAME("EditorIcons"))); theme->set_icon("folder", "FileDialog", theme->get_icon(SNAME("Folder"), EditorStringName(EditorIcons)));
theme->set_icon("parent_folder", "FileDialog", theme->get_icon(SNAME("ArrowUp"), SNAME("EditorIcons"))); theme->set_icon("parent_folder", "FileDialog", theme->get_icon(SNAME("ArrowUp"), EditorStringName(EditorIcons)));
theme->set_icon("back_folder", "FileDialog", theme->get_icon(SNAME("Back"), SNAME("EditorIcons"))); theme->set_icon("back_folder", "FileDialog", theme->get_icon(SNAME("Back"), EditorStringName(EditorIcons)));
theme->set_icon("forward_folder", "FileDialog", theme->get_icon(SNAME("Forward"), SNAME("EditorIcons"))); theme->set_icon("forward_folder", "FileDialog", theme->get_icon(SNAME("Forward"), EditorStringName(EditorIcons)));
theme->set_icon("reload", "FileDialog", theme->get_icon(SNAME("Reload"), SNAME("EditorIcons"))); theme->set_icon("reload", "FileDialog", theme->get_icon(SNAME("Reload"), EditorStringName(EditorIcons)));
theme->set_icon("toggle_hidden", "FileDialog", theme->get_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"))); theme->set_icon("toggle_hidden", "FileDialog", theme->get_icon(SNAME("GuiVisibilityVisible"), EditorStringName(EditorIcons)));
// Use a different color for folder icons to make them easier to distinguish from files. // Use a different color for folder icons to make them easier to distinguish from files.
// On a light theme, the icon will be dark, so we need to lighten it before blending it with the accent color. // On a light theme, the icon will be dark, so we need to lighten it before blending it with the accent color.
theme->set_color("folder_icon_color", "FileDialog", (dark_theme ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25)).lerp(accent_color, 0.7)); theme->set_color("folder_icon_color", "FileDialog", (dark_theme ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25)).lerp(accent_color, 0.7));
@ -1981,36 +1982,36 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
theme->set_constant("h_width", "ColorPicker", 30 * EDSCALE); theme->set_constant("h_width", "ColorPicker", 30 * EDSCALE);
theme->set_constant("label_width", "ColorPicker", 10 * EDSCALE); theme->set_constant("label_width", "ColorPicker", 10 * EDSCALE);
theme->set_constant("center_slider_grabbers", "ColorPicker", 1); theme->set_constant("center_slider_grabbers", "ColorPicker", 1);
theme->set_icon("screen_picker", "ColorPicker", theme->get_icon(SNAME("ColorPick"), SNAME("EditorIcons"))); theme->set_icon("screen_picker", "ColorPicker", theme->get_icon(SNAME("ColorPick"), EditorStringName(EditorIcons)));
theme->set_icon("shape_circle", "ColorPicker", theme->get_icon(SNAME("PickerShapeCircle"), SNAME("EditorIcons"))); theme->set_icon("shape_circle", "ColorPicker", theme->get_icon(SNAME("PickerShapeCircle"), EditorStringName(EditorIcons)));
theme->set_icon("shape_rect", "ColorPicker", theme->get_icon(SNAME("PickerShapeRectangle"), SNAME("EditorIcons"))); theme->set_icon("shape_rect", "ColorPicker", theme->get_icon(SNAME("PickerShapeRectangle"), EditorStringName(EditorIcons)));
theme->set_icon("shape_rect_wheel", "ColorPicker", theme->get_icon(SNAME("PickerShapeRectangleWheel"), SNAME("EditorIcons"))); theme->set_icon("shape_rect_wheel", "ColorPicker", theme->get_icon(SNAME("PickerShapeRectangleWheel"), EditorStringName(EditorIcons)));
theme->set_icon("add_preset", "ColorPicker", theme->get_icon(SNAME("Add"), SNAME("EditorIcons"))); theme->set_icon("add_preset", "ColorPicker", theme->get_icon(SNAME("Add"), EditorStringName(EditorIcons)));
theme->set_icon("sample_bg", "ColorPicker", theme->get_icon(SNAME("GuiMiniCheckerboard"), SNAME("EditorIcons"))); theme->set_icon("sample_bg", "ColorPicker", theme->get_icon(SNAME("GuiMiniCheckerboard"), EditorStringName(EditorIcons)));
theme->set_icon("overbright_indicator", "ColorPicker", theme->get_icon(SNAME("OverbrightIndicator"), SNAME("EditorIcons"))); theme->set_icon("overbright_indicator", "ColorPicker", theme->get_icon(SNAME("OverbrightIndicator"), EditorStringName(EditorIcons)));
theme->set_icon("bar_arrow", "ColorPicker", theme->get_icon(SNAME("ColorPickerBarArrow"), SNAME("EditorIcons"))); theme->set_icon("bar_arrow", "ColorPicker", theme->get_icon(SNAME("ColorPickerBarArrow"), EditorStringName(EditorIcons)));
theme->set_icon("picker_cursor", "ColorPicker", theme->get_icon(SNAME("PickerCursor"), SNAME("EditorIcons"))); theme->set_icon("picker_cursor", "ColorPicker", theme->get_icon(SNAME("PickerCursor"), EditorStringName(EditorIcons)));
// ColorPickerButton // ColorPickerButton
theme->set_icon("bg", "ColorPickerButton", theme->get_icon(SNAME("GuiMiniCheckerboard"), SNAME("EditorIcons"))); theme->set_icon("bg", "ColorPickerButton", theme->get_icon(SNAME("GuiMiniCheckerboard"), EditorStringName(EditorIcons)));
// ColorPresetButton // ColorPresetButton
Ref<StyleBoxFlat> preset_sb = make_flat_stylebox(Color(1, 1, 1), 2, 2, 2, 2, 2); Ref<StyleBoxFlat> preset_sb = make_flat_stylebox(Color(1, 1, 1), 2, 2, 2, 2, 2);
theme->set_stylebox("preset_fg", "ColorPresetButton", preset_sb); theme->set_stylebox("preset_fg", "ColorPresetButton", preset_sb);
theme->set_icon("preset_bg", "ColorPresetButton", theme->get_icon(SNAME("GuiMiniCheckerboard"), SNAME("EditorIcons"))); theme->set_icon("preset_bg", "ColorPresetButton", theme->get_icon(SNAME("GuiMiniCheckerboard"), EditorStringName(EditorIcons)));
theme->set_icon("overbright_indicator", "ColorPresetButton", theme->get_icon(SNAME("OverbrightIndicator"), SNAME("EditorIcons"))); theme->set_icon("overbright_indicator", "ColorPresetButton", theme->get_icon(SNAME("OverbrightIndicator"), EditorStringName(EditorIcons)));
// Information on 3D viewport // Information on 3D viewport
Ref<StyleBoxFlat> style_info_3d_viewport = style_default->duplicate(); Ref<StyleBoxFlat> style_info_3d_viewport = style_default->duplicate();
style_info_3d_viewport->set_bg_color(style_info_3d_viewport->get_bg_color() * Color(1, 1, 1, 0.5)); style_info_3d_viewport->set_bg_color(style_info_3d_viewport->get_bg_color() * Color(1, 1, 1, 0.5));
style_info_3d_viewport->set_border_width_all(0); style_info_3d_viewport->set_border_width_all(0);
theme->set_stylebox("Information3dViewport", "EditorStyles", style_info_3d_viewport); theme->set_stylebox("Information3dViewport", EditorStringName(EditorStyles), style_info_3d_viewport);
// Asset Library. // Asset Library.
theme->set_stylebox("bg", "AssetLib", style_empty); theme->set_stylebox("bg", "AssetLib", style_empty);
theme->set_stylebox("panel", "AssetLib", style_content_panel); theme->set_stylebox("panel", "AssetLib", style_content_panel);
theme->set_color("status_color", "AssetLib", Color(0.5, 0.5, 0.5)); theme->set_color("status_color", "AssetLib", Color(0.5, 0.5, 0.5));
theme->set_icon("dismiss", "AssetLib", theme->get_icon(SNAME("Close"), SNAME("EditorIcons"))); theme->set_icon("dismiss", "AssetLib", theme->get_icon(SNAME("Close"), EditorStringName(EditorIcons)));
// Theme editor. // Theme editor.
theme->set_color("preview_picker_overlay_color", "ThemeEditor", Color(0.1, 0.1, 0.1, 0.25)); theme->set_color("preview_picker_overlay_color", "ThemeEditor", Color(0.1, 0.1, 0.1, 0.25));
@ -2030,7 +2031,7 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
Ref<StyleBoxFlat> style_dictionary_add_item = make_flat_stylebox(prop_subsection_color, 0, 4, 0, 4, corner_radius); Ref<StyleBoxFlat> style_dictionary_add_item = make_flat_stylebox(prop_subsection_color, 0, 4, 0, 4, corner_radius);
style_dictionary_add_item->set_expand_margin(SIDE_LEFT, 4 * EDSCALE); style_dictionary_add_item->set_expand_margin(SIDE_LEFT, 4 * EDSCALE);
style_dictionary_add_item->set_expand_margin(SIDE_RIGHT, 4 * EDSCALE); style_dictionary_add_item->set_expand_margin(SIDE_RIGHT, 4 * EDSCALE);
theme->set_stylebox("DictionaryAddItem", "EditorStyles", style_dictionary_add_item); theme->set_stylebox("DictionaryAddItem", EditorStringName(EditorStyles), style_dictionary_add_item);
Ref<StyleBoxEmpty> vshader_label_style = make_empty_stylebox(2, 1, 2, 1); Ref<StyleBoxEmpty> vshader_label_style = make_empty_stylebox(2, 1, 2, 1);
theme->set_stylebox("label_style", "VShaderEditor", vshader_label_style); theme->set_stylebox("label_style", "VShaderEditor", vshader_label_style);
@ -2131,20 +2132,20 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
} }
// Now theme is loaded, apply it to CodeEdit. // Now theme is loaded, apply it to CodeEdit.
theme->set_font("font", "CodeEdit", theme->get_font(SNAME("source"), SNAME("EditorFonts"))); theme->set_font("font", "CodeEdit", theme->get_font(SNAME("source"), EditorStringName(EditorFonts)));
theme->set_font_size("font_size", "CodeEdit", theme->get_font_size(SNAME("source_size"), SNAME("EditorFonts"))); theme->set_font_size("font_size", "CodeEdit", theme->get_font_size(SNAME("source_size"), EditorStringName(EditorFonts)));
Ref<StyleBoxFlat> code_edit_stylebox = make_flat_stylebox(EDITOR_GET("text_editor/theme/highlighting/background_color"), widget_default_margin.x, widget_default_margin.y, widget_default_margin.x, widget_default_margin.y, corner_radius); Ref<StyleBoxFlat> code_edit_stylebox = make_flat_stylebox(EDITOR_GET("text_editor/theme/highlighting/background_color"), widget_default_margin.x, widget_default_margin.y, widget_default_margin.x, widget_default_margin.y, corner_radius);
theme->set_stylebox("normal", "CodeEdit", code_edit_stylebox); theme->set_stylebox("normal", "CodeEdit", code_edit_stylebox);
theme->set_stylebox("read_only", "CodeEdit", code_edit_stylebox); theme->set_stylebox("read_only", "CodeEdit", code_edit_stylebox);
theme->set_stylebox("focus", "CodeEdit", Ref<StyleBoxEmpty>(memnew(StyleBoxEmpty))); theme->set_stylebox("focus", "CodeEdit", Ref<StyleBoxEmpty>(memnew(StyleBoxEmpty)));
theme->set_icon("tab", "CodeEdit", theme->get_icon(SNAME("GuiTab"), SNAME("EditorIcons"))); theme->set_icon("tab", "CodeEdit", theme->get_icon(SNAME("GuiTab"), EditorStringName(EditorIcons)));
theme->set_icon("space", "CodeEdit", theme->get_icon(SNAME("GuiSpace"), SNAME("EditorIcons"))); theme->set_icon("space", "CodeEdit", theme->get_icon(SNAME("GuiSpace"), EditorStringName(EditorIcons)));
theme->set_icon("folded", "CodeEdit", theme->get_icon(SNAME("CodeFoldedRightArrow"), SNAME("EditorIcons"))); theme->set_icon("folded", "CodeEdit", theme->get_icon(SNAME("CodeFoldedRightArrow"), EditorStringName(EditorIcons)));
theme->set_icon("can_fold", "CodeEdit", theme->get_icon(SNAME("CodeFoldDownArrow"), SNAME("EditorIcons"))); theme->set_icon("can_fold", "CodeEdit", theme->get_icon(SNAME("CodeFoldDownArrow"), EditorStringName(EditorIcons)));
theme->set_icon("executing_line", "CodeEdit", theme->get_icon(SNAME("TextEditorPlay"), SNAME("EditorIcons"))); theme->set_icon("executing_line", "CodeEdit", theme->get_icon(SNAME("TextEditorPlay"), EditorStringName(EditorIcons)));
theme->set_icon("breakpoint", "CodeEdit", theme->get_icon(SNAME("Breakpoint"), SNAME("EditorIcons"))); theme->set_icon("breakpoint", "CodeEdit", theme->get_icon(SNAME("Breakpoint"), EditorStringName(EditorIcons)));
theme->set_constant("line_spacing", "CodeEdit", EDITOR_GET("text_editor/appearance/whitespace/line_spacing")); theme->set_constant("line_spacing", "CodeEdit", EDITOR_GET("text_editor/appearance/whitespace/line_spacing"));

View File

@ -215,7 +215,7 @@ void EventListenerLineEdit::_notification(int p_what) {
connect("text_changed", callable_mp(this, &EventListenerLineEdit::_on_text_changed)); connect("text_changed", callable_mp(this, &EventListenerLineEdit::_on_text_changed));
connect("focus_entered", callable_mp(this, &EventListenerLineEdit::_on_focus)); connect("focus_entered", callable_mp(this, &EventListenerLineEdit::_on_focus));
connect("focus_exited", callable_mp(this, &EventListenerLineEdit::_on_unfocus)); connect("focus_exited", callable_mp(this, &EventListenerLineEdit::_on_unfocus));
set_right_icon(get_theme_icon(SNAME("Keyboard"), SNAME("EditorIcons"))); set_right_icon(get_editor_theme_icon(SNAME("Keyboard")));
set_clear_button_enabled(true); set_clear_button_enabled(true);
} break; } break;
} }

View File

@ -42,6 +42,7 @@
#include "editor/editor_paths.h" #include "editor/editor_paths.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/export/editor_export.h" #include "editor/export/editor_export.h"
#include "editor/plugins/script_editor_plugin.h" #include "editor/plugins/script_editor_plugin.h"
#include "editor_export_plugin.h" #include "editor_export_plugin.h"
@ -72,12 +73,12 @@ bool EditorExportPlatform::fill_log_messages(RichTextLabel *p_log, Error p_err)
p_log->add_text(" - "); p_log->add_text(" - ");
if (p_err == OK) { if (p_err == OK) {
if (get_worst_message_type() >= EditorExportPlatform::EXPORT_MESSAGE_WARNING) { if (get_worst_message_type() >= EditorExportPlatform::EXPORT_MESSAGE_WARNING) {
p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER); p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_editor_theme_icon(SNAME("StatusWarning")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER);
p_log->add_text(" "); p_log->add_text(" ");
p_log->add_text(TTR("Completed with warnings.")); p_log->add_text(TTR("Completed with warnings."));
has_messages = true; has_messages = true;
} else { } else {
p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusSuccess"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER); p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_editor_theme_icon(SNAME("StatusSuccess")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER);
p_log->add_text(" "); p_log->add_text(" ");
p_log->add_text(TTR("Completed successfully.")); p_log->add_text(TTR("Completed successfully."));
if (msg_count > 0) { if (msg_count > 0) {
@ -85,7 +86,7 @@ bool EditorExportPlatform::fill_log_messages(RichTextLabel *p_log, Error p_err)
} }
} }
} else { } else {
p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER); p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_editor_theme_icon(SNAME("StatusError")), 16 * EDSCALE, 16 * EDSCALE, Color(1.0, 1.0, 1.0), INLINE_ALIGNMENT_CENTER);
p_log->add_text(" "); p_log->add_text(" ");
p_log->add_text(TTR("Failed.")); p_log->add_text(TTR("Failed."));
has_messages = true; has_messages = true;
@ -103,15 +104,15 @@ bool EditorExportPlatform::fill_log_messages(RichTextLabel *p_log, Error p_err)
switch (msg.msg_type) { switch (msg.msg_type) {
case EditorExportPlatform::EXPORT_MESSAGE_INFO: { case EditorExportPlatform::EXPORT_MESSAGE_INFO: {
color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.6); color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("font_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.6);
} break; } break;
case EditorExportPlatform::EXPORT_MESSAGE_WARNING: { case EditorExportPlatform::EXPORT_MESSAGE_WARNING: {
icon = EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Warning"), SNAME("EditorIcons")); icon = EditorNode::get_singleton()->get_gui_base()->get_editor_theme_icon(SNAME("Warning"));
color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("warning_color"), SNAME("Editor")); color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("warning_color"), EditorStringName(Editor));
} break; } break;
case EditorExportPlatform::EXPORT_MESSAGE_ERROR: { case EditorExportPlatform::EXPORT_MESSAGE_ERROR: {
icon = EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Error"), SNAME("EditorIcons")); icon = EditorNode::get_singleton()->get_gui_base()->get_editor_theme_icon(SNAME("Error"));
color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor")); color = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), EditorStringName(Editor));
} break; } break;
default: default:
break; break;
@ -293,9 +294,9 @@ Ref<ImageTexture> EditorExportPlatform::get_option_icon(int p_index) const {
Ref<Theme> theme = EditorNode::get_singleton()->get_editor_theme(); Ref<Theme> theme = EditorNode::get_singleton()->get_editor_theme();
ERR_FAIL_COND_V(theme.is_null(), Ref<ImageTexture>()); ERR_FAIL_COND_V(theme.is_null(), Ref<ImageTexture>());
if (EditorNode::get_singleton()->get_main_screen_control()->is_layout_rtl()) { if (EditorNode::get_singleton()->get_main_screen_control()->is_layout_rtl()) {
return theme->get_icon(SNAME("PlayBackwards"), SNAME("EditorIcons")); return theme->get_icon(SNAME("PlayBackwards"), EditorStringName(EditorIcons));
} else { } else {
return theme->get_icon(SNAME("Play"), SNAME("EditorIcons")); return theme->get_icon(SNAME("Play"), EditorStringName(EditorIcons));
} }
} }

View File

@ -38,6 +38,7 @@
#include "editor/editor_paths.h" #include "editor/editor_paths.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/progress_dialog.h" #include "editor/progress_dialog.h"
#include "scene/gui/file_dialog.h" #include "scene/gui/file_dialog.h"
#include "scene/gui/menu_button.h" #include "scene/gui/menu_button.h"
@ -109,8 +110,8 @@ void ExportTemplateManager::_update_template_status() {
TreeItem *ti = installed_table->create_item(installed_root); TreeItem *ti = installed_table->create_item(installed_root);
ti->set_text(0, version_string); ti->set_text(0, version_string);
ti->add_button(0, get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")), OPEN_TEMPLATE_FOLDER, false, TTR("Open the folder containing these templates.")); ti->add_button(0, get_editor_theme_icon(SNAME("Folder")), OPEN_TEMPLATE_FOLDER, false, TTR("Open the folder containing these templates."));
ti->add_button(0, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), UNINSTALL_TEMPLATE, false, TTR("Uninstall these templates.")); ti->add_button(0, get_editor_theme_icon(SNAME("Remove")), UNINSTALL_TEMPLATE, false, TTR("Uninstall these templates."));
} }
} }
@ -360,7 +361,7 @@ void ExportTemplateManager::_set_current_progress_status(const String &p_status,
download_progress_label->set_text(p_status); download_progress_label->set_text(p_status);
if (p_error) { if (p_error) {
download_progress_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); download_progress_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} else { } else {
download_progress_label->add_theme_color_override("font_color", get_theme_color(SNAME("font_color"), SNAME("Label"))); download_progress_label->add_theme_color_override("font_color", get_theme_color(SNAME("font_color"), SNAME("Label")));
} }
@ -755,11 +756,11 @@ void ExportTemplateManager::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
current_value->add_theme_font_override("font", get_theme_font(SNAME("main"), SNAME("EditorFonts"))); current_value->add_theme_font_override("font", get_theme_font(SNAME("main"), EditorStringName(EditorFonts)));
current_missing_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); current_missing_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
current_installed_label->add_theme_color_override("font_color", get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); current_installed_label->add_theme_color_override("font_color", get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
mirror_options_button->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); mirror_options_button->set_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
} break; } break;
case NOTIFICATION_VISIBILITY_CHANGED: { case NOTIFICATION_VISIBILITY_CHANGED: {

View File

@ -37,6 +37,7 @@
#include "editor/editor_properties.h" #include "editor/editor_properties.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/export/editor_export.h" #include "editor/export/editor_export.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "editor/import/resource_importer_texture_settings.h" #include "editor/import/resource_importer_texture_settings.h"
@ -66,7 +67,7 @@ void ProjectExportTextureFormatError::_bind_methods() {
void ProjectExportTextureFormatError::_notification(int p_what) { void ProjectExportTextureFormatError::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
texture_format_error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); texture_format_error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} break; } break;
} }
} }
@ -90,8 +91,8 @@ ProjectExportTextureFormatError::ProjectExportTextureFormatError() {
} }
void ProjectExportDialog::_theme_changed() { void ProjectExportDialog::_theme_changed() {
duplicate_preset->set_icon(presets->get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons"))); duplicate_preset->set_icon(presets->get_editor_theme_icon(SNAME("Duplicate")));
delete_preset->set_icon(presets->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); delete_preset->set_icon(presets->get_editor_theme_icon(SNAME("Remove")));
} }
void ProjectExportDialog::_notification(int p_what) { void ProjectExportDialog::_notification(int p_what) {
@ -103,8 +104,8 @@ void ProjectExportDialog::_notification(int p_what) {
} break; } break;
case NOTIFICATION_READY: { case NOTIFICATION_READY: {
duplicate_preset->set_icon(presets->get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons"))); duplicate_preset->set_icon(presets->get_editor_theme_icon(SNAME("Duplicate")));
delete_preset->set_icon(presets->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); delete_preset->set_icon(presets->get_editor_theme_icon(SNAME("Remove")));
connect("confirmed", callable_mp(this, &ProjectExportDialog::_export_pck_zip)); connect("confirmed", callable_mp(this, &ProjectExportDialog::_export_pck_zip));
_update_export_all(); _update_export_all();
} break; } break;
@ -812,7 +813,7 @@ void ProjectExportDialog::_setup_item_for_file_mode(TreeItem *p_item, EditorExpo
p_item->set_cell_mode(1, TreeItem::CELL_MODE_STRING); p_item->set_cell_mode(1, TreeItem::CELL_MODE_STRING);
p_item->set_editable(1, false); p_item->set_editable(1, false);
p_item->set_selectable(1, false); p_item->set_selectable(1, false);
p_item->set_custom_color(1, get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); p_item->set_custom_color(1, get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
} else { } else {
p_item->set_checked(0, true); p_item->set_checked(0, true);
p_item->set_cell_mode(1, TreeItem::CELL_MODE_CUSTOM); p_item->set_cell_mode(1, TreeItem::CELL_MODE_CUSTOM);
@ -1327,7 +1328,7 @@ ProjectExportDialog::ProjectExportDialog() {
script_key->connect("text_changed", callable_mp(this, &ProjectExportDialog::_script_encryption_key_changed)); script_key->connect("text_changed", callable_mp(this, &ProjectExportDialog::_script_encryption_key_changed));
script_key_error = memnew(Label); script_key_error = memnew(Label);
script_key_error->set_text(String::utf8("") + TTR("Invalid Encryption Key (must be 64 hexadecimal characters long)")); script_key_error->set_text(String::utf8("") + TTR("Invalid Encryption Key (must be 64 hexadecimal characters long)"));
script_key_error->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); script_key_error->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
sec_vb->add_margin_child(TTR("Encryption Key (256-bits as hexadecimal):"), script_key); sec_vb->add_margin_child(TTR("Encryption Key (256-bits as hexadecimal):"), script_key);
sec_vb->add_child(script_key_error); sec_vb->add_child(script_key_error);
sections->add_child(sec_vb); sections->add_child(sec_vb);
@ -1412,12 +1413,12 @@ ProjectExportDialog::ProjectExportDialog() {
export_error = memnew(Label); export_error = memnew(Label);
main_vb->add_child(export_error); main_vb->add_child(export_error);
export_error->hide(); export_error->hide();
export_error->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); export_error->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
export_warning = memnew(Label); export_warning = memnew(Label);
main_vb->add_child(export_warning); main_vb->add_child(export_warning);
export_warning->hide(); export_warning->hide();
export_warning->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("warning_color"), SNAME("Editor"))); export_warning->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
export_templates_error = memnew(HBoxContainer); export_templates_error = memnew(HBoxContainer);
main_vb->add_child(export_templates_error); main_vb->add_child(export_templates_error);
@ -1425,7 +1426,7 @@ ProjectExportDialog::ProjectExportDialog() {
Label *export_error2 = memnew(Label); Label *export_error2 = memnew(Label);
export_templates_error->add_child(export_error2); export_templates_error->add_child(export_error2);
export_error2->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), SNAME("Editor"))); export_error2->add_theme_color_override("font_color", EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
export_error2->set_text(String::utf8("") + TTR("Export templates for this platform are missing:") + " "); export_error2->set_text(String::utf8("") + TTR("Export templates for this platform are missing:") + " ");
result_dialog = memnew(AcceptDialog); result_dialog = memnew(AcceptDialog);

View File

@ -34,6 +34,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/gui/link_button.h" #include "scene/gui/link_button.h"
void FBXImporterManager::_notification(int p_what) { void FBXImporterManager::_notification(int p_what) {
@ -88,11 +89,11 @@ void FBXImporterManager::_validate_path(const String &p_path) {
if (success) { if (success) {
path_status->set_text(TTR("FBX2glTF executable is valid.")); path_status->set_text(TTR("FBX2glTF executable is valid."));
path_status->add_theme_color_override("font_color", path_status->get_theme_color(SNAME("success_color"), SNAME("Editor"))); path_status->add_theme_color_override("font_color", path_status->get_theme_color(SNAME("success_color"), EditorStringName(Editor)));
get_ok_button()->set_disabled(false); get_ok_button()->set_disabled(false);
} else { } else {
path_status->set_text(error); path_status->set_text(error);
path_status->add_theme_color_override("font_color", path_status->get_theme_color(SNAME("error_color"), SNAME("Editor"))); path_status->add_theme_color_override("font_color", path_status->get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
get_ok_button()->set_disabled(true); get_ok_button()->set_disabled(true);
} }
} }

View File

@ -44,6 +44,7 @@
#include "editor/editor_resource_preview.h" #include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_dir_dialog.h" #include "editor/gui/editor_dir_dialog.h"
#include "editor/gui/editor_scene_tabs.h" #include "editor/gui/editor_scene_tabs.h"
#include "editor/import/resource_importer_scene.h" #include "editor/import/resource_importer_scene.h"
@ -170,9 +171,9 @@ FileSystemDock *FileSystemDock::singleton = nullptr;
Ref<Texture2D> FileSystemDock::_get_tree_item_icon(bool p_is_valid, String p_file_type) { Ref<Texture2D> FileSystemDock::_get_tree_item_icon(bool p_is_valid, String p_file_type) {
Ref<Texture2D> file_icon; Ref<Texture2D> file_icon;
if (!p_is_valid) { if (!p_is_valid) {
file_icon = get_theme_icon(SNAME("ImportFail"), SNAME("EditorIcons")); file_icon = get_editor_theme_icon(SNAME("ImportFail"));
} else { } else {
file_icon = (has_theme_icon(p_file_type, SNAME("EditorIcons"))) ? get_theme_icon(p_file_type, SNAME("EditorIcons")) : get_theme_icon(SNAME("File"), SNAME("EditorIcons")); file_icon = (has_theme_icon(p_file_type, EditorStringName(EditorIcons))) ? get_editor_theme_icon(p_file_type) : get_editor_theme_icon(SNAME("File"));
} }
return file_icon; return file_icon;
} }
@ -212,7 +213,7 @@ bool FileSystemDock::_create_tree(TreeItem *p_parent, EditorFileSystemDirectory
subdirectory_item->set_text(0, dname); subdirectory_item->set_text(0, dname);
subdirectory_item->set_structured_text_bidi_override(0, TextServer::STRUCTURED_TEXT_FILE); subdirectory_item->set_structured_text_bidi_override(0, TextServer::STRUCTURED_TEXT_FILE);
subdirectory_item->set_icon(0, get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); subdirectory_item->set_icon(0, get_editor_theme_icon(SNAME("Folder")));
subdirectory_item->set_selectable(0, true); subdirectory_item->set_selectable(0, true);
subdirectory_item->set_metadata(0, lpath); subdirectory_item->set_metadata(0, lpath);
if (!p_select_in_favorites && (current_path == lpath || ((display_mode == DISPLAY_MODE_SPLIT) && current_path.get_base_dir() == lpath))) { if (!p_select_in_favorites && (current_path == lpath || ((display_mode == DISPLAY_MODE_SPLIT) && current_path.get_base_dir() == lpath))) {
@ -294,7 +295,7 @@ bool FileSystemDock::_create_tree(TreeItem *p_parent, EditorFileSystemDirectory
file_item->set_as_cursor(0); file_item->set_as_cursor(0);
} }
if (main_scene == file_metadata) { if (main_scene == file_metadata) {
file_item->set_custom_color(0, get_theme_color(SNAME("accent_color"), SNAME("Editor"))); file_item->set_custom_color(0, get_theme_color(SNAME("accent_color"), EditorStringName(Editor)));
} }
Array udata; Array udata;
udata.push_back(tree_update_id); udata.push_back(tree_update_id);
@ -362,7 +363,7 @@ void FileSystemDock::_update_tree(const Vector<String> &p_uncollapsed_paths, boo
// Handles the favorites. // Handles the favorites.
TreeItem *favorites_item = tree->create_item(root); TreeItem *favorites_item = tree->create_item(root);
favorites_item->set_icon(0, get_theme_icon(SNAME("Favorites"), SNAME("EditorIcons"))); favorites_item->set_icon(0, get_editor_theme_icon(SNAME("Favorites")));
favorites_item->set_text(0, TTR("Favorites:")); favorites_item->set_text(0, TTR("Favorites:"));
favorites_item->set_metadata(0, "Favorites"); favorites_item->set_metadata(0, "Favorites");
favorites_item->set_collapsed(p_uncollapsed_paths.find("Favorites") < 0); favorites_item->set_collapsed(p_uncollapsed_paths.find("Favorites") < 0);
@ -382,7 +383,7 @@ void FileSystemDock::_update_tree(const Vector<String> &p_uncollapsed_paths, boo
EditorSettings::get_singleton()->set_favorites(favorite_paths); EditorSettings::get_singleton()->set_favorites(favorite_paths);
} }
Ref<Texture2D> folder_icon = get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")); Ref<Texture2D> folder_icon = get_editor_theme_icon(SNAME("Folder"));
const Color default_folder_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")); const Color default_folder_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog"));
for (int i = 0; i < favorite_paths.size(); i++) { for (int i = 0; i < favorite_paths.size(); i++) {
@ -409,7 +410,7 @@ void FileSystemDock::_update_tree(const Vector<String> &p_uncollapsed_paths, boo
if (dir) { if (dir) {
icon = _get_tree_item_icon(dir->get_file_import_is_valid(index), dir->get_file_type(index)); icon = _get_tree_item_icon(dir->get_file_import_is_valid(index), dir->get_file_type(index));
} else { } else {
icon = get_theme_icon(SNAME("File"), SNAME("EditorIcons")); icon = get_editor_theme_icon(SNAME("File"));
} }
color = Color(1, 1, 1); color = Color(1, 1, 1);
} }
@ -498,28 +499,28 @@ void FileSystemDock::_notification(int p_what) {
EditorFileSystem::get_singleton()->connect("filesystem_changed", callable_mp(this, &FileSystemDock::_fs_changed)); EditorFileSystem::get_singleton()->connect("filesystem_changed", callable_mp(this, &FileSystemDock::_fs_changed));
EditorResourcePreview::get_singleton()->connect("preview_invalidated", callable_mp(this, &FileSystemDock::_preview_invalidated)); EditorResourcePreview::get_singleton()->connect("preview_invalidated", callable_mp(this, &FileSystemDock::_preview_invalidated));
button_reload->set_icon(get_theme_icon(SNAME("Reload"), SNAME("EditorIcons"))); button_reload->set_icon(get_editor_theme_icon(SNAME("Reload")));
button_toggle_display_mode->set_icon(get_theme_icon(SNAME("Panels2"), SNAME("EditorIcons"))); button_toggle_display_mode->set_icon(get_editor_theme_icon(SNAME("Panels2")));
button_file_list_display_mode->connect("pressed", callable_mp(this, &FileSystemDock::_toggle_file_display)); button_file_list_display_mode->connect("pressed", callable_mp(this, &FileSystemDock::_toggle_file_display));
files->connect("item_activated", callable_mp(this, &FileSystemDock::_file_list_activate_file)); files->connect("item_activated", callable_mp(this, &FileSystemDock::_file_list_activate_file));
button_hist_next->connect("pressed", callable_mp(this, &FileSystemDock::_fw_history)); button_hist_next->connect("pressed", callable_mp(this, &FileSystemDock::_fw_history));
button_hist_prev->connect("pressed", callable_mp(this, &FileSystemDock::_bw_history)); button_hist_prev->connect("pressed", callable_mp(this, &FileSystemDock::_bw_history));
tree_search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); tree_search_box->set_right_icon(get_editor_theme_icon(SNAME("Search")));
tree_search_box->set_clear_button_enabled(true); tree_search_box->set_clear_button_enabled(true);
tree_button_sort->set_icon(get_theme_icon(SNAME("Sort"), SNAME("EditorIcons"))); tree_button_sort->set_icon(get_editor_theme_icon(SNAME("Sort")));
file_list_search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); file_list_search_box->set_right_icon(get_editor_theme_icon(SNAME("Search")));
file_list_search_box->set_clear_button_enabled(true); file_list_search_box->set_clear_button_enabled(true);
file_list_button_sort->set_icon(get_theme_icon(SNAME("Sort"), SNAME("EditorIcons"))); file_list_button_sort->set_icon(get_editor_theme_icon(SNAME("Sort")));
if (is_layout_rtl()) { if (is_layout_rtl()) {
button_hist_next->set_icon(get_theme_icon(SNAME("Back"), SNAME("EditorIcons"))); button_hist_next->set_icon(get_editor_theme_icon(SNAME("Back")));
button_hist_prev->set_icon(get_theme_icon(SNAME("Forward"), SNAME("EditorIcons"))); button_hist_prev->set_icon(get_editor_theme_icon(SNAME("Forward")));
} else { } else {
button_hist_next->set_icon(get_theme_icon(SNAME("Forward"), SNAME("EditorIcons"))); button_hist_next->set_icon(get_editor_theme_icon(SNAME("Forward")));
button_hist_prev->set_icon(get_theme_icon(SNAME("Back"), SNAME("EditorIcons"))); button_hist_prev->set_icon(get_editor_theme_icon(SNAME("Back")));
} }
file_list_popup->connect("id_pressed", callable_mp(this, &FileSystemDock::_file_list_rmb_option)); file_list_popup->connect("id_pressed", callable_mp(this, &FileSystemDock::_file_list_rmb_option));
tree_popup->connect("id_pressed", callable_mp(this, &FileSystemDock::_tree_rmb_option)); tree_popup->connect("id_pressed", callable_mp(this, &FileSystemDock::_tree_rmb_option));
@ -585,28 +586,28 @@ void FileSystemDock::_notification(int p_what) {
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
// Update icons. // Update icons.
button_reload->set_icon(get_theme_icon(SNAME("Reload"), SNAME("EditorIcons"))); button_reload->set_icon(get_editor_theme_icon(SNAME("Reload")));
button_toggle_display_mode->set_icon(get_theme_icon(SNAME("Panels2"), SNAME("EditorIcons"))); button_toggle_display_mode->set_icon(get_editor_theme_icon(SNAME("Panels2")));
if (is_layout_rtl()) { if (is_layout_rtl()) {
button_hist_next->set_icon(get_theme_icon(SNAME("Back"), SNAME("EditorIcons"))); button_hist_next->set_icon(get_editor_theme_icon(SNAME("Back")));
button_hist_prev->set_icon(get_theme_icon(SNAME("Forward"), SNAME("EditorIcons"))); button_hist_prev->set_icon(get_editor_theme_icon(SNAME("Forward")));
} else { } else {
button_hist_next->set_icon(get_theme_icon(SNAME("Forward"), SNAME("EditorIcons"))); button_hist_next->set_icon(get_editor_theme_icon(SNAME("Forward")));
button_hist_prev->set_icon(get_theme_icon(SNAME("Back"), SNAME("EditorIcons"))); button_hist_prev->set_icon(get_editor_theme_icon(SNAME("Back")));
} }
if (file_list_display_mode == FILE_LIST_DISPLAY_LIST) { if (file_list_display_mode == FILE_LIST_DISPLAY_LIST) {
button_file_list_display_mode->set_icon(get_theme_icon(SNAME("FileThumbnail"), SNAME("EditorIcons"))); button_file_list_display_mode->set_icon(get_editor_theme_icon(SNAME("FileThumbnail")));
} else { } else {
button_file_list_display_mode->set_icon(get_theme_icon(SNAME("FileList"), SNAME("EditorIcons"))); button_file_list_display_mode->set_icon(get_editor_theme_icon(SNAME("FileList")));
} }
tree_search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); tree_search_box->set_right_icon(get_editor_theme_icon(SNAME("Search")));
tree_search_box->set_clear_button_enabled(true); tree_search_box->set_clear_button_enabled(true);
tree_button_sort->set_icon(get_theme_icon(SNAME("Sort"), SNAME("EditorIcons"))); tree_button_sort->set_icon(get_editor_theme_icon(SNAME("Sort")));
file_list_search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); file_list_search_box->set_right_icon(get_editor_theme_icon(SNAME("Search")));
file_list_search_box->set_clear_button_enabled(true); file_list_search_box->set_clear_button_enabled(true);
file_list_button_sort->set_icon(get_theme_icon(SNAME("Sort"), SNAME("EditorIcons"))); file_list_button_sort->set_icon(get_editor_theme_icon(SNAME("Sort")));
// Update editor dark theme & always show folders states from editor settings, redraw if needed. // Update editor dark theme & always show folders states from editor settings, redraw if needed.
bool do_redraw = false; bool do_redraw = false;
@ -775,11 +776,11 @@ void FileSystemDock::_toggle_file_display() {
void FileSystemDock::_set_file_display(bool p_active) { void FileSystemDock::_set_file_display(bool p_active) {
if (p_active) { if (p_active) {
file_list_display_mode = FILE_LIST_DISPLAY_LIST; file_list_display_mode = FILE_LIST_DISPLAY_LIST;
button_file_list_display_mode->set_icon(get_theme_icon(SNAME("FileThumbnail"), SNAME("EditorIcons"))); button_file_list_display_mode->set_icon(get_editor_theme_icon(SNAME("FileThumbnail")));
button_file_list_display_mode->set_tooltip_text(TTR("View items as a grid of thumbnails.")); button_file_list_display_mode->set_tooltip_text(TTR("View items as a grid of thumbnails."));
} else { } else {
file_list_display_mode = FILE_LIST_DISPLAY_THUMBNAILS; file_list_display_mode = FILE_LIST_DISPLAY_THUMBNAILS;
button_file_list_display_mode->set_icon(get_theme_icon(SNAME("FileList"), SNAME("EditorIcons"))); button_file_list_display_mode->set_icon(get_editor_theme_icon(SNAME("FileList")));
button_file_list_display_mode->set_tooltip_text(TTR("View items as a list.")); button_file_list_display_mode->set_tooltip_text(TTR("View items as a list."));
} }
@ -922,13 +923,13 @@ void FileSystemDock::_update_file_list(bool p_keep_selection) {
files->set_fixed_icon_size(Size2(thumbnail_size, thumbnail_size)); files->set_fixed_icon_size(Size2(thumbnail_size, thumbnail_size));
if (thumbnail_size < 64) { if (thumbnail_size < 64) {
folder_thumbnail = get_theme_icon(SNAME("FolderMediumThumb"), SNAME("EditorIcons")); folder_thumbnail = get_editor_theme_icon(SNAME("FolderMediumThumb"));
file_thumbnail = get_theme_icon(SNAME("FileMediumThumb"), SNAME("EditorIcons")); file_thumbnail = get_editor_theme_icon(SNAME("FileMediumThumb"));
file_thumbnail_broken = get_theme_icon(SNAME("FileDeadMediumThumb"), SNAME("EditorIcons")); file_thumbnail_broken = get_editor_theme_icon(SNAME("FileDeadMediumThumb"));
} else { } else {
folder_thumbnail = get_theme_icon(SNAME("FolderBigThumb"), SNAME("EditorIcons")); folder_thumbnail = get_editor_theme_icon(SNAME("FolderBigThumb"));
file_thumbnail = get_theme_icon(SNAME("FileBigThumb"), SNAME("EditorIcons")); file_thumbnail = get_editor_theme_icon(SNAME("FileBigThumb"));
file_thumbnail_broken = get_theme_icon(SNAME("FileDeadBigThumb"), SNAME("EditorIcons")); file_thumbnail_broken = get_editor_theme_icon(SNAME("FileDeadBigThumb"));
} }
} else { } else {
// No thumbnails. // No thumbnails.
@ -1087,10 +1088,10 @@ void FileSystemDock::_update_file_list(bool p_keep_selection) {
// Select the icons. // Select the icons.
if (!finfo->import_broken) { if (!finfo->import_broken) {
type_icon = (has_theme_icon(ftype, SNAME("EditorIcons"))) ? get_theme_icon(ftype, SNAME("EditorIcons")) : get_theme_icon(SNAME("Object"), SNAME("EditorIcons")); type_icon = (has_theme_icon(ftype, EditorStringName(EditorIcons))) ? get_editor_theme_icon(ftype) : get_editor_theme_icon(SNAME("Object"));
big_icon = file_thumbnail; big_icon = file_thumbnail;
} else { } else {
type_icon = get_theme_icon(SNAME("ImportFail"), SNAME("EditorIcons")); type_icon = get_editor_theme_icon(SNAME("ImportFail"));
big_icon = file_thumbnail_broken; big_icon = file_thumbnail_broken;
tooltip += "\n" + TTR("Status: Import of file failed. Please fix file and reimport manually."); tooltip += "\n" + TTR("Status: Import of file failed. Please fix file and reimport manually.");
} }
@ -1110,7 +1111,7 @@ void FileSystemDock::_update_file_list(bool p_keep_selection) {
} }
if (fpath == main_scene) { if (fpath == main_scene) {
files->set_item_custom_fg_color(item_index, get_theme_color(SNAME("accent_color"), SNAME("Editor"))); files->set_item_custom_fg_color(item_index, get_theme_color(SNAME("accent_color"), EditorStringName(Editor)));
} }
// Generate the preview. // Generate the preview.
@ -2844,18 +2845,18 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
if (all_files) { if (all_files) {
if (all_files_scenes) { if (all_files_scenes) {
if (filenames.size() == 1) { if (filenames.size() == 1) {
p_popup->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Open Scene"), FILE_OPEN); p_popup->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTR("Open Scene"), FILE_OPEN);
p_popup->add_icon_item(get_theme_icon(SNAME("CreateNewSceneFrom"), SNAME("EditorIcons")), TTR("New Inherited Scene"), FILE_INHERIT); p_popup->add_icon_item(get_editor_theme_icon(SNAME("CreateNewSceneFrom")), TTR("New Inherited Scene"), FILE_INHERIT);
if (GLOBAL_GET("application/run/main_scene") != filenames[0]) { if (GLOBAL_GET("application/run/main_scene") != filenames[0]) {
p_popup->add_icon_item(get_theme_icon(SNAME("PlayScene"), SNAME("EditorIcons")), TTR("Set As Main Scene"), FILE_MAIN_SCENE); p_popup->add_icon_item(get_editor_theme_icon(SNAME("PlayScene")), TTR("Set As Main Scene"), FILE_MAIN_SCENE);
} }
} else { } else {
p_popup->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Open Scenes"), FILE_OPEN); p_popup->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTR("Open Scenes"), FILE_OPEN);
} }
p_popup->add_icon_item(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), TTR("Instantiate"), FILE_INSTANTIATE); p_popup->add_icon_item(get_editor_theme_icon(SNAME("Instance")), TTR("Instantiate"), FILE_INSTANTIATE);
p_popup->add_separator(); p_popup->add_separator();
} else if (filenames.size() == 1) { } else if (filenames.size() == 1) {
p_popup->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Open"), FILE_OPEN); p_popup->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTR("Open"), FILE_OPEN);
p_popup->add_separator(); p_popup->add_separator();
} }
@ -2873,22 +2874,22 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
p_popup->add_child(new_menu); p_popup->add_child(new_menu);
p_popup->add_submenu_item(TTR("Create New"), "New", FILE_NEW); p_popup->add_submenu_item(TTR("Create New"), "New", FILE_NEW);
p_popup->set_item_icon(p_popup->get_item_index(FILE_NEW), get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); p_popup->set_item_icon(p_popup->get_item_index(FILE_NEW), get_editor_theme_icon(SNAME("Add")));
new_menu->add_icon_item(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")), TTR("Folder..."), FILE_NEW_FOLDER); new_menu->add_icon_item(get_editor_theme_icon(SNAME("Folder")), TTR("Folder..."), FILE_NEW_FOLDER);
new_menu->add_icon_item(get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")), TTR("Scene..."), FILE_NEW_SCENE); new_menu->add_icon_item(get_editor_theme_icon(SNAME("PackedScene")), TTR("Scene..."), FILE_NEW_SCENE);
new_menu->add_icon_item(get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), TTR("Script..."), FILE_NEW_SCRIPT); new_menu->add_icon_item(get_editor_theme_icon(SNAME("Script")), TTR("Script..."), FILE_NEW_SCRIPT);
new_menu->add_icon_item(get_theme_icon(SNAME("Object"), SNAME("EditorIcons")), TTR("Resource..."), FILE_NEW_RESOURCE); new_menu->add_icon_item(get_editor_theme_icon(SNAME("Object")), TTR("Resource..."), FILE_NEW_RESOURCE);
new_menu->add_icon_item(get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")), TTR("TextFile..."), FILE_NEW_TEXTFILE); new_menu->add_icon_item(get_editor_theme_icon(SNAME("TextFile")), TTR("TextFile..."), FILE_NEW_TEXTFILE);
p_popup->add_separator(); p_popup->add_separator();
} }
if (all_folders && foldernames.size() > 0) { if (all_folders && foldernames.size() > 0) {
p_popup->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Expand Folder"), FILE_OPEN); p_popup->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTR("Expand Folder"), FILE_OPEN);
if (foldernames.size() == 1) { if (foldernames.size() == 1) {
p_popup->add_icon_item(get_theme_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons")), TTR("Expand Hierarchy"), FOLDER_EXPAND_ALL); p_popup->add_icon_item(get_editor_theme_icon(SNAME("GuiTreeArrowDown")), TTR("Expand Hierarchy"), FOLDER_EXPAND_ALL);
p_popup->add_icon_item(get_theme_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons")), TTR("Collapse Hierarchy"), FOLDER_COLLAPSE_ALL); p_popup->add_icon_item(get_editor_theme_icon(SNAME("GuiTreeArrowRight")), TTR("Collapse Hierarchy"), FOLDER_COLLAPSE_ALL);
} }
p_popup->add_separator(); p_popup->add_separator();
@ -2900,14 +2901,14 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
p_popup->add_child(folder_colors_menu); p_popup->add_child(folder_colors_menu);
p_popup->add_submenu_item(TTR("Set Folder Color..."), "FolderColor"); p_popup->add_submenu_item(TTR("Set Folder Color..."), "FolderColor");
p_popup->set_item_icon(-1, get_theme_icon(SNAME("CanvasItem"), SNAME("EditorIcons"))); p_popup->set_item_icon(-1, get_editor_theme_icon(SNAME("CanvasItem")));
folder_colors_menu->add_icon_item(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")), TTR("Default (Reset)")); folder_colors_menu->add_icon_item(get_editor_theme_icon(SNAME("Folder")), TTR("Default (Reset)"));
folder_colors_menu->set_item_icon_modulate(0, get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog"))); folder_colors_menu->set_item_icon_modulate(0, get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")));
folder_colors_menu->add_separator(); folder_colors_menu->add_separator();
for (const KeyValue<String, Color> &E : folder_colors) { for (const KeyValue<String, Color> &E : folder_colors) {
folder_colors_menu->add_icon_item(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")), TTR(E.key.capitalize())); folder_colors_menu->add_icon_item(get_editor_theme_icon(SNAME("Folder")), TTR(E.key.capitalize()));
folder_colors_menu->set_item_icon_modulate(-1, editor_is_dark_theme ? E.value : E.value * 2); folder_colors_menu->set_item_icon_modulate(-1, editor_is_dark_theme ? E.value : E.value * 2);
folder_colors_menu->set_item_metadata(-1, E.key); folder_colors_menu->set_item_metadata(-1, E.key);
@ -2916,29 +2917,29 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
} }
if (p_paths.size() == 1) { if (p_paths.size() == 1) {
p_popup->add_icon_shortcut(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/copy_path"), FILE_COPY_PATH); p_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("ActionCopy")), ED_GET_SHORTCUT("filesystem_dock/copy_path"), FILE_COPY_PATH);
if (ResourceLoader::get_resource_uid(p_paths[0]) != ResourceUID::INVALID_ID) { if (ResourceLoader::get_resource_uid(p_paths[0]) != ResourceUID::INVALID_ID) {
p_popup->add_icon_shortcut(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/copy_uid"), FILE_COPY_UID); p_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("Instance")), ED_GET_SHORTCUT("filesystem_dock/copy_uid"), FILE_COPY_UID);
} }
if (p_paths[0] != "res://") { if (p_paths[0] != "res://") {
p_popup->add_icon_shortcut(get_theme_icon(SNAME("Rename"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/rename"), FILE_RENAME); p_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("Rename")), ED_GET_SHORTCUT("filesystem_dock/rename"), FILE_RENAME);
p_popup->add_icon_shortcut(get_theme_icon(SNAME("Duplicate"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/duplicate"), FILE_DUPLICATE); p_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("Duplicate")), ED_GET_SHORTCUT("filesystem_dock/duplicate"), FILE_DUPLICATE);
} }
} }
if (p_paths.size() > 1 || p_paths[0] != "res://") { if (p_paths.size() > 1 || p_paths[0] != "res://") {
p_popup->add_icon_item(get_theme_icon(SNAME("MoveUp"), SNAME("EditorIcons")), TTR("Move/Duplicate To..."), FILE_MOVE); p_popup->add_icon_item(get_editor_theme_icon(SNAME("MoveUp")), TTR("Move/Duplicate To..."), FILE_MOVE);
p_popup->add_icon_shortcut(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/delete"), FILE_REMOVE); p_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("Remove")), ED_GET_SHORTCUT("filesystem_dock/delete"), FILE_REMOVE);
} }
p_popup->add_separator(); p_popup->add_separator();
if (p_paths.size() >= 1) { if (p_paths.size() >= 1) {
if (!all_favorites) { if (!all_favorites) {
p_popup->add_icon_item(get_theme_icon(SNAME("Favorites"), SNAME("EditorIcons")), TTR("Add to Favorites"), FILE_ADD_FAVORITE); p_popup->add_icon_item(get_editor_theme_icon(SNAME("Favorites")), TTR("Add to Favorites"), FILE_ADD_FAVORITE);
} }
if (!all_not_favorites) { if (!all_not_favorites) {
p_popup->add_icon_item(get_theme_icon(SNAME("NonFavorite"), SNAME("EditorIcons")), TTR("Remove from Favorites"), FILE_REMOVE_FAVORITE); p_popup->add_icon_item(get_editor_theme_icon(SNAME("NonFavorite")), TTR("Remove from Favorites"), FILE_REMOVE_FAVORITE);
} }
{ {
@ -2968,7 +2969,7 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
} }
if (resource_valid) { if (resource_valid) {
p_popup->add_icon_item(get_theme_icon(SNAME("Load"), SNAME("EditorIcons")), TTR("Reimport"), FILE_REIMPORT); p_popup->add_icon_item(get_editor_theme_icon(SNAME("Load")), TTR("Reimport"), FILE_REIMPORT);
} }
} }
} }
@ -2982,10 +2983,10 @@ void FileSystemDock::_file_and_folders_fill_popup(PopupMenu *p_popup, Vector<Str
// Opening the system file manager is not supported on the Android and web editors. // Opening the system file manager is not supported on the Android and web editors.
const bool is_directory = fpath.ends_with("/"); const bool is_directory = fpath.ends_with("/");
const String item_text = is_directory ? TTR("Open in File Manager") : TTR("Show in File Manager"); const String item_text = is_directory ? TTR("Open in File Manager") : TTR("Show in File Manager");
p_popup->add_icon_shortcut(get_theme_icon(SNAME("Filesystem"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/show_in_explorer"), FILE_SHOW_IN_EXPLORER); p_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("Filesystem")), ED_GET_SHORTCUT("filesystem_dock/show_in_explorer"), FILE_SHOW_IN_EXPLORER);
p_popup->set_item_text(p_popup->get_item_index(FILE_SHOW_IN_EXPLORER), item_text); p_popup->set_item_text(p_popup->get_item_index(FILE_SHOW_IN_EXPLORER), item_text);
if (!is_directory) { if (!is_directory) {
p_popup->add_icon_shortcut(get_theme_icon(SNAME("ExternalLink"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/open_in_external_program"), FILE_OPEN_EXTERNAL); p_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("ExternalLink")), ED_GET_SHORTCUT("filesystem_dock/open_in_external_program"), FILE_OPEN_EXTERNAL);
} }
#endif #endif
@ -3022,15 +3023,15 @@ void FileSystemDock::_tree_empty_click(const Vector2 &p_pos, MouseButton p_butto
current_path = "res://"; current_path = "res://";
tree_popup->clear(); tree_popup->clear();
tree_popup->reset_size(); tree_popup->reset_size();
tree_popup->add_icon_item(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")), TTR("New Folder..."), FILE_NEW_FOLDER); tree_popup->add_icon_item(get_editor_theme_icon(SNAME("Folder")), TTR("New Folder..."), FILE_NEW_FOLDER);
tree_popup->add_icon_item(get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")), TTR("New Scene..."), FILE_NEW_SCENE); tree_popup->add_icon_item(get_editor_theme_icon(SNAME("PackedScene")), TTR("New Scene..."), FILE_NEW_SCENE);
tree_popup->add_icon_item(get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), TTR("New Script..."), FILE_NEW_SCRIPT); tree_popup->add_icon_item(get_editor_theme_icon(SNAME("Script")), TTR("New Script..."), FILE_NEW_SCRIPT);
tree_popup->add_icon_item(get_theme_icon(SNAME("Object"), SNAME("EditorIcons")), TTR("New Resource..."), FILE_NEW_RESOURCE); tree_popup->add_icon_item(get_editor_theme_icon(SNAME("Object")), TTR("New Resource..."), FILE_NEW_RESOURCE);
tree_popup->add_icon_item(get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")), TTR("New TextFile..."), FILE_NEW_TEXTFILE); tree_popup->add_icon_item(get_editor_theme_icon(SNAME("TextFile")), TTR("New TextFile..."), FILE_NEW_TEXTFILE);
#if !defined(ANDROID_ENABLED) && !defined(WEB_ENABLED) #if !defined(ANDROID_ENABLED) && !defined(WEB_ENABLED)
// Opening the system file manager is not supported on the Android and web editors. // Opening the system file manager is not supported on the Android and web editors.
tree_popup->add_separator(); tree_popup->add_separator();
tree_popup->add_icon_shortcut(get_theme_icon(SNAME("Filesystem"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/show_in_explorer"), FILE_SHOW_IN_EXPLORER); tree_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("Filesystem")), ED_GET_SHORTCUT("filesystem_dock/show_in_explorer"), FILE_SHOW_IN_EXPLORER);
#endif #endif
tree_popup->set_position(tree->get_screen_position() + p_pos); tree_popup->set_position(tree->get_screen_position() + p_pos);
@ -3086,13 +3087,13 @@ void FileSystemDock::_file_list_empty_clicked(const Vector2 &p_pos, MouseButton
file_list_popup->clear(); file_list_popup->clear();
file_list_popup->reset_size(); file_list_popup->reset_size();
file_list_popup->add_icon_item(get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")), TTR("New Folder..."), FILE_NEW_FOLDER); file_list_popup->add_icon_item(get_editor_theme_icon(SNAME("Folder")), TTR("New Folder..."), FILE_NEW_FOLDER);
file_list_popup->add_icon_item(get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")), TTR("New Scene..."), FILE_NEW_SCENE); file_list_popup->add_icon_item(get_editor_theme_icon(SNAME("PackedScene")), TTR("New Scene..."), FILE_NEW_SCENE);
file_list_popup->add_icon_item(get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), TTR("New Script..."), FILE_NEW_SCRIPT); file_list_popup->add_icon_item(get_editor_theme_icon(SNAME("Script")), TTR("New Script..."), FILE_NEW_SCRIPT);
file_list_popup->add_icon_item(get_theme_icon(SNAME("Object"), SNAME("EditorIcons")), TTR("New Resource..."), FILE_NEW_RESOURCE); file_list_popup->add_icon_item(get_editor_theme_icon(SNAME("Object")), TTR("New Resource..."), FILE_NEW_RESOURCE);
file_list_popup->add_icon_item(get_theme_icon(SNAME("TextFile"), SNAME("EditorIcons")), TTR("New TextFile..."), FILE_NEW_TEXTFILE); file_list_popup->add_icon_item(get_editor_theme_icon(SNAME("TextFile")), TTR("New TextFile..."), FILE_NEW_TEXTFILE);
file_list_popup->add_separator(); file_list_popup->add_separator();
file_list_popup->add_icon_shortcut(get_theme_icon(SNAME("Filesystem"), SNAME("EditorIcons")), ED_GET_SHORTCUT("filesystem_dock/show_in_explorer"), FILE_SHOW_IN_EXPLORER); file_list_popup->add_icon_shortcut(get_editor_theme_icon(SNAME("Filesystem")), ED_GET_SHORTCUT("filesystem_dock/show_in_explorer"), FILE_SHOW_IN_EXPLORER);
file_list_popup->set_position(files->get_screen_position() + p_pos); file_list_popup->set_position(files->get_screen_position() + p_pos);
file_list_popup->reset_size(); file_list_popup->reset_size();

View File

@ -35,6 +35,7 @@
#include "core/os/os.h" #include "core/os/os.h"
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "scene/gui/box_container.h" #include "scene/gui/box_container.h"
#include "scene/gui/button.h" #include "scene/gui/button.h"
#include "scene/gui/check_box.h" #include "scene/gui/check_box.h"
@ -685,10 +686,10 @@ void FindInFilesPanel::stop_search() {
void FindInFilesPanel::_notification(int p_what) { void FindInFilesPanel::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
_search_text_label->add_theme_font_override("font", get_theme_font(SNAME("source"), SNAME("EditorFonts"))); _search_text_label->add_theme_font_override("font", get_theme_font(SNAME("source"), EditorStringName(EditorFonts)));
_search_text_label->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("source_size"), SNAME("EditorFonts"))); _search_text_label->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("source_size"), EditorStringName(EditorFonts)));
_results_display->add_theme_font_override("font", get_theme_font(SNAME("source"), SNAME("EditorFonts"))); _results_display->add_theme_font_override("font", get_theme_font(SNAME("source"), EditorStringName(EditorFonts)));
_results_display->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("source_size"), SNAME("EditorFonts"))); _results_display->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("source_size"), EditorStringName(EditorFonts)));
// Rebuild search tree. // Rebuild search tree.
if (!_finder->get_search_text().is_empty()) { if (!_finder->get_search_text().is_empty()) {
@ -776,8 +777,8 @@ void FindInFilesPanel::draw_result_text(Object *item_obj, Rect2 rect) {
match_rect.position.y += 1 * EDSCALE; match_rect.position.y += 1 * EDSCALE;
match_rect.size.y -= 2 * EDSCALE; match_rect.size.y -= 2 * EDSCALE;
_results_display->draw_rect(match_rect, get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.33), false, 2.0); _results_display->draw_rect(match_rect, get_theme_color(SNAME("accent_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.33), false, 2.0);
_results_display->draw_rect(match_rect, get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.17), true); _results_display->draw_rect(match_rect, get_theme_color(SNAME("accent_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.17), true);
// Text is drawn by Tree already. // Text is drawn by Tree already.
} }

View File

@ -32,6 +32,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/scene_tree_editor.h" #include "editor/gui/scene_tree_editor.h"
#include "editor/scene_tree_dock.h" #include "editor/scene_tree_dock.h"
@ -116,7 +117,7 @@ void GroupDialog::_load_nodes(Node *p_current) {
if (!can_edit(p_current, selected_group)) { if (!can_edit(p_current, selected_group)) {
node->set_selectable(0, false); node->set_selectable(0, false);
node->set_custom_color(0, groups->get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); node->set_custom_color(0, groups->get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
} }
} }
@ -210,8 +211,8 @@ void GroupDialog::_add_group(String p_name) {
TreeItem *new_group = groups->create_item(groups_root); TreeItem *new_group = groups->create_item(groups_root);
new_group->set_text(0, name); new_group->set_text(0, name);
new_group->add_button(0, groups->get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), DELETE_GROUP); new_group->add_button(0, groups->get_editor_theme_icon(SNAME("Remove")), DELETE_GROUP);
new_group->add_button(0, groups->get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")), COPY_GROUP); new_group->add_button(0, groups->get_editor_theme_icon(SNAME("ActionCopy")), COPY_GROUP);
new_group->set_editable(0, true); new_group->set_editable(0, true);
new_group->select(0); new_group->select(0);
groups->ensure_cursor_is_visible(); groups->ensure_cursor_is_visible();
@ -393,16 +394,16 @@ void GroupDialog::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
if (is_layout_rtl()) { if (is_layout_rtl()) {
add_button->set_icon(groups->get_theme_icon(SNAME("Back"), SNAME("EditorIcons"))); add_button->set_icon(groups->get_editor_theme_icon(SNAME("Back")));
remove_button->set_icon(groups->get_theme_icon(SNAME("Forward"), SNAME("EditorIcons"))); remove_button->set_icon(groups->get_editor_theme_icon(SNAME("Forward")));
} else { } else {
add_button->set_icon(groups->get_theme_icon(SNAME("Forward"), SNAME("EditorIcons"))); add_button->set_icon(groups->get_editor_theme_icon(SNAME("Forward")));
remove_button->set_icon(groups->get_theme_icon(SNAME("Back"), SNAME("EditorIcons"))); remove_button->set_icon(groups->get_editor_theme_icon(SNAME("Back")));
} }
add_filter->set_right_icon(groups->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); add_filter->set_right_icon(groups->get_editor_theme_icon(SNAME("Search")));
add_filter->set_clear_button_enabled(true); add_filter->set_clear_button_enabled(true);
remove_filter->set_right_icon(groups->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); remove_filter->set_right_icon(groups->get_editor_theme_icon(SNAME("Search")));
remove_filter->set_clear_button_enabled(true); remove_filter->set_clear_button_enabled(true);
} break; } break;
} }
@ -761,8 +762,8 @@ void GroupsEditor::update_tree() {
item->set_text(0, gi.name); item->set_text(0, gi.name);
item->set_editable(0, true); item->set_editable(0, true);
if (can_be_deleted) { if (can_be_deleted) {
item->add_button(0, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), DELETE_GROUP); item->add_button(0, get_editor_theme_icon(SNAME("Remove")), DELETE_GROUP);
item->add_button(0, get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")), COPY_GROUP); item->add_button(0, get_editor_theme_icon(SNAME("ActionCopy")), COPY_GROUP);
} else { } else {
item->set_selectable(0, false); item->set_selectable(0, false);
} }

View File

@ -46,7 +46,7 @@ void EditorDirDialog::_update_dir(TreeItem *p_item, EditorFileSystemDirectory *p
String path = p_dir->get_path(); String path = p_dir->get_path();
p_item->set_metadata(0, p_dir->get_path()); p_item->set_metadata(0, p_dir->get_path());
p_item->set_icon(0, tree->get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); p_item->set_icon(0, tree->get_editor_theme_icon(SNAME("Folder")));
p_item->set_icon_modulate(0, tree->get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog"))); p_item->set_icon_modulate(0, tree->get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")));
if (!p_item->get_parent()) { if (!p_item->get_parent()) {

View File

@ -75,37 +75,37 @@ VBoxContainer *EditorFileDialog::get_vbox() {
void EditorFileDialog::_update_theme_item_cache() { void EditorFileDialog::_update_theme_item_cache() {
ConfirmationDialog::_update_theme_item_cache(); ConfirmationDialog::_update_theme_item_cache();
theme_cache.parent_folder = get_theme_icon(SNAME("ArrowUp"), SNAME("EditorIcons")); theme_cache.parent_folder = get_editor_theme_icon(SNAME("ArrowUp"));
theme_cache.forward_folder = get_theme_icon(SNAME("Forward"), SNAME("EditorIcons")); theme_cache.forward_folder = get_editor_theme_icon(SNAME("Forward"));
theme_cache.back_folder = get_theme_icon(SNAME("Back"), SNAME("EditorIcons")); theme_cache.back_folder = get_editor_theme_icon(SNAME("Back"));
theme_cache.reload = get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")); theme_cache.reload = get_editor_theme_icon(SNAME("Reload"));
theme_cache.toggle_hidden = get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons")); theme_cache.toggle_hidden = get_editor_theme_icon(SNAME("GuiVisibilityVisible"));
theme_cache.favorite = get_theme_icon(SNAME("Favorites"), SNAME("EditorIcons")); theme_cache.favorite = get_editor_theme_icon(SNAME("Favorites"));
theme_cache.mode_thumbnails = get_theme_icon(SNAME("FileThumbnail"), SNAME("EditorIcons")); theme_cache.mode_thumbnails = get_editor_theme_icon(SNAME("FileThumbnail"));
theme_cache.mode_list = get_theme_icon(SNAME("FileList"), SNAME("EditorIcons")); theme_cache.mode_list = get_editor_theme_icon(SNAME("FileList"));
theme_cache.favorites_up = get_theme_icon(SNAME("MoveUp"), SNAME("EditorIcons")); theme_cache.favorites_up = get_editor_theme_icon(SNAME("MoveUp"));
theme_cache.favorites_down = get_theme_icon(SNAME("MoveDown"), SNAME("EditorIcons")); theme_cache.favorites_down = get_editor_theme_icon(SNAME("MoveDown"));
theme_cache.folder = get_theme_icon(SNAME("Folder"), SNAME("EditorIcons")); theme_cache.folder = get_editor_theme_icon(SNAME("Folder"));
theme_cache.folder_icon_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")); theme_cache.folder_icon_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog"));
theme_cache.action_copy = get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")); theme_cache.action_copy = get_editor_theme_icon(SNAME("ActionCopy"));
theme_cache.action_delete = get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")); theme_cache.action_delete = get_editor_theme_icon(SNAME("Remove"));
theme_cache.filesystem = get_theme_icon(SNAME("Filesystem"), SNAME("EditorIcons")); theme_cache.filesystem = get_editor_theme_icon(SNAME("Filesystem"));
theme_cache.folder_medium_thumbnail = get_theme_icon(SNAME("FolderMediumThumb"), SNAME("EditorIcons")); theme_cache.folder_medium_thumbnail = get_editor_theme_icon(SNAME("FolderMediumThumb"));
theme_cache.file_medium_thumbnail = get_theme_icon(SNAME("FileMediumThumb"), SNAME("EditorIcons")); theme_cache.file_medium_thumbnail = get_editor_theme_icon(SNAME("FileMediumThumb"));
theme_cache.folder_big_thumbnail = get_theme_icon(SNAME("FolderBigThumb"), SNAME("EditorIcons")); theme_cache.folder_big_thumbnail = get_editor_theme_icon(SNAME("FolderBigThumb"));
theme_cache.file_big_thumbnail = get_theme_icon(SNAME("FileBigThumb"), SNAME("EditorIcons")); theme_cache.file_big_thumbnail = get_editor_theme_icon(SNAME("FileBigThumb"));
theme_cache.progress[0] = get_theme_icon("Progress1", SNAME("EditorIcons")); theme_cache.progress[0] = get_editor_theme_icon("Progress1");
theme_cache.progress[1] = get_theme_icon("Progress2", SNAME("EditorIcons")); theme_cache.progress[1] = get_editor_theme_icon("Progress2");
theme_cache.progress[2] = get_theme_icon("Progress3", SNAME("EditorIcons")); theme_cache.progress[2] = get_editor_theme_icon("Progress3");
theme_cache.progress[3] = get_theme_icon("Progress4", SNAME("EditorIcons")); theme_cache.progress[3] = get_editor_theme_icon("Progress4");
theme_cache.progress[4] = get_theme_icon("Progress5", SNAME("EditorIcons")); theme_cache.progress[4] = get_editor_theme_icon("Progress5");
theme_cache.progress[5] = get_theme_icon("Progress6", SNAME("EditorIcons")); theme_cache.progress[5] = get_editor_theme_icon("Progress6");
theme_cache.progress[6] = get_theme_icon("Progress7", SNAME("EditorIcons")); theme_cache.progress[6] = get_editor_theme_icon("Progress7");
theme_cache.progress[7] = get_theme_icon("Progress8", SNAME("EditorIcons")); theme_cache.progress[7] = get_editor_theme_icon("Progress8");
} }
void EditorFileDialog::_notification(int p_what) { void EditorFileDialog::_notification(int p_what) {

View File

@ -33,6 +33,7 @@
#include "editor/editor_data.h" #include "editor/editor_data.h"
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "editor/multi_node_edit.h" #include "editor/multi_node_edit.h"
Size2 EditorObjectSelector::get_minimum_size() const { Size2 EditorObjectSelector::get_minimum_size() const {
@ -200,10 +201,10 @@ void EditorObjectSelector::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
update_path(); update_path();
int icon_size = get_theme_constant(SNAME("class_icon_size"), SNAME("Editor")); int icon_size = get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor));
current_object_icon->set_custom_minimum_size(Size2(icon_size, icon_size)); current_object_icon->set_custom_minimum_size(Size2(icon_size, icon_size));
current_object_label->add_theme_font_override("font", get_theme_font(SNAME("main"), SNAME("EditorFonts"))); current_object_label->add_theme_font_override("font", get_theme_font(SNAME("main"), EditorStringName(EditorFonts)));
sub_objects_icon->set_texture(get_theme_icon(SNAME("arrow"), SNAME("OptionButton"))); sub_objects_icon->set_texture(get_theme_icon(SNAME("arrow"), SNAME("OptionButton")));
sub_objects_menu->add_theme_constant_override("icon_max_width", icon_size); sub_objects_menu->add_theme_constant_override("icon_max_width", icon_size);
} break; } break;

View File

@ -37,6 +37,7 @@
#include "editor/editor_quick_open.h" #include "editor/editor_quick_open.h"
#include "editor/editor_run_native.h" #include "editor/editor_run_native.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/gui/box_container.h" #include "scene/gui/box_container.h"
#include "scene/gui/button.h" #include "scene/gui/button.h"
#include "scene/gui/panel_container.h" #include "scene/gui/panel_container.h"
@ -51,18 +52,18 @@ void EditorRunBar::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
_update_play_buttons(); _update_play_buttons();
pause_button->set_icon(get_theme_icon(SNAME("Pause"), SNAME("EditorIcons"))); pause_button->set_icon(get_editor_theme_icon(SNAME("Pause")));
stop_button->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons"))); stop_button->set_icon(get_editor_theme_icon(SNAME("Stop")));
if (is_movie_maker_enabled()) { if (is_movie_maker_enabled()) {
main_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("LaunchPadMovieMode"), SNAME("EditorStyles"))); main_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("LaunchPadMovieMode"), EditorStringName(EditorStyles)));
write_movie_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("MovieWriterButtonPressed"), SNAME("EditorStyles"))); write_movie_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("MovieWriterButtonPressed"), EditorStringName(EditorStyles)));
} else { } else {
main_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("LaunchPadNormal"), SNAME("EditorStyles"))); main_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("LaunchPadNormal"), EditorStringName(EditorStyles)));
write_movie_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("MovieWriterButtonNormal"), SNAME("EditorStyles"))); write_movie_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("MovieWriterButtonNormal"), EditorStringName(EditorStyles)));
} }
write_movie_button->set_icon(get_theme_icon(SNAME("MainMovieWrite"), SNAME("EditorIcons"))); write_movie_button->set_icon(get_editor_theme_icon(SNAME("MainMovieWrite")));
// This button behaves differently, so color it as such. // This button behaves differently, so color it as such.
write_movie_button->add_theme_color_override("icon_normal_color", Color(1, 1, 1, 0.7)); write_movie_button->add_theme_color_override("icon_normal_color", Color(1, 1, 1, 0.7));
write_movie_button->add_theme_color_override("icon_pressed_color", Color(0, 0, 0, 0.84)); write_movie_button->add_theme_color_override("icon_pressed_color", Color(0, 0, 0, 0.84));
@ -73,15 +74,15 @@ void EditorRunBar::_notification(int p_what) {
void EditorRunBar::_reset_play_buttons() { void EditorRunBar::_reset_play_buttons() {
play_button->set_pressed(false); play_button->set_pressed(false);
play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
play_button->set_tooltip_text(TTR("Play the project.")); play_button->set_tooltip_text(TTR("Play the project."));
play_scene_button->set_pressed(false); play_scene_button->set_pressed(false);
play_scene_button->set_icon(get_theme_icon(SNAME("PlayScene"), SNAME("EditorIcons"))); play_scene_button->set_icon(get_editor_theme_icon(SNAME("PlayScene")));
play_scene_button->set_tooltip_text(TTR("Play the edited scene.")); play_scene_button->set_tooltip_text(TTR("Play the edited scene."));
play_custom_scene_button->set_pressed(false); play_custom_scene_button->set_pressed(false);
play_custom_scene_button->set_icon(get_theme_icon(SNAME("PlayCustom"), SNAME("EditorIcons"))); play_custom_scene_button->set_icon(get_editor_theme_icon(SNAME("PlayCustom")));
play_custom_scene_button->set_tooltip_text(TTR("Play a custom scene.")); play_custom_scene_button->set_tooltip_text(TTR("Play a custom scene."));
} }
@ -102,18 +103,18 @@ void EditorRunBar::_update_play_buttons() {
if (active_button) { if (active_button) {
active_button->set_pressed(true); active_button->set_pressed(true);
active_button->set_icon(get_theme_icon(SNAME("Reload"), SNAME("EditorIcons"))); active_button->set_icon(get_editor_theme_icon(SNAME("Reload")));
active_button->set_tooltip_text(TTR("Reload the played scene.")); active_button->set_tooltip_text(TTR("Reload the played scene."));
} }
} }
void EditorRunBar::_write_movie_toggled(bool p_enabled) { void EditorRunBar::_write_movie_toggled(bool p_enabled) {
if (p_enabled) { if (p_enabled) {
add_theme_style_override("panel", get_theme_stylebox(SNAME("LaunchPadMovieMode"), SNAME("EditorStyles"))); add_theme_style_override("panel", get_theme_stylebox(SNAME("LaunchPadMovieMode"), EditorStringName(EditorStyles)));
write_movie_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("MovieWriterButtonPressed"), SNAME("EditorStyles"))); write_movie_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("MovieWriterButtonPressed"), EditorStringName(EditorStyles)));
} else { } else {
add_theme_style_override("panel", get_theme_stylebox(SNAME("LaunchPadNormal"), SNAME("EditorStyles"))); add_theme_style_override("panel", get_theme_stylebox(SNAME("LaunchPadNormal"), EditorStringName(EditorStyles)));
write_movie_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("MovieWriterButtonNormal"), SNAME("EditorStyles"))); write_movie_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("MovieWriterButtonNormal"), EditorStringName(EditorStyles)));
} }
} }

View File

@ -34,6 +34,7 @@
#include "editor/editor_resource_preview.h" #include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/inspector_dock.h" #include "editor/inspector_dock.h"
#include "scene/gui/box_container.h" #include "scene/gui/box_container.h"
@ -50,9 +51,9 @@ void EditorSceneTabs::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
tabbar_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("tabbar_background"), SNAME("TabContainer"))); tabbar_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("tabbar_background"), SNAME("TabContainer")));
scene_tabs->add_theme_constant_override("icon_max_width", get_theme_constant(SNAME("class_icon_size"), SNAME("Editor"))); scene_tabs->add_theme_constant_override("icon_max_width", get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor)));
scene_tab_add->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); scene_tab_add->set_icon(get_editor_theme_icon(SNAME("Add")));
scene_tab_add->add_theme_color_override("icon_normal_color", Color(0.6f, 0.6f, 0.6f, 0.8f)); scene_tab_add->add_theme_color_override("icon_normal_color", Color(0.6f, 0.6f, 0.6f, 0.8f));
scene_tab_add_ph->set_custom_minimum_size(scene_tab_add->get_minimum_size()); scene_tab_add_ph->set_custom_minimum_size(scene_tab_add->get_minimum_size());
@ -213,7 +214,7 @@ void EditorSceneTabs::update_scene_tabs() {
scene_tabs->disconnect("tab_changed", callable_mp(this, &EditorSceneTabs::_scene_tab_changed)); scene_tabs->disconnect("tab_changed", callable_mp(this, &EditorSceneTabs::_scene_tab_changed));
scene_tabs->clear_tabs(); scene_tabs->clear_tabs();
Ref<Texture2D> script_icon = get_theme_icon(SNAME("Script"), SNAME("EditorIcons")); Ref<Texture2D> script_icon = get_editor_theme_icon(SNAME("Script"));
for (int i = 0; i < EditorNode::get_editor_data().get_edited_scene_count(); i++) { for (int i = 0; i < EditorNode::get_editor_data().get_edited_scene_count(); i++) {
Node *type_node = EditorNode::get_editor_data().get_edited_scene_root(i); Node *type_node = EditorNode::get_editor_data().get_edited_scene_root(i);
Ref<Texture2D> icon; Ref<Texture2D> icon;

View File

@ -32,6 +32,7 @@
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/gui/button.h" #include "scene/gui/button.h"
#include "scene/gui/label.h" #include "scene/gui/label.h"
#include "scene/gui/panel_container.h" #include "scene/gui/panel_container.h"
@ -110,29 +111,29 @@ void EditorToaster::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
if (vbox_container->is_visible()) { if (vbox_container->is_visible()) {
main_button->set_icon(get_theme_icon(SNAME("Notification"), SNAME("EditorIcons"))); main_button->set_icon(get_editor_theme_icon(SNAME("Notification")));
} else { } else {
main_button->set_icon(get_theme_icon(SNAME("NotificationDisabled"), SNAME("EditorIcons"))); main_button->set_icon(get_editor_theme_icon(SNAME("NotificationDisabled")));
} }
disable_notifications_button->set_icon(get_theme_icon(SNAME("NotificationDisabled"), SNAME("EditorIcons"))); disable_notifications_button->set_icon(get_editor_theme_icon(SNAME("NotificationDisabled")));
// Styleboxes background. // Styleboxes background.
info_panel_style_background->set_bg_color(get_theme_color(SNAME("base_color"), SNAME("Editor"))); info_panel_style_background->set_bg_color(get_theme_color(SNAME("base_color"), EditorStringName(Editor)));
warning_panel_style_background->set_bg_color(get_theme_color(SNAME("base_color"), SNAME("Editor"))); warning_panel_style_background->set_bg_color(get_theme_color(SNAME("base_color"), EditorStringName(Editor)));
warning_panel_style_background->set_border_color(get_theme_color(SNAME("warning_color"), SNAME("Editor"))); warning_panel_style_background->set_border_color(get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
error_panel_style_background->set_bg_color(get_theme_color(SNAME("base_color"), SNAME("Editor"))); error_panel_style_background->set_bg_color(get_theme_color(SNAME("base_color"), EditorStringName(Editor)));
error_panel_style_background->set_border_color(get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_panel_style_background->set_border_color(get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
// Styleboxes progress. // Styleboxes progress.
info_panel_style_progress->set_bg_color(get_theme_color(SNAME("base_color"), SNAME("Editor")).lightened(0.03)); info_panel_style_progress->set_bg_color(get_theme_color(SNAME("base_color"), EditorStringName(Editor)).lightened(0.03));
warning_panel_style_progress->set_bg_color(get_theme_color(SNAME("base_color"), SNAME("Editor")).lightened(0.03)); warning_panel_style_progress->set_bg_color(get_theme_color(SNAME("base_color"), EditorStringName(Editor)).lightened(0.03));
warning_panel_style_progress->set_border_color(get_theme_color(SNAME("warning_color"), SNAME("Editor"))); warning_panel_style_progress->set_border_color(get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
error_panel_style_progress->set_bg_color(get_theme_color(SNAME("base_color"), SNAME("Editor")).lightened(0.03)); error_panel_style_progress->set_bg_color(get_theme_color(SNAME("base_color"), EditorStringName(Editor)).lightened(0.03));
error_panel_style_progress->set_border_color(get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_panel_style_progress->set_border_color(get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
main_button->queue_redraw(); main_button->queue_redraw();
disable_notifications_button->queue_redraw(); disable_notifications_button->queue_redraw();
@ -270,13 +271,13 @@ void EditorToaster::_draw_button() {
real_t button_radius = main_button->get_size().x / 8; real_t button_radius = main_button->get_size().x / 8;
switch (highest_severity) { switch (highest_severity) {
case SEVERITY_INFO: case SEVERITY_INFO:
color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
break; break;
case SEVERITY_WARNING: case SEVERITY_WARNING:
color = get_theme_color(SNAME("warning_color"), SNAME("Editor")); color = get_theme_color(SNAME("warning_color"), EditorStringName(Editor));
break; break;
case SEVERITY_ERROR: case SEVERITY_ERROR:
color = get_theme_color(SNAME("error_color"), SNAME("Editor")); color = get_theme_color(SNAME("error_color"), EditorStringName(Editor));
break; break;
default: default:
break; break;
@ -310,9 +311,9 @@ void EditorToaster::_draw_progress(Control *panel) {
void EditorToaster::_set_notifications_enabled(bool p_enabled) { void EditorToaster::_set_notifications_enabled(bool p_enabled) {
vbox_container->set_visible(p_enabled); vbox_container->set_visible(p_enabled);
if (p_enabled) { if (p_enabled) {
main_button->set_icon(get_theme_icon(SNAME("Notification"), SNAME("EditorIcons"))); main_button->set_icon(get_editor_theme_icon(SNAME("Notification")));
} else { } else {
main_button->set_icon(get_theme_icon(SNAME("NotificationDisabled"), SNAME("EditorIcons"))); main_button->set_icon(get_editor_theme_icon(SNAME("NotificationDisabled")));
} }
_update_disable_notifications_button(); _update_disable_notifications_button();
} }
@ -374,7 +375,7 @@ Control *EditorToaster::popup(Control *p_control, Severity p_severity, double p_
if (p_time > 0.0) { if (p_time > 0.0) {
Button *close_button = memnew(Button); Button *close_button = memnew(Button);
close_button->set_flat(true); close_button->set_flat(true);
close_button->set_icon(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); close_button->set_icon(get_editor_theme_icon(SNAME("Close")));
close_button->connect("pressed", callable_mp(this, &EditorToaster::close).bind(panel)); close_button->connect("pressed", callable_mp(this, &EditorToaster::close).bind(panel));
close_button->connect("theme_changed", callable_mp(this, &EditorToaster::_close_button_theme_changed).bind(close_button)); close_button->connect("theme_changed", callable_mp(this, &EditorToaster::_close_button_theme_changed).bind(close_button));
hbox_container->add_child(close_button); hbox_container->add_child(close_button);
@ -490,7 +491,7 @@ void EditorToaster::close(Control *p_control) {
void EditorToaster::_close_button_theme_changed(Control *p_close_button) { void EditorToaster::_close_button_theme_changed(Control *p_close_button) {
Button *close_button = Object::cast_to<Button>(p_close_button); Button *close_button = Object::cast_to<Button>(p_close_button);
if (close_button) { if (close_button) {
close_button->set_icon(get_theme_icon(SNAME("Close"), SNAME("EditorIcons"))); close_button->set_icon(get_editor_theme_icon(SNAME("Close")));
} }
} }

View File

@ -31,6 +31,7 @@
#include "editor_validation_panel.h" #include "editor_validation_panel.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "scene/gui/box_container.h" #include "scene/gui/box_container.h"
#include "scene/gui/button.h" #include "scene/gui/button.h"
#include "scene/gui/label.h" #include "scene/gui/label.h"
@ -52,9 +53,9 @@ void EditorValidationPanel::_update() {
void EditorValidationPanel::_notification(int p_what) { void EditorValidationPanel::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
theme_cache.valid_color = get_theme_color(SNAME("success_color"), SNAME("Editor")); theme_cache.valid_color = get_theme_color(SNAME("success_color"), EditorStringName(Editor));
theme_cache.warning_color = get_theme_color(SNAME("warning_color"), SNAME("Editor")); theme_cache.warning_color = get_theme_color(SNAME("warning_color"), EditorStringName(Editor));
theme_cache.error_color = get_theme_color(SNAME("error_color"), SNAME("Editor")); theme_cache.error_color = get_theme_color(SNAME("error_color"), EditorStringName(Editor));
} break; } break;
} }
} }

View File

@ -145,8 +145,8 @@ void EditorZoomWidget::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
zoom_minus->set_icon(get_theme_icon(SNAME("ZoomLess"), SNAME("EditorIcons"))); zoom_minus->set_icon(get_editor_theme_icon(SNAME("ZoomLess")));
zoom_plus->set_icon(get_theme_icon(SNAME("ZoomMore"), SNAME("EditorIcons"))); zoom_plus->set_icon(get_editor_theme_icon(SNAME("ZoomMore")));
} break; } break;
} }
} }

View File

@ -36,6 +36,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/node_dock.h" #include "editor/node_dock.h"
#include "editor/plugins/animation_player_editor_plugin.h" #include "editor/plugins/animation_player_editor_plugin.h"
@ -226,19 +227,19 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
item->set_metadata(0, p_node->get_path()); item->set_metadata(0, p_node->get_path());
if (connect_to_script_mode) { if (connect_to_script_mode) {
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
Ref<Script> scr = p_node->get_script(); Ref<Script> scr = p_node->get_script();
if (!scr.is_null() && EditorNode::get_singleton()->get_object_custom_type_base(p_node) != scr) { if (!scr.is_null() && EditorNode::get_singleton()->get_object_custom_type_base(p_node) != scr) {
//has script //has script
item->add_button(0, get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), BUTTON_SCRIPT); item->add_button(0, get_editor_theme_icon(SNAME("Script")), BUTTON_SCRIPT);
} else { } else {
//has no script (or script is a custom type) //has no script (or script is a custom type)
_set_item_custom_color(item, get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); _set_item_custom_color(item, get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
item->set_selectable(0, false); item->set_selectable(0, false);
if (!scr.is_null()) { // make sure to mark the script if a custom type if (!scr.is_null()) { // make sure to mark the script if a custom type
item->add_button(0, get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), BUTTON_SCRIPT); item->add_button(0, get_editor_theme_icon(SNAME("Script")), BUTTON_SCRIPT);
item->set_button_disabled(0, item->get_button_count(0) - 1, true); item->set_button_disabled(0, item->get_button_count(0) - 1, true);
} }
@ -255,7 +256,7 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
} }
} else if (part_of_subscene) { } else if (part_of_subscene) {
if (valid_types.size() == 0) { if (valid_types.size() == 0) {
_set_item_custom_color(item, get_theme_color(SNAME("warning_color"), SNAME("Editor"))); _set_item_custom_color(item, get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} }
} else if (marked.has(p_node)) { } else if (marked.has(p_node)) {
String node_name = p_node->get_name(); String node_name = p_node->get_name();
@ -264,15 +265,15 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
} }
item->set_text(0, node_name); item->set_text(0, node_name);
item->set_selectable(0, marked_selectable); item->set_selectable(0, marked_selectable);
_set_item_custom_color(item, get_theme_color(SNAME("accent_color"), SNAME("Editor"))); _set_item_custom_color(item, get_theme_color(SNAME("accent_color"), EditorStringName(Editor)));
} else if (!p_node->can_process()) { } else if (!p_node->can_process()) {
_set_item_custom_color(item, get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); _set_item_custom_color(item, get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
} else if (!marked_selectable && !marked_children_selectable) { } else if (!marked_selectable && !marked_children_selectable) {
Node *node = p_node; Node *node = p_node;
while (node) { while (node) {
if (marked.has(node)) { if (marked.has(node)) {
item->set_selectable(0, false); item->set_selectable(0, false);
_set_item_custom_color(item, get_theme_color(SNAME("error_color"), SNAME("Editor"))); _set_item_custom_color(item, get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
break; break;
} }
node = node->get_parent(); node = node->get_parent();
@ -305,11 +306,11 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
String newline = (num_warnings == 1 ? "\n" : "\n\n"); String newline = (num_warnings == 1 ? "\n" : "\n\n");
item->add_button(0, get_theme_icon(warning_icon, SNAME("EditorIcons")), BUTTON_WARNING, false, TTR("Node configuration warning:") + newline + conf_warning); item->add_button(0, get_editor_theme_icon(warning_icon), BUTTON_WARNING, false, TTR("Node configuration warning:") + newline + conf_warning);
} }
if (p_node->is_unique_name_in_owner()) { if (p_node->is_unique_name_in_owner()) {
item->add_button(0, get_theme_icon(SNAME("SceneUniqueName"), SNAME("EditorIcons")), BUTTON_UNIQUE, false, vformat(TTR("This node can be accessed from within anywhere in the scene by preceding it with the '%s' prefix in a node path.\nClick to disable this."), UNIQUE_NODE_PREFIX)); item->add_button(0, get_editor_theme_icon(SNAME("SceneUniqueName")), BUTTON_UNIQUE, false, vformat(TTR("This node can be accessed from within anywhere in the scene by preceding it with the '%s' prefix in a node path.\nClick to disable this."), UNIQUE_NODE_PREFIX));
} }
int num_connections = p_node->get_persistent_signal_connection_count(); int num_connections = p_node->get_persistent_signal_connection_count();
@ -345,11 +346,11 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
Ref<Texture2D> icon_temp; Ref<Texture2D> icon_temp;
SceneTreeEditorButton signal_temp = BUTTON_SIGNALS; SceneTreeEditorButton signal_temp = BUTTON_SIGNALS;
if (num_connections >= 1 && num_groups >= 1) { if (num_connections >= 1 && num_groups >= 1) {
icon_temp = get_theme_icon(SNAME("SignalsAndGroups"), SNAME("EditorIcons")); icon_temp = get_editor_theme_icon(SNAME("SignalsAndGroups"));
} else if (num_connections >= 1) { } else if (num_connections >= 1) {
icon_temp = get_theme_icon(SNAME("Signals"), SNAME("EditorIcons")); icon_temp = get_editor_theme_icon(SNAME("Signals"));
} else if (num_groups >= 1) { } else if (num_groups >= 1) {
icon_temp = get_theme_icon(SNAME("Groups"), SNAME("EditorIcons")); icon_temp = get_editor_theme_icon(SNAME("Groups"));
signal_temp = BUTTON_GROUPS; signal_temp = BUTTON_GROUPS;
} }
@ -364,10 +365,10 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
String tooltip = String(p_node->get_name()); String tooltip = String(p_node->get_name());
if (p_node == get_scene_node() && p_node->get_scene_inherited_state().is_valid()) { if (p_node == get_scene_node() && p_node->get_scene_inherited_state().is_valid()) {
item->add_button(0, get_theme_icon(SNAME("InstanceOptions"), SNAME("EditorIcons")), BUTTON_SUBSCENE, false, TTR("Open in Editor")); item->add_button(0, get_editor_theme_icon(SNAME("InstanceOptions")), BUTTON_SUBSCENE, false, TTR("Open in Editor"));
tooltip += String("\n" + TTR("Inherits:") + " " + p_node->get_scene_inherited_state()->get_path()); tooltip += String("\n" + TTR("Inherits:") + " " + p_node->get_scene_inherited_state()->get_path());
} else if (p_node != get_scene_node() && !p_node->get_scene_file_path().is_empty() && can_open_instance) { } else if (p_node != get_scene_node() && !p_node->get_scene_file_path().is_empty() && can_open_instance) {
item->add_button(0, get_theme_icon(SNAME("InstanceOptions"), SNAME("EditorIcons")), BUTTON_SUBSCENE, false, TTR("Open in Editor")); item->add_button(0, get_editor_theme_icon(SNAME("InstanceOptions")), BUTTON_SUBSCENE, false, TTR("Open in Editor"));
tooltip += String("\n" + TTR("Instance:") + " " + p_node->get_scene_file_path()); tooltip += String("\n" + TTR("Instance:") + " " + p_node->get_scene_file_path());
} }
@ -400,30 +401,30 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
// Can't set tooltip after adding button, need to do it before. // Can't set tooltip after adding button, need to do it before.
if (scr->is_tool()) { if (scr->is_tool()) {
additional_notes += "\n" + TTR("This script is currently running in the editor."); additional_notes += "\n" + TTR("This script is currently running in the editor.");
button_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); button_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
} }
if (EditorNode::get_singleton()->get_object_custom_type_base(p_node) == scr) { if (EditorNode::get_singleton()->get_object_custom_type_base(p_node) == scr) {
additional_notes += "\n" + TTR("This script is a custom type."); additional_notes += "\n" + TTR("This script is a custom type.");
button_color.a = 0.5; button_color.a = 0.5;
} }
item->add_button(0, get_theme_icon(SNAME("Script"), SNAME("EditorIcons")), BUTTON_SCRIPT, false, TTR("Open Script:") + " " + scr->get_path() + additional_notes); item->add_button(0, get_editor_theme_icon(SNAME("Script")), BUTTON_SCRIPT, false, TTR("Open Script:") + " " + scr->get_path() + additional_notes);
item->set_button_color(0, item->get_button_count(0) - 1, button_color); item->set_button_color(0, item->get_button_count(0) - 1, button_color);
} }
if (p_node->is_class("CanvasItem")) { if (p_node->is_class("CanvasItem")) {
if (p_node->has_meta("_edit_lock_")) { if (p_node->has_meta("_edit_lock_")) {
item->add_button(0, get_theme_icon(SNAME("Lock"), SNAME("EditorIcons")), BUTTON_LOCK, false, TTR("Node is locked.\nClick to unlock it.")); item->add_button(0, get_editor_theme_icon(SNAME("Lock")), BUTTON_LOCK, false, TTR("Node is locked.\nClick to unlock it."));
} }
if (p_node->has_meta("_edit_group_")) { if (p_node->has_meta("_edit_group_")) {
item->add_button(0, get_theme_icon(SNAME("Group"), SNAME("EditorIcons")), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make them selectable.")); item->add_button(0, get_editor_theme_icon(SNAME("Group")), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make them selectable."));
} }
bool v = p_node->call("is_visible"); bool v = p_node->call("is_visible");
if (v) { if (v) {
item->add_button(0, get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility")); item->add_button(0, get_editor_theme_icon(SNAME("GuiVisibilityVisible")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
} else { } else {
item->add_button(0, get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility")); item->add_button(0, get_editor_theme_icon(SNAME("GuiVisibilityHidden")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
} }
if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) { if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) {
@ -434,9 +435,9 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
} else if (p_node->is_class("CanvasLayer") || p_node->is_class("Window")) { } else if (p_node->is_class("CanvasLayer") || p_node->is_class("Window")) {
bool v = p_node->call("is_visible"); bool v = p_node->call("is_visible");
if (v) { if (v) {
item->add_button(0, get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility")); item->add_button(0, get_editor_theme_icon(SNAME("GuiVisibilityVisible")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
} else { } else {
item->add_button(0, get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility")); item->add_button(0, get_editor_theme_icon(SNAME("GuiVisibilityHidden")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
} }
if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) { if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) {
@ -444,18 +445,18 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
} }
} else if (p_node->is_class("Node3D")) { } else if (p_node->is_class("Node3D")) {
if (p_node->has_meta("_edit_lock_")) { if (p_node->has_meta("_edit_lock_")) {
item->add_button(0, get_theme_icon(SNAME("Lock"), SNAME("EditorIcons")), BUTTON_LOCK, false, TTR("Node is locked.\nClick to unlock it.")); item->add_button(0, get_editor_theme_icon(SNAME("Lock")), BUTTON_LOCK, false, TTR("Node is locked.\nClick to unlock it."));
} }
if (p_node->has_meta("_edit_group_")) { if (p_node->has_meta("_edit_group_")) {
item->add_button(0, get_theme_icon(SNAME("Group"), SNAME("EditorIcons")), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make them selectable.")); item->add_button(0, get_editor_theme_icon(SNAME("Group")), BUTTON_GROUP, false, TTR("Children are not selectable.\nClick to make them selectable."));
} }
bool v = p_node->call("is_visible"); bool v = p_node->call("is_visible");
if (v) { if (v) {
item->add_button(0, get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility")); item->add_button(0, get_editor_theme_icon(SNAME("GuiVisibilityVisible")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
} else { } else {
item->add_button(0, get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility")); item->add_button(0, get_editor_theme_icon(SNAME("GuiVisibilityHidden")), BUTTON_VISIBILITY, false, TTR("Toggle Visibility"));
} }
if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) { if (!p_node->is_connected("visibility_changed", callable_mp(this, &SceneTreeEditor::_node_visibility_changed))) {
@ -467,7 +468,7 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
bool is_pinned = AnimationPlayerEditor::get_singleton()->get_player() == p_node && AnimationPlayerEditor::get_singleton()->is_pinned(); bool is_pinned = AnimationPlayerEditor::get_singleton()->get_player() == p_node && AnimationPlayerEditor::get_singleton()->is_pinned();
if (is_pinned) { if (is_pinned) {
item->add_button(0, get_theme_icon(SNAME("Pin"), SNAME("EditorIcons")), BUTTON_PIN, false, TTR("AnimationPlayer is pinned.\nClick to unpin.")); item->add_button(0, get_editor_theme_icon(SNAME("Pin")), BUTTON_PIN, false, TTR("AnimationPlayer is pinned.\nClick to unpin."));
} }
} }
} }
@ -500,7 +501,7 @@ void SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) {
} }
if (!valid) { if (!valid) {
_set_item_custom_color(item, get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); _set_item_custom_color(item, get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
item->set_selectable(0, false); item->set_selectable(0, false);
} }
} }
@ -530,9 +531,9 @@ void SceneTreeEditor::_node_visibility_changed(Node *p_node) {
} }
if (node_visible) { if (node_visible) {
item->set_button(0, idx, get_theme_icon(SNAME("GuiVisibilityVisible"), SNAME("EditorIcons"))); item->set_button(0, idx, get_editor_theme_icon(SNAME("GuiVisibilityVisible")));
} else { } else {
item->set_button(0, idx, get_theme_icon(SNAME("GuiVisibilityHidden"), SNAME("EditorIcons"))); item->set_button(0, idx, get_editor_theme_icon(SNAME("GuiVisibilityHidden")));
} }
_update_visibility_color(p_node, item); _update_visibility_color(p_node, item);
@ -674,7 +675,7 @@ bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_select
} }
p_parent->set_selectable(0, true); p_parent->set_selectable(0, true);
} else if (keep_for_children) { } else if (keep_for_children) {
p_parent->set_custom_color(0, get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"))); p_parent->set_custom_color(0, get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor)));
p_parent->set_selectable(0, false); p_parent->set_selectable(0, false);
p_parent->deselect(0); p_parent->deselect(0);
} }
@ -905,7 +906,7 @@ void SceneTreeEditor::_notification(int p_what) {
} break; } break;
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
tree->add_theme_constant_override("icon_max_width", get_theme_constant(SNAME("class_icon_size"), SNAME("Editor"))); tree->add_theme_constant_override("icon_max_width", get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor)));
_update_tree(); _update_tree();
} break; } break;
@ -1238,7 +1239,7 @@ Variant SceneTreeEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from
if (i < list_max) { if (i < list_max) {
HBoxContainer *hb = memnew(HBoxContainer); HBoxContainer *hb = memnew(HBoxContainer);
TextureRect *tf = memnew(TextureRect); TextureRect *tf = memnew(TextureRect);
int icon_size = get_theme_constant(SNAME("class_icon_size"), SNAME("Editor")); int icon_size = get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor));
tf->set_custom_minimum_size(Size2(icon_size, icon_size)); tf->set_custom_minimum_size(Size2(icon_size, icon_size));
tf->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED); tf->set_stretch_mode(TextureRect::STRETCH_KEEP_ASPECT_CENTERED);
tf->set_expand_mode(TextureRect::EXPAND_IGNORE_SIZE); tf->set_expand_mode(TextureRect::EXPAND_IGNORE_SIZE);
@ -1563,9 +1564,9 @@ void SceneTreeDialog::set_valid_types(const Vector<StringName> &p_valid) {
} }
void SceneTreeDialog::_update_theme() { void SceneTreeDialog::_update_theme() {
filter->set_right_icon(tree->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); filter->set_right_icon(tree->get_editor_theme_icon(SNAME("Search")));
for (TextureRect *trect : valid_type_icons) { for (TextureRect *trect : valid_type_icons) {
trect->set_custom_minimum_size(Vector2(get_theme_constant(SNAME("class_icon_size"), SNAME("Editor")), 0)); trect->set_custom_minimum_size(Vector2(get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor)), 0));
trect->set_texture(EditorNode::get_singleton()->get_class_icon(trect->get_meta("type"))); trect->set_texture(EditorNode::get_singleton()->get_class_icon(trect->get_meta("type")));
} }
} }

View File

@ -31,6 +31,7 @@
#include "history_dock.h" #include "history_dock.h"
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "scene/gui/check_box.h" #include "scene/gui/check_box.h"
#include "scene/gui/item_list.h" #include "scene/gui/item_list.h"
@ -100,7 +101,7 @@ void HistoryDock::refresh_history() {
for (const EditorUndoRedoManager::Action &E : full_history) { for (const EditorUndoRedoManager::Action &E : full_history) {
action_list->add_item(E.action_name); action_list->add_item(E.action_name);
if (E.history_id == EditorUndoRedoManager::GLOBAL_HISTORY) { if (E.history_id == EditorUndoRedoManager::GLOBAL_HISTORY) {
action_list->set_item_custom_fg_color(-1, get_theme_color(SNAME("accent_color"), SNAME("Editor"))); action_list->set_item_custom_fg_color(-1, get_theme_color(SNAME("accent_color"), EditorStringName(Editor)));
} }
} }

View File

@ -32,6 +32,7 @@
#include "editor/audio_stream_preview.h" #include "editor/audio_stream_preview.h"
#include "editor/editor_file_system.h" #include "editor/editor_file_system.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "scene/gui/check_box.h" #include "scene/gui/check_box.h"
AudioStreamImportSettings *AudioStreamImportSettings::singleton = nullptr; AudioStreamImportSettings *AudioStreamImportSettings::singleton = nullptr;
@ -45,18 +46,18 @@ void AudioStreamImportSettings::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
_stop_button->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons"))); _stop_button->set_icon(get_editor_theme_icon(SNAME("Stop")));
_preview->set_color(get_theme_color(SNAME("dark_color_2"), SNAME("Editor"))); _preview->set_color(get_theme_color(SNAME("dark_color_2"), EditorStringName(Editor)));
color_rect->set_color(get_theme_color(SNAME("dark_color_1"), SNAME("Editor"))); color_rect->set_color(get_theme_color(SNAME("dark_color_1"), EditorStringName(Editor)));
_current_label->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); _current_label->add_theme_font_override("font", get_theme_font(SNAME("status_source"), EditorStringName(EditorFonts)));
_current_label->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); _current_label->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), EditorStringName(EditorFonts)));
_duration_label->add_theme_font_override("font", get_theme_font(SNAME("status_source"), SNAME("EditorFonts"))); _duration_label->add_theme_font_override("font", get_theme_font(SNAME("status_source"), EditorStringName(EditorFonts)));
_duration_label->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), SNAME("EditorFonts"))); _duration_label->add_theme_font_size_override("font_size", get_theme_font_size(SNAME("status_source_size"), EditorStringName(EditorFonts)));
zoom_in->set_icon(get_theme_icon(SNAME("ZoomMore"), SNAME("EditorIcons"))); zoom_in->set_icon(get_editor_theme_icon(SNAME("ZoomMore")));
zoom_out->set_icon(get_theme_icon(SNAME("ZoomLess"), SNAME("EditorIcons"))); zoom_out->set_icon(get_editor_theme_icon(SNAME("ZoomLess")));
zoom_reset->set_icon(get_theme_icon(SNAME("ZoomReset"), SNAME("EditorIcons"))); zoom_reset->set_icon(get_editor_theme_icon(SNAME("ZoomReset")));
_indicator->queue_redraw(); _indicator->queue_redraw();
_preview->queue_redraw(); _preview->queue_redraw();
@ -84,11 +85,11 @@ void AudioStreamImportSettings::_draw_preview() {
float preview_offset = zoom_bar->get_value(); float preview_offset = zoom_bar->get_value();
float preview_len = zoom_bar->get_page(); float preview_len = zoom_bar->get_page();
Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts")); Ref<Font> beat_font = get_theme_font(SNAME("main"), EditorStringName(EditorFonts));
int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts")); int main_size = get_theme_font_size(SNAME("main_size"), EditorStringName(EditorFonts));
Vector<Vector2> points; Vector<Vector2> points;
points.resize(width * 2); points.resize(width * 2);
Color color_active = get_theme_color(SNAME("contrast_color_2"), SNAME("Editor")); Color color_active = get_theme_color(SNAME("contrast_color_2"), EditorStringName(Editor));
Color color_inactive = color_active; Color color_inactive = color_active;
color_inactive.a *= 0.5; color_inactive.a *= 0.5;
Vector<Color> colors; Vector<Color> colors;
@ -226,25 +227,25 @@ void AudioStreamImportSettings::_play() {
// '_pausing' variable indicates that we want to pause the audio player, not stop it. See '_on_finished()'. // '_pausing' variable indicates that we want to pause the audio player, not stop it. See '_on_finished()'.
_pausing = true; _pausing = true;
_player->stop(); _player->stop();
_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
set_process(false); set_process(false);
} else { } else {
_player->play(_current); _player->play(_current);
_play_button->set_icon(get_theme_icon(SNAME("Pause"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("Pause")));
set_process(true); set_process(true);
} }
} }
void AudioStreamImportSettings::_stop() { void AudioStreamImportSettings::_stop() {
_player->stop(); _player->stop();
_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
_current = 0; _current = 0;
_indicator->queue_redraw(); _indicator->queue_redraw();
set_process(false); set_process(false);
} }
void AudioStreamImportSettings::_on_finished() { void AudioStreamImportSettings::_on_finished() {
_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
if (!_pausing) { if (!_pausing) {
_current = 0; _current = 0;
_indicator->queue_redraw(); _indicator->queue_redraw();
@ -261,8 +262,8 @@ void AudioStreamImportSettings::_draw_indicator() {
Rect2 rect = _preview->get_rect(); Rect2 rect = _preview->get_rect();
Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts")); Ref<Font> beat_font = get_theme_font(SNAME("main"), EditorStringName(EditorFonts));
int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts")); int main_size = get_theme_font_size(SNAME("main_size"), EditorStringName(EditorFonts));
if (stream->get_bpm() > 0) { if (stream->get_bpm() > 0) {
int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE; int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE;
@ -275,11 +276,11 @@ void AudioStreamImportSettings::_draw_indicator() {
return; return;
} }
const Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); const Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
_indicator->draw_line(Point2(ofs_x, rect.position.y), Point2(ofs_x, rect.position.y + rect.size.height), color, Math::round(2 * EDSCALE)); _indicator->draw_line(Point2(ofs_x, rect.position.y), Point2(ofs_x, rect.position.y + rect.size.height), color, Math::round(2 * EDSCALE));
_indicator->draw_texture( _indicator->draw_texture(
get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TimelineIndicator")),
Point2(ofs_x - get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons"))->get_width() * 0.5, rect.position.y), Point2(ofs_x - get_editor_theme_icon(SNAME("TimelineIndicator"))->get_width() * 0.5, rect.position.y),
color); color);
if (stream->get_bpm() > 0 && _hovering_beat != -1) { if (stream->get_bpm() > 0 && _hovering_beat != -1) {
@ -316,8 +317,8 @@ void AudioStreamImportSettings::_on_input_indicator(Ref<InputEvent> p_event) {
const Ref<InputEventMouseButton> mb = p_event; const Ref<InputEventMouseButton> mb = p_event;
if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT) { if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT) {
if (stream->get_bpm() > 0) { if (stream->get_bpm() > 0) {
int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts")); int main_size = get_theme_font_size(SNAME("main_size"), EditorStringName(EditorFonts));
Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts")); Ref<Font> beat_font = get_theme_font(SNAME("main"), EditorStringName(EditorFonts));
int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE; int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE;
if ((!_dragging && mb->get_position().y < y_ofs) || _beat_len_dragging) { if ((!_dragging && mb->get_position().y < y_ofs) || _beat_len_dragging) {
if (mb->is_pressed()) { if (mb->is_pressed()) {
@ -345,8 +346,8 @@ void AudioStreamImportSettings::_on_input_indicator(Ref<InputEvent> p_event) {
_set_beat_len_to(mm->get_position().x); _set_beat_len_to(mm->get_position().x);
} }
if (stream->get_bpm() > 0) { if (stream->get_bpm() > 0) {
int main_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts")); int main_size = get_theme_font_size(SNAME("main_size"), EditorStringName(EditorFonts));
Ref<Font> beat_font = get_theme_font(SNAME("main"), SNAME("EditorFonts")); Ref<Font> beat_font = get_theme_font(SNAME("main"), EditorStringName(EditorFonts));
int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE; int y_ofs = beat_font->get_height(main_size) + 4 * EDSCALE;
if (mm->get_position().y < y_ofs) { if (mm->get_position().y < y_ofs) {
int new_hovering_beat = _get_beat_at_pos(mm->get_position().x); int new_hovering_beat = _get_beat_at_pos(mm->get_position().x);

View File

@ -38,6 +38,7 @@
#include "editor/editor_property_name_processor.h" #include "editor/editor_property_name_processor.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
/*************************************************************************/ /*************************************************************************/
@ -499,7 +500,7 @@ void DynamicFontImportSettings::_variation_add() {
vars_item->set_text(0, TTR("New Configuration")); vars_item->set_text(0, TTR("New Configuration"));
vars_item->set_editable(0, true); vars_item->set_editable(0, true);
vars_item->add_button(1, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove Variation")); vars_item->add_button(1, get_editor_theme_icon(SNAME("Remove")), BUTTON_REMOVE_VAR, false, TTR("Remove Variation"));
vars_item->set_button_color(1, 0, Color(1, 1, 1, 0.75)); vars_item->set_button_color(1, 0, Color(1, 1, 1, 0.75));
Ref<DynamicFontImportSettingsData> import_variation_data; Ref<DynamicFontImportSettingsData> import_variation_data;
@ -726,8 +727,8 @@ void DynamicFontImportSettings::_glyph_selected() {
TreeItem *item = glyph_table->get_selected(); TreeItem *item = glyph_table->get_selected();
ERR_FAIL_NULL(item); ERR_FAIL_NULL(item);
Color scol = glyph_table->get_theme_color(SNAME("box_selection_fill_color"), SNAME("Editor")); Color scol = glyph_table->get_theme_color(SNAME("box_selection_fill_color"), EditorStringName(Editor));
Color fcol = glyph_table->get_theme_color(SNAME("font_selected_color"), SNAME("Editor")); Color fcol = glyph_table->get_theme_color(SNAME("font_selected_color"), EditorStringName(Editor));
scol.a = 1.f; scol.a = 1.f;
int32_t c = item->get_metadata(glyph_table->get_selected_column()); int32_t c = item->get_metadata(glyph_table->get_selected_column());
@ -798,8 +799,8 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) {
TreeItem *root = glyph_table->create_item(); TreeItem *root = glyph_table->create_item();
ERR_FAIL_NULL(root); ERR_FAIL_NULL(root);
Color scol = glyph_table->get_theme_color(SNAME("box_selection_fill_color"), SNAME("Editor")); Color scol = glyph_table->get_theme_color(SNAME("box_selection_fill_color"), EditorStringName(Editor));
Color fcol = glyph_table->get_theme_color(SNAME("font_selected_color"), SNAME("Editor")); Color fcol = glyph_table->get_theme_color(SNAME("font_selected_color"), EditorStringName(Editor));
scol.a = 1.f; scol.a = 1.f;
TreeItem *item = nullptr; TreeItem *item = nullptr;
@ -814,7 +815,7 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) {
item->set_text(0, _pad_zeros(String::num_int64(c, 16))); item->set_text(0, _pad_zeros(String::num_int64(c, 16)));
item->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT); item->set_text_alignment(0, HORIZONTAL_ALIGNMENT_LEFT);
item->set_selectable(0, false); item->set_selectable(0, false);
item->set_custom_bg_color(0, glyph_table->get_theme_color(SNAME("dark_color_3"), SNAME("Editor"))); item->set_custom_bg_color(0, glyph_table->get_theme_color(SNAME("dark_color_3"), EditorStringName(Editor)));
} }
if (font_main->has_char(c)) { if (font_main->has_char(c)) {
item->set_text(col + 1, String::chr(c)); item->set_text(col + 1, String::chr(c));
@ -827,7 +828,7 @@ void DynamicFontImportSettings::_edit_range(int32_t p_start, int32_t p_end) {
item->clear_custom_bg_color(col + 1); item->clear_custom_bg_color(col + 1);
} }
} else { } else {
item->set_custom_bg_color(col + 1, glyph_table->get_theme_color(SNAME("dark_color_2"), SNAME("Editor"))); item->set_custom_bg_color(col + 1, glyph_table->get_theme_color(SNAME("dark_color_2"), EditorStringName(Editor)));
} }
item->set_metadata(col + 1, c); item->set_metadata(col + 1, c);
item->set_text_alignment(col + 1, HORIZONTAL_ALIGNMENT_CENTER); item->set_text_alignment(col + 1, HORIZONTAL_ALIGNMENT_CENTER);
@ -925,8 +926,8 @@ void DynamicFontImportSettings::_notification(int p_what) {
} break; } break;
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
add_var->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); add_var->set_icon(get_editor_theme_icon(SNAME("Add")));
label_warn->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); label_warn->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} break; } break;
} }
} }
@ -1082,7 +1083,7 @@ void DynamicFontImportSettings::open_settings(const String &p_path) {
} }
font_preview_label->set_text(sample); font_preview_label->set_text(sample);
Ref<Font> bold_font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> bold_font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
if (bold_font.is_valid()) { if (bold_font.is_valid()) {
font_name_label->add_theme_font_override("bold_font", bold_font); font_name_label->add_theme_font_override("bold_font", bold_font);
} }
@ -1159,7 +1160,7 @@ void DynamicFontImportSettings::open_settings(const String &p_path) {
vars_item->set_text(0, cfg_name); vars_item->set_text(0, cfg_name);
vars_item->set_editable(0, true); vars_item->set_editable(0, true);
vars_item->add_button(1, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), BUTTON_REMOVE_VAR, false, TTR("Remove Variation")); vars_item->add_button(1, get_editor_theme_icon(SNAME("Remove")), BUTTON_REMOVE_VAR, false, TTR("Remove Variation"));
vars_item->set_button_color(1, 0, Color(1, 1, 1, 0.75)); vars_item->set_button_color(1, 0, Color(1, 1, 1, 0.75));
Ref<DynamicFontImportSettingsData> import_variation_data_custom; Ref<DynamicFontImportSettingsData> import_variation_data_custom;

View File

@ -36,6 +36,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "scene/3d/importer_mesh_instance_3d.h" #include "scene/3d/importer_mesh_instance_3d.h"
#include "scene/animation/animation_player.h" #include "scene/animation/animation_player.h"
@ -170,7 +171,7 @@ void SceneImportSettings::_fill_material(Tree *p_tree, const Ref<Material> &p_ma
MaterialData &material_data = material_map[import_id]; MaterialData &material_data = material_map[import_id];
ERR_FAIL_COND(p_material != material_data.material); ERR_FAIL_COND(p_material != material_data.material);
Ref<Texture2D> icon = get_theme_icon(SNAME("StandardMaterial3D"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("StandardMaterial3D"));
TreeItem *item = p_tree->create_item(p_parent); TreeItem *item = p_tree->create_item(p_parent);
if (p_material->get_name().is_empty()) { if (p_material->get_name().is_empty()) {
@ -224,7 +225,7 @@ void SceneImportSettings::_fill_mesh(Tree *p_tree, const Ref<Mesh> &p_mesh, Tree
MeshData &mesh_data = mesh_map[import_id]; MeshData &mesh_data = mesh_map[import_id];
Ref<Texture2D> icon = get_theme_icon(SNAME("Mesh"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("Mesh"));
TreeItem *item = p_tree->create_item(p_parent); TreeItem *item = p_tree->create_item(p_parent);
item->set_text(0, p_mesh->get_name()); item->set_text(0, p_mesh->get_name());
@ -274,7 +275,7 @@ void SceneImportSettings::_fill_animation(Tree *p_tree, const Ref<Animation> &p_
AnimationData &animation_data = animation_map[p_name]; AnimationData &animation_data = animation_map[p_name];
Ref<Texture2D> icon = get_theme_icon(SNAME("Animation"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("Animation"));
TreeItem *item = p_tree->create_item(p_parent); TreeItem *item = p_tree->create_item(p_parent);
item->set_text(0, p_name); item->set_text(0, p_name);
@ -318,17 +319,17 @@ void SceneImportSettings::_fill_scene(Node *p_node, TreeItem *p_parent_item) {
String type = p_node->get_class(); String type = p_node->get_class();
if (!has_theme_icon(type, SNAME("EditorIcons"))) { if (!has_theme_icon(type, EditorStringName(EditorIcons))) {
type = "Node3D"; type = "Node3D";
} }
Ref<Texture2D> icon = get_theme_icon(type, SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(type);
TreeItem *item = scene_tree->create_item(p_parent_item); TreeItem *item = scene_tree->create_item(p_parent_item);
item->set_text(0, p_node->get_name()); item->set_text(0, p_node->get_name());
if (p_node == scene) { if (p_node == scene) {
icon = get_theme_icon(SNAME("PackedScene"), SNAME("EditorIcons")); icon = get_editor_theme_icon(SNAME("PackedScene"));
item->set_text(0, TTR("Scene")); item->set_text(0, TTR("Scene"));
} }
@ -886,11 +887,11 @@ void SceneImportSettings::_play_animation() {
if (animation_player->has_animation(id)) { if (animation_player->has_animation(id)) {
if (animation_player->is_playing()) { if (animation_player->is_playing()) {
animation_player->pause(); animation_player->pause();
animation_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
set_process(false); set_process(false);
} else { } else {
animation_player->play(id); animation_player->play(id);
animation_play_button->set_icon(get_theme_icon(SNAME("Pause"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("Pause")));
set_process(true); set_process(true);
} }
} }
@ -899,7 +900,7 @@ void SceneImportSettings::_play_animation() {
void SceneImportSettings::_stop_current_animation() { void SceneImportSettings::_stop_current_animation() {
animation_pingpong = false; animation_pingpong = false;
animation_player->stop(); animation_player->stop();
animation_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
animation_slider->set_value_no_signal(0.0); animation_slider->set_value_no_signal(0.0);
set_process(false); set_process(false);
} }
@ -911,7 +912,7 @@ void SceneImportSettings::_reset_animation(const String &p_animation_name) {
if (animation_player != nullptr && animation_player->is_playing()) { if (animation_player != nullptr && animation_player->is_playing()) {
animation_player->stop(); animation_player->stop();
} }
animation_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
_reset_bone_transforms(); _reset_bone_transforms();
set_process(false); set_process(false);
@ -933,7 +934,7 @@ void SceneImportSettings::_reset_animation(const String &p_animation_name) {
animation_player->play(p_animation_name); animation_player->play(p_animation_name);
} else { } else {
animation_player->stop(true); animation_player->stop(true);
animation_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
animation_player->set_assigned_animation(p_animation_name); animation_player->set_assigned_animation(p_animation_name);
animation_player->seek(0.0, true); animation_player->seek(0.0, true);
animation_slider->set_value_no_signal(0.0); animation_slider->set_value_no_signal(0.0);
@ -948,7 +949,7 @@ void SceneImportSettings::_animation_slider_value_changed(double p_value) {
} }
if (animation_player->is_playing()) { if (animation_player->is_playing()) {
animation_player->stop(); animation_player->stop();
animation_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
set_process(false); set_process(false);
} }
animation_player->seek(p_value * animation_map[selected_id].animation->get_length(), true); animation_player->seek(p_value * animation_map[selected_id].animation->get_length(), true);
@ -959,7 +960,7 @@ void SceneImportSettings::_animation_finished(const StringName &p_name) {
switch (loop_mode) { switch (loop_mode) {
case Animation::LOOP_NONE: { case Animation::LOOP_NONE: {
animation_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
animation_slider->set_value_no_signal(1.0); animation_slider->set_value_no_signal(1.0);
set_process(false); set_process(false);
} break; } break;
@ -1145,11 +1146,11 @@ void SceneImportSettings::_notification(int p_what) {
action_menu->add_theme_style_override("pressed", get_theme_stylebox("pressed", "Button")); action_menu->add_theme_style_override("pressed", get_theme_stylebox("pressed", "Button"));
if (animation_player != nullptr && animation_player->is_playing()) { if (animation_player != nullptr && animation_player->is_playing()) {
animation_play_button->set_icon(get_theme_icon(SNAME("Pause"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("Pause")));
} else { } else {
animation_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); animation_play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
} }
animation_stop_button->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons"))); animation_stop_button->set_icon(get_editor_theme_icon(SNAME("Stop")));
} break; } break;
case NOTIFICATION_PROCESS: { case NOTIFICATION_PROCESS: {
@ -1193,11 +1194,11 @@ void SceneImportSettings::_save_path_changed(const String &p_path) {
if (FileAccess::exists(p_path)) { if (FileAccess::exists(p_path)) {
save_path_item->set_text(2, TTR("Warning: File exists")); save_path_item->set_text(2, TTR("Warning: File exists"));
save_path_item->set_tooltip_text(2, TTR("Existing file with the same name will be replaced.")); save_path_item->set_tooltip_text(2, TTR("Existing file with the same name will be replaced."));
save_path_item->set_icon(2, get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); save_path_item->set_icon(2, get_editor_theme_icon(SNAME("StatusWarning")));
} else { } else {
save_path_item->set_text(2, TTR("Will create new file")); save_path_item->set_text(2, TTR("Will create new file"));
save_path_item->set_icon(2, get_theme_icon(SNAME("StatusSuccess"), SNAME("EditorIcons"))); save_path_item->set_icon(2, get_editor_theme_icon(SNAME("StatusSuccess")));
} }
} }
@ -1231,7 +1232,7 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
String name = md.material_node->get_text(0); String name = md.material_node->get_text(0);
item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK); item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
item->set_icon(0, get_theme_icon(SNAME("StandardMaterial3D"), SNAME("EditorIcons"))); item->set_icon(0, get_editor_theme_icon(SNAME("StandardMaterial3D")));
item->set_text(0, name); item->set_text(0, name);
if (md.has_import_id) { if (md.has_import_id) {
@ -1253,20 +1254,20 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
if (FileAccess::exists(path)) { if (FileAccess::exists(path)) {
item->set_text(2, TTR("Warning: File exists")); item->set_text(2, TTR("Warning: File exists"));
item->set_tooltip_text(2, TTR("Existing file with the same name will be replaced.")); item->set_tooltip_text(2, TTR("Existing file with the same name will be replaced."));
item->set_icon(2, get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); item->set_icon(2, get_editor_theme_icon(SNAME("StatusWarning")));
} else { } else {
item->set_text(2, TTR("Will create new file")); item->set_text(2, TTR("Will create new file"));
item->set_icon(2, get_theme_icon(SNAME("StatusSuccess"), SNAME("EditorIcons"))); item->set_icon(2, get_editor_theme_icon(SNAME("StatusSuccess")));
} }
item->add_button(1, get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); item->add_button(1, get_editor_theme_icon(SNAME("Folder")));
} }
} else { } else {
item->set_text(2, TTR("No import ID")); item->set_text(2, TTR("No import ID"));
item->set_tooltip_text(2, TTR("Material has no name nor any other way to identify on re-import.\nPlease name it or ensure it is exported with an unique ID.")); item->set_tooltip_text(2, TTR("Material has no name nor any other way to identify on re-import.\nPlease name it or ensure it is exported with an unique ID."));
item->set_icon(2, get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons"))); item->set_icon(2, get_editor_theme_icon(SNAME("StatusError")));
} }
save_path_items.push_back(item); save_path_items.push_back(item);
@ -1284,7 +1285,7 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
String name = md.mesh_node->get_text(0); String name = md.mesh_node->get_text(0);
item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK); item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
item->set_icon(0, get_theme_icon(SNAME("Mesh"), SNAME("EditorIcons"))); item->set_icon(0, get_editor_theme_icon(SNAME("Mesh")));
item->set_text(0, name); item->set_text(0, name);
if (md.has_import_id) { if (md.has_import_id) {
@ -1306,20 +1307,20 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
if (FileAccess::exists(path)) { if (FileAccess::exists(path)) {
item->set_text(2, TTR("Warning: File exists")); item->set_text(2, TTR("Warning: File exists"));
item->set_tooltip_text(2, TTR("Existing file with the same name will be replaced on import.")); item->set_tooltip_text(2, TTR("Existing file with the same name will be replaced on import."));
item->set_icon(2, get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); item->set_icon(2, get_editor_theme_icon(SNAME("StatusWarning")));
} else { } else {
item->set_text(2, TTR("Will save to new file")); item->set_text(2, TTR("Will save to new file"));
item->set_icon(2, get_theme_icon(SNAME("StatusSuccess"), SNAME("EditorIcons"))); item->set_icon(2, get_editor_theme_icon(SNAME("StatusSuccess")));
} }
item->add_button(1, get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); item->add_button(1, get_editor_theme_icon(SNAME("Folder")));
} }
} else { } else {
item->set_text(2, TTR("No import ID")); item->set_text(2, TTR("No import ID"));
item->set_tooltip_text(2, TTR("Mesh has no name nor any other way to identify on re-import.\nPlease name it or ensure it is exported with an unique ID.")); item->set_tooltip_text(2, TTR("Mesh has no name nor any other way to identify on re-import.\nPlease name it or ensure it is exported with an unique ID."));
item->set_icon(2, get_theme_icon(SNAME("StatusError"), SNAME("EditorIcons"))); item->set_icon(2, get_editor_theme_icon(SNAME("StatusError")));
} }
save_path_items.push_back(item); save_path_items.push_back(item);
@ -1337,7 +1338,7 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
String name = ad.scene_node->get_text(0); String name = ad.scene_node->get_text(0);
item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK); item->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
item->set_icon(0, get_theme_icon(SNAME("Animation"), SNAME("EditorIcons"))); item->set_icon(0, get_editor_theme_icon(SNAME("Animation")));
item->set_text(0, name); item->set_text(0, name);
if (ad.settings.has("save_to_file/enabled") && bool(ad.settings["save_to_file/enabled"])) { if (ad.settings.has("save_to_file/enabled") && bool(ad.settings["save_to_file/enabled"])) {
@ -1358,14 +1359,14 @@ void SceneImportSettings::_save_dir_callback(const String &p_path) {
if (FileAccess::exists(path)) { if (FileAccess::exists(path)) {
item->set_text(2, TTR("Warning: File exists")); item->set_text(2, TTR("Warning: File exists"));
item->set_tooltip_text(2, TTR("Existing file with the same name will be replaced on import.")); item->set_tooltip_text(2, TTR("Existing file with the same name will be replaced on import."));
item->set_icon(2, get_theme_icon(SNAME("StatusWarning"), SNAME("EditorIcons"))); item->set_icon(2, get_editor_theme_icon(SNAME("StatusWarning")));
} else { } else {
item->set_text(2, TTR("Will save to new file")); item->set_text(2, TTR("Will save to new file"));
item->set_icon(2, get_theme_icon(SNAME("StatusSuccess"), SNAME("EditorIcons"))); item->set_icon(2, get_editor_theme_icon(SNAME("StatusSuccess")));
} }
item->add_button(1, get_theme_icon(SNAME("Folder"), SNAME("EditorIcons"))); item->add_button(1, get_editor_theme_icon(SNAME("Folder")));
} }
save_path_items.push_back(item); save_path_items.push_back(item);

View File

@ -35,6 +35,7 @@
#include "editor/editor_resource_preview.h" #include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
class ImportDockParameters : public Object { class ImportDockParameters : public Object {
@ -654,7 +655,7 @@ void ImportDock::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
import_opts->edit(params); import_opts->edit(params);
label_warning->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); label_warning->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} break; } break;
} }
} }
@ -667,7 +668,7 @@ void ImportDock::_set_dirty(bool p_dirty) {
if (p_dirty) { if (p_dirty) {
// Add a dirty marker to notify the user that they should reimport the selected resource to see changes. // Add a dirty marker to notify the user that they should reimport the selected resource to see changes.
import->set_text(TTR("Reimport") + " (*)"); import->set_text(TTR("Reimport") + " (*)");
import->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); import->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
import->set_tooltip_text(TTR("You have pending changes that haven't been applied yet. Click Reimport to apply changes made to the import options.\nSelecting another resource in the FileSystem dock without clicking Reimport first will discard changes made in the Import dock.")); import->set_tooltip_text(TTR("You have pending changes that haven't been applied yet. Click Reimport to apply changes made to the import options.\nSelecting another resource in the FileSystem dock without clicking Reimport first will discard changes made in the Import dock."));
} else { } else {
// Remove the dirty marker on the Reimport button. // Remove the dirty marker on the Reimport button.

View File

@ -31,6 +31,7 @@
#include "editor/input_event_configuration_dialog.h" #include "editor/input_event_configuration_dialog.h"
#include "core/input/input_map.h" #include "core/input/input_map.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "editor/event_listener_line_edit.h" #include "editor/event_listener_line_edit.h"
#include "scene/gui/check_box.h" #include "scene/gui/check_box.h"
#include "scene/gui/line_edit.h" #include "scene/gui/line_edit.h"
@ -554,18 +555,18 @@ void InputEventConfigurationDialog::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
input_list_search->set_right_icon(input_list_search->get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); input_list_search->set_right_icon(input_list_search->get_editor_theme_icon(SNAME("Search")));
key_mode->set_item_icon(KEYMODE_KEYCODE, get_theme_icon(SNAME("Keyboard"), SNAME("EditorIcons"))); key_mode->set_item_icon(KEYMODE_KEYCODE, get_editor_theme_icon(SNAME("Keyboard")));
key_mode->set_item_icon(KEYMODE_PHY_KEYCODE, get_theme_icon(SNAME("KeyboardPhysical"), SNAME("EditorIcons"))); key_mode->set_item_icon(KEYMODE_PHY_KEYCODE, get_editor_theme_icon(SNAME("KeyboardPhysical")));
key_mode->set_item_icon(KEYMODE_UNICODE, get_theme_icon(SNAME("KeyboardLabel"), SNAME("EditorIcons"))); key_mode->set_item_icon(KEYMODE_UNICODE, get_editor_theme_icon(SNAME("KeyboardLabel")));
icon_cache.keyboard = get_theme_icon(SNAME("Keyboard"), SNAME("EditorIcons")); icon_cache.keyboard = get_editor_theme_icon(SNAME("Keyboard"));
icon_cache.mouse = get_theme_icon(SNAME("Mouse"), SNAME("EditorIcons")); icon_cache.mouse = get_editor_theme_icon(SNAME("Mouse"));
icon_cache.joypad_button = get_theme_icon(SNAME("JoyButton"), SNAME("EditorIcons")); icon_cache.joypad_button = get_editor_theme_icon(SNAME("JoyButton"));
icon_cache.joypad_axis = get_theme_icon(SNAME("JoyAxis"), SNAME("EditorIcons")); icon_cache.joypad_axis = get_editor_theme_icon(SNAME("JoyAxis"));
event_as_text->add_theme_font_override("font", get_theme_font(SNAME("bold"), SNAME("EditorFonts"))); event_as_text->add_theme_font_override("font", get_theme_font(SNAME("bold"), EditorStringName(EditorFonts)));
_update_input_list(); _update_input_list();
} break; } break;

View File

@ -33,6 +33,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/filesystem_dock.h" #include "editor/filesystem_dock.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
@ -424,33 +425,33 @@ void InspectorDock::_notification(int p_what) {
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_TRANSLATION_CHANGED: case NOTIFICATION_TRANSLATION_CHANGED:
case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: { case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: {
resource_new_button->set_icon(get_theme_icon(SNAME("New"), SNAME("EditorIcons"))); resource_new_button->set_icon(get_editor_theme_icon(SNAME("New")));
resource_load_button->set_icon(get_theme_icon(SNAME("Load"), SNAME("EditorIcons"))); resource_load_button->set_icon(get_editor_theme_icon(SNAME("Load")));
resource_save_button->set_icon(get_theme_icon(SNAME("Save"), SNAME("EditorIcons"))); resource_save_button->set_icon(get_editor_theme_icon(SNAME("Save")));
resource_extra_button->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); resource_extra_button->set_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
open_docs_button->set_icon(get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons"))); open_docs_button->set_icon(get_editor_theme_icon(SNAME("HelpSearch")));
PopupMenu *resource_extra_popup = resource_extra_button->get_popup(); PopupMenu *resource_extra_popup = resource_extra_button->get_popup();
resource_extra_popup->set_item_icon(resource_extra_popup->get_item_index(RESOURCE_EDIT_CLIPBOARD), get_theme_icon(SNAME("ActionPaste"), SNAME("EditorIcons"))); resource_extra_popup->set_item_icon(resource_extra_popup->get_item_index(RESOURCE_EDIT_CLIPBOARD), get_editor_theme_icon(SNAME("ActionPaste")));
resource_extra_popup->set_item_icon(resource_extra_popup->get_item_index(RESOURCE_COPY), get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons"))); resource_extra_popup->set_item_icon(resource_extra_popup->get_item_index(RESOURCE_COPY), get_editor_theme_icon(SNAME("ActionCopy")));
if (is_layout_rtl()) { if (is_layout_rtl()) {
backward_button->set_icon(get_theme_icon(SNAME("Forward"), SNAME("EditorIcons"))); backward_button->set_icon(get_editor_theme_icon(SNAME("Forward")));
forward_button->set_icon(get_theme_icon(SNAME("Back"), SNAME("EditorIcons"))); forward_button->set_icon(get_editor_theme_icon(SNAME("Back")));
} else { } else {
backward_button->set_icon(get_theme_icon(SNAME("Back"), SNAME("EditorIcons"))); backward_button->set_icon(get_editor_theme_icon(SNAME("Back")));
forward_button->set_icon(get_theme_icon(SNAME("Forward"), SNAME("EditorIcons"))); forward_button->set_icon(get_editor_theme_icon(SNAME("Forward")));
} }
history_menu->set_icon(get_theme_icon(SNAME("History"), SNAME("EditorIcons"))); history_menu->set_icon(get_editor_theme_icon(SNAME("History")));
object_menu->set_icon(get_theme_icon(SNAME("Tools"), SNAME("EditorIcons"))); object_menu->set_icon(get_editor_theme_icon(SNAME("Tools")));
search->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); search->set_right_icon(get_editor_theme_icon(SNAME("Search")));
if (info_is_warning) { if (info_is_warning) {
info->set_icon(get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons"))); info->set_icon(get_editor_theme_icon(SNAME("NodeWarning")));
info->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); info->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} else { } else {
info->set_icon(get_theme_icon(SNAME("NodeInfo"), SNAME("EditorIcons"))); info->set_icon(get_editor_theme_icon(SNAME("NodeInfo")));
info->add_theme_color_override("font_color", get_theme_color(SNAME("font_color"), SNAME("Editor"))); info->add_theme_color_override("font_color", get_theme_color(SNAME("font_color"), EditorStringName(Editor)));
} }
} break; } break;
} }
@ -485,11 +486,11 @@ void InspectorDock::set_info(const String &p_button_text, const String &p_messag
info_is_warning = p_is_warning; info_is_warning = p_is_warning;
if (info_is_warning) { if (info_is_warning) {
info->set_icon(get_theme_icon(SNAME("NodeWarning"), SNAME("EditorIcons"))); info->set_icon(get_editor_theme_icon(SNAME("NodeWarning")));
info->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); info->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} else { } else {
info->set_icon(get_theme_icon(SNAME("NodeInfo"), SNAME("EditorIcons"))); info->set_icon(get_editor_theme_icon(SNAME("NodeInfo")));
info->add_theme_color_override("font_color", get_theme_color(SNAME("font_color"), SNAME("Editor"))); info->add_theme_color_override("font_color", get_theme_color(SNAME("font_color"), EditorStringName(Editor)));
} }
if (!p_button_text.is_empty() && !p_message.is_empty()) { if (!p_button_text.is_empty() && !p_message.is_empty()) {
@ -540,8 +541,8 @@ void InspectorDock::update(Object *p_object) {
PopupMenu *p = object_menu->get_popup(); PopupMenu *p = object_menu->get_popup();
p->clear(); p->clear();
p->add_icon_shortcut(get_theme_icon(SNAME("GuiTreeArrowDown"), SNAME("EditorIcons")), ED_SHORTCUT("property_editor/expand_all", TTR("Expand All")), EXPAND_ALL); p->add_icon_shortcut(get_editor_theme_icon(SNAME("GuiTreeArrowDown")), ED_SHORTCUT("property_editor/expand_all", TTR("Expand All")), EXPAND_ALL);
p->add_icon_shortcut(get_theme_icon(SNAME("GuiTreeArrowRight"), SNAME("EditorIcons")), ED_SHORTCUT("property_editor/collapse_all", TTR("Collapse All")), COLLAPSE_ALL); p->add_icon_shortcut(get_editor_theme_icon(SNAME("GuiTreeArrowRight")), ED_SHORTCUT("property_editor/collapse_all", TTR("Collapse All")), COLLAPSE_ALL);
// Calling it 'revertable' internally, because that's what the implementation is based on, but labeling it as 'non-default' because that's more user friendly, even if not 100% accurate. // Calling it 'revertable' internally, because that's what the implementation is based on, but labeling it as 'non-default' because that's more user friendly, even if not 100% accurate.
p->add_shortcut(ED_SHORTCUT("property_editor/expand_revertable", TTR("Expand Non-Default")), EXPAND_REVERTABLE); p->add_shortcut(ED_SHORTCUT("property_editor/expand_revertable", TTR("Expand Non-Default")), EXPAND_REVERTABLE);

View File

@ -497,7 +497,7 @@ void LocalizationEditor::update_translations() {
t->set_text(0, translations[i].replace_first("res://", "")); t->set_text(0, translations[i].replace_first("res://", ""));
t->set_tooltip_text(0, translations[i]); t->set_tooltip_text(0, translations[i]);
t->set_metadata(0, i); t->set_metadata(0, i);
t->add_button(0, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), 0, false, TTR("Remove")); t->add_button(0, get_editor_theme_icon(SNAME("Remove")), 0, false, TTR("Remove"));
} }
} }
@ -531,7 +531,7 @@ void LocalizationEditor::update_translations() {
t->set_text(0, keys[i].replace_first("res://", "")); t->set_text(0, keys[i].replace_first("res://", ""));
t->set_tooltip_text(0, keys[i]); t->set_tooltip_text(0, keys[i]);
t->set_metadata(0, keys[i]); t->set_metadata(0, keys[i]);
t->add_button(0, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), 0, false, TTR("Remove")); t->add_button(0, get_editor_theme_icon(SNAME("Remove")), 0, false, TTR("Remove"));
// Display that it has been removed if this is the case. // Display that it has been removed if this is the case.
if (!FileAccess::exists(keys[i])) { if (!FileAccess::exists(keys[i])) {
@ -555,7 +555,7 @@ void LocalizationEditor::update_translations() {
t2->set_text(0, path.replace_first("res://", "")); t2->set_text(0, path.replace_first("res://", ""));
t2->set_tooltip_text(0, path); t2->set_tooltip_text(0, path);
t2->set_metadata(0, j); t2->set_metadata(0, j);
t2->add_button(0, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), 0, false, TTR("Remove")); t2->add_button(0, get_editor_theme_icon(SNAME("Remove")), 0, false, TTR("Remove"));
t2->set_cell_mode(1, TreeItem::CELL_MODE_CUSTOM); t2->set_cell_mode(1, TreeItem::CELL_MODE_CUSTOM);
t2->set_text(1, TranslationServer::get_singleton()->get_locale_name(locale)); t2->set_text(1, TranslationServer::get_singleton()->get_locale_name(locale));
t2->set_editable(1, true); t2->set_editable(1, true);
@ -583,7 +583,7 @@ void LocalizationEditor::update_translations() {
t->set_text(0, pot_translations[i].replace_first("res://", "")); t->set_text(0, pot_translations[i].replace_first("res://", ""));
t->set_tooltip_text(0, pot_translations[i]); t->set_tooltip_text(0, pot_translations[i]);
t->set_metadata(0, i); t->set_metadata(0, i);
t->add_button(0, get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")), 0, false, TTR("Remove")); t->add_button(0, get_editor_theme_icon(SNAME("Remove")), 0, false, TTR("Remove"));
} }
// New translation parser plugin might extend possible file extensions in POT generation. // New translation parser plugin might extend possible file extensions in POT generation.

View File

@ -55,8 +55,8 @@ void NodeDock::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
connections_button->set_icon(get_theme_icon(SNAME("Signals"), SNAME("EditorIcons"))); connections_button->set_icon(get_editor_theme_icon(SNAME("Signals")));
groups_button->set_icon(get_theme_icon(SNAME("Groups"), SNAME("EditorIcons"))); groups_button->set_icon(get_editor_theme_icon(SNAME("Groups")));
} break; } break;
} }
} }

View File

@ -36,6 +36,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "scene/gui/button.h" #include "scene/gui/button.h"
#include "scene/gui/dialogs.h" #include "scene/gui/dialogs.h"
@ -157,9 +158,9 @@ void AbstractPolygon2DEditor::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
button_create->set_icon(get_theme_icon(SNAME("CurveCreate"), SNAME("EditorIcons"))); button_create->set_icon(get_editor_theme_icon(SNAME("CurveCreate")));
button_edit->set_icon(get_theme_icon(SNAME("CurveEdit"), SNAME("EditorIcons"))); button_edit->set_icon(get_editor_theme_icon(SNAME("CurveEdit")));
button_delete->set_icon(get_theme_icon(SNAME("CurveDelete"), SNAME("EditorIcons"))); button_delete->set_icon(get_editor_theme_icon(SNAME("CurveDelete")));
} break; } break;
case NOTIFICATION_READY: { case NOTIFICATION_READY: {
@ -498,7 +499,7 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_global_transform(); Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_global_transform();
// All polygon points are sharp, so use the sharp handle icon // All polygon points are sharp, so use the sharp handle icon
const Ref<Texture2D> handle = get_theme_icon(SNAME("EditorPathSharpHandle"), SNAME("EditorIcons")); const Ref<Texture2D> handle = get_editor_theme_icon(SNAME("EditorPathSharpHandle"));
const Vertex active_point = get_active_point(); const Vertex active_point = get_active_point();
const int n_polygons = _get_polygon_count(); const int n_polygons = _get_polygon_count();
@ -571,12 +572,12 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
p_overlay->draw_texture(handle, point - handle->get_size() * 0.5, overlay_modulate); p_overlay->draw_texture(handle, point - handle->get_size() * 0.5, overlay_modulate);
if (vertex == hover_point) { if (vertex == hover_point) {
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
String num = String::num(vertex.vertex); String num = String::num(vertex.vertex);
Size2 num_size = font->get_string_size(num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size); Size2 num_size = font->get_string_size(num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
const float outline_size = 4; const float outline_size = 4;
Color font_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); Color font_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
Color outline_color = font_color.inverted(); Color outline_color = font_color.inverted();
p_overlay->draw_string_outline(font, point - num_size * 0.5, num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color); p_overlay->draw_string_outline(font, point - num_size * 0.5, num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
p_overlay->draw_string(font, point - num_size * 0.5, num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color); p_overlay->draw_string(font, point - num_size * 0.5, num, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color);
@ -585,7 +586,7 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
} }
if (edge_point.valid()) { if (edge_point.valid()) {
Ref<Texture2D> add_handle = get_theme_icon(SNAME("EditorHandleAdd"), SNAME("EditorIcons")); Ref<Texture2D> add_handle = get_editor_theme_icon(SNAME("EditorHandleAdd"));
p_overlay->draw_texture(add_handle, edge_point.pos - add_handle->get_size() * 0.5); p_overlay->draw_texture(add_handle, edge_point.pos - add_handle->get_size() * 0.5);
} }
} }

View File

@ -34,6 +34,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "scene/animation/animation_blend_tree.h" #include "scene/animation/animation_blend_tree.h"
@ -85,7 +86,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
ap->get_animation_list(&names); ap->get_animation_list(&names);
for (const StringName &E : names) { for (const StringName &E : names) {
animations_menu->add_icon_item(get_theme_icon(SNAME("Animation"), SNAME("EditorIcons")), E); animations_menu->add_icon_item(get_editor_theme_icon(SNAME("Animation")), E);
animations_to_add.push_back(E); animations_to_add.push_back(E);
} }
} }
@ -224,13 +225,13 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
Ref<Texture2D> icon = get_theme_icon(SNAME("KeyValue"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("KeyValue"));
Ref<Texture2D> icon_selected = get_theme_icon(SNAME("KeySelected"), SNAME("EditorIcons")); Ref<Texture2D> icon_selected = get_editor_theme_icon(SNAME("KeySelected"));
Size2 s = blend_space_draw->get_size(); Size2 s = blend_space_draw->get_size();
if (blend_space_draw->has_focus()) { if (blend_space_draw->has_focus()) {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
blend_space_draw->draw_rect(Rect2(Point2(), s), color, false); blend_space_draw->draw_rect(Rect2(Point2(), s), color, false);
} }
@ -303,7 +304,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
{ {
Color color; Color color;
if (tool_blend->is_pressed()) { if (tool_blend->is_pressed()) {
color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
} else { } else {
color = linecolor; color = linecolor;
color.a *= 0.5; color.a *= 0.5;
@ -575,18 +576,18 @@ void AnimationNodeBlendSpace1DEditor::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
tool_blend->set_icon(get_theme_icon(SNAME("EditPivot"), SNAME("EditorIcons"))); tool_blend->set_icon(get_editor_theme_icon(SNAME("EditPivot")));
tool_select->set_icon(get_theme_icon(SNAME("ToolSelect"), SNAME("EditorIcons"))); tool_select->set_icon(get_editor_theme_icon(SNAME("ToolSelect")));
tool_create->set_icon(get_theme_icon(SNAME("EditKey"), SNAME("EditorIcons"))); tool_create->set_icon(get_editor_theme_icon(SNAME("EditKey")));
tool_erase->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); tool_erase->set_icon(get_editor_theme_icon(SNAME("Remove")));
snap->set_icon(get_theme_icon(SNAME("SnapGrid"), SNAME("EditorIcons"))); snap->set_icon(get_editor_theme_icon(SNAME("SnapGrid")));
open_editor->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); open_editor->set_icon(get_editor_theme_icon(SNAME("Edit")));
interpolation->clear(); interpolation->clear();
interpolation->add_icon_item(get_theme_icon(SNAME("TrackContinuous"), SNAME("EditorIcons")), "", 0); interpolation->add_icon_item(get_editor_theme_icon(SNAME("TrackContinuous")), "", 0);
interpolation->add_icon_item(get_theme_icon(SNAME("TrackDiscrete"), SNAME("EditorIcons")), "", 1); interpolation->add_icon_item(get_editor_theme_icon(SNAME("TrackDiscrete")), "", 1);
interpolation->add_icon_item(get_theme_icon(SNAME("TrackCapture"), SNAME("EditorIcons")), "", 2); interpolation->add_icon_item(get_editor_theme_icon(SNAME("TrackCapture")), "", 2);
} break; } break;
case NOTIFICATION_PROCESS: { case NOTIFICATION_PROCESS: {

View File

@ -38,6 +38,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "scene/animation/animation_blend_tree.h" #include "scene/animation/animation_blend_tree.h"
@ -128,7 +129,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
List<StringName> names; List<StringName> names;
ap->get_animation_list(&names); ap->get_animation_list(&names);
for (const StringName &E : names) { for (const StringName &E : names) {
animations_menu->add_icon_item(get_theme_icon(SNAME("Animation"), SNAME("EditorIcons")), E); animations_menu->add_icon_item(get_editor_theme_icon(SNAME("Animation")), E);
animations_to_add.push_back(E); animations_to_add.push_back(E);
} }
} }
@ -450,13 +451,13 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
linecolor_soft.a *= 0.5; linecolor_soft.a *= 0.5;
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
Ref<Texture2D> icon = get_theme_icon(SNAME("KeyValue"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("KeyValue"));
Ref<Texture2D> icon_selected = get_theme_icon(SNAME("KeySelected"), SNAME("EditorIcons")); Ref<Texture2D> icon_selected = get_editor_theme_icon(SNAME("KeySelected"));
Size2 s = blend_space_draw->get_size(); Size2 s = blend_space_draw->get_size();
if (blend_space_draw->has_focus()) { if (blend_space_draw->has_focus()) {
Color color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
blend_space_draw->draw_rect(Rect2(Point2(), s), color, false); blend_space_draw->draw_rect(Rect2(Point2(), s), color, false);
} }
blend_space_draw->draw_line(Point2(1, 0), Point2(1, s.height - 1), linecolor, Math::round(EDSCALE)); blend_space_draw->draw_line(Point2(1, 0), Point2(1, s.height - 1), linecolor, Math::round(EDSCALE));
@ -535,7 +536,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
Color color; Color color;
if (i == selected_triangle) { if (i == selected_triangle) {
color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
color.a *= 0.5; color.a *= 0.5;
} else { } else {
color = linecolor; color = linecolor;
@ -597,7 +598,7 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
{ {
Color color; Color color;
if (tool_blend->is_pressed()) { if (tool_blend->is_pressed()) {
color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
} else { } else {
color = linecolor; color = linecolor;
color.a *= 0.5; color.a *= 0.5;
@ -796,20 +797,20 @@ void AnimationNodeBlendSpace2DEditor::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
tool_blend->set_icon(get_theme_icon(SNAME("EditPivot"), SNAME("EditorIcons"))); tool_blend->set_icon(get_editor_theme_icon(SNAME("EditPivot")));
tool_select->set_icon(get_theme_icon(SNAME("ToolSelect"), SNAME("EditorIcons"))); tool_select->set_icon(get_editor_theme_icon(SNAME("ToolSelect")));
tool_create->set_icon(get_theme_icon(SNAME("EditKey"), SNAME("EditorIcons"))); tool_create->set_icon(get_editor_theme_icon(SNAME("EditKey")));
tool_triangle->set_icon(get_theme_icon(SNAME("ToolTriangle"), SNAME("EditorIcons"))); tool_triangle->set_icon(get_editor_theme_icon(SNAME("ToolTriangle")));
tool_erase->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); tool_erase->set_icon(get_editor_theme_icon(SNAME("Remove")));
snap->set_icon(get_theme_icon(SNAME("SnapGrid"), SNAME("EditorIcons"))); snap->set_icon(get_editor_theme_icon(SNAME("SnapGrid")));
open_editor->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); open_editor->set_icon(get_editor_theme_icon(SNAME("Edit")));
auto_triangles->set_icon(get_theme_icon(SNAME("AutoTriangle"), SNAME("EditorIcons"))); auto_triangles->set_icon(get_editor_theme_icon(SNAME("AutoTriangle")));
interpolation->clear(); interpolation->clear();
interpolation->add_icon_item(get_theme_icon(SNAME("TrackContinuous"), SNAME("EditorIcons")), "", 0); interpolation->add_icon_item(get_editor_theme_icon(SNAME("TrackContinuous")), "", 0);
interpolation->add_icon_item(get_theme_icon(SNAME("TrackDiscrete"), SNAME("EditorIcons")), "", 1); interpolation->add_icon_item(get_editor_theme_icon(SNAME("TrackDiscrete")), "", 1);
interpolation->add_icon_item(get_theme_icon(SNAME("TrackCapture"), SNAME("EditorIcons")), "", 2); interpolation->add_icon_item(get_editor_theme_icon(SNAME("TrackCapture")), "", 2);
} break; } break;
case NOTIFICATION_PROCESS: { case NOTIFICATION_PROCESS: {

View File

@ -38,6 +38,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "scene/animation/animation_player.h" #include "scene/animation/animation_player.h"
@ -204,7 +205,7 @@ void AnimationNodeBlendTreeEditor::update_graph() {
node->add_child(memnew(HSeparator)); node->add_child(memnew(HSeparator));
Button *open_in_editor = memnew(Button); Button *open_in_editor = memnew(Button);
open_in_editor->set_text(TTR("Open Editor")); open_in_editor->set_text(TTR("Open Editor"));
open_in_editor->set_icon(get_theme_icon(SNAME("Edit"), SNAME("EditorIcons"))); open_in_editor->set_icon(get_editor_theme_icon(SNAME("Edit")));
node->add_child(open_in_editor); node->add_child(open_in_editor);
open_in_editor->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_open_in_editor).bind(E), CONNECT_DEFERRED); open_in_editor->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_open_in_editor).bind(E), CONNECT_DEFERRED);
open_in_editor->set_h_size_flags(SIZE_SHRINK_CENTER); open_in_editor->set_h_size_flags(SIZE_SHRINK_CENTER);
@ -218,7 +219,7 @@ void AnimationNodeBlendTreeEditor::update_graph() {
} else { } else {
inspect_filters->set_text(TTR("Edit Filters")); inspect_filters->set_text(TTR("Edit Filters"));
} }
inspect_filters->set_icon(get_theme_icon(SNAME("AnimationFilter"), SNAME("EditorIcons"))); inspect_filters->set_icon(get_editor_theme_icon(SNAME("AnimationFilter")));
node->add_child(inspect_filters); node->add_child(inspect_filters);
inspect_filters->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_inspect_filters).bind(E), CONNECT_DEFERRED); inspect_filters->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_inspect_filters).bind(E), CONNECT_DEFERRED);
inspect_filters->set_h_size_flags(SIZE_SHRINK_CENTER); inspect_filters->set_h_size_flags(SIZE_SHRINK_CENTER);
@ -228,7 +229,7 @@ void AnimationNodeBlendTreeEditor::update_graph() {
if (anim.is_valid()) { if (anim.is_valid()) {
MenuButton *mb = memnew(MenuButton); MenuButton *mb = memnew(MenuButton);
mb->set_text(anim->get_animation()); mb->set_text(anim->get_animation());
mb->set_icon(get_theme_icon(SNAME("Animation"), SNAME("EditorIcons"))); mb->set_icon(get_editor_theme_icon(SNAME("Animation")));
mb->set_disabled(read_only); mb->set_disabled(read_only);
Array options; Array options;
@ -747,7 +748,7 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
ti->set_text(0, F->get()); ti->set_text(0, F->get());
ti->set_selectable(0, false); ti->set_selectable(0, false);
ti->set_editable(0, false); ti->set_editable(0, false);
ti->set_icon(0, get_theme_icon(SNAME("BoneAttachment3D"), SNAME("EditorIcons"))); ti->set_icon(0, get_editor_theme_icon(SNAME("BoneAttachment3D")));
} else { } else {
ti = parenthood[accum]; ti = parenthood[accum];
} }
@ -758,7 +759,7 @@ bool AnimationNodeBlendTreeEditor::_update_filters(const Ref<AnimationNode> &ano
ti->set_cell_mode(0, TreeItem::CELL_MODE_CHECK); ti->set_cell_mode(0, TreeItem::CELL_MODE_CHECK);
ti->set_text(0, concat); ti->set_text(0, concat);
ti->set_checked(0, anode->is_path_filtered(path)); ti->set_checked(0, anode->is_path_filtered(path));
ti->set_icon(0, get_theme_icon(SNAME("BoneAttachment3D"), SNAME("EditorIcons"))); ti->set_icon(0, get_editor_theme_icon(SNAME("BoneAttachment3D")));
ti->set_metadata(0, path); ti->set_metadata(0, path);
} else { } else {
@ -828,7 +829,7 @@ void AnimationNodeBlendTreeEditor::_update_editor_settings() {
void AnimationNodeBlendTreeEditor::_update_theme() { void AnimationNodeBlendTreeEditor::_update_theme() {
error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} }
void AnimationNodeBlendTreeEditor::_notification(int p_what) { void AnimationNodeBlendTreeEditor::_notification(int p_what) {

View File

@ -32,6 +32,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
@ -73,7 +74,7 @@ void AnimationLibraryEditor::_add_library_validate(const String &p_name) {
} }
if (error != "") { if (error != "") {
add_library_validate->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); add_library_validate->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
add_library_validate->set_text(error); add_library_validate->set_text(error);
add_library_dialog->get_ok_button()->set_disabled(true); add_library_dialog->get_ok_button()->set_disabled(true);
} else { } else {
@ -86,7 +87,7 @@ void AnimationLibraryEditor::_add_library_validate(const String &p_name) {
add_library_validate->set_text(TTR("Library name is valid.")); add_library_validate->set_text(TTR("Library name is valid."));
} }
} }
add_library_validate->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), SNAME("Editor"))); add_library_validate->add_theme_color_override("font_color", get_theme_color(SNAME("success_color"), EditorStringName(Editor)));
add_library_dialog->get_ok_button()->set_disabled(false); add_library_dialog->get_ok_button()->set_disabled(false);
} }
} }
@ -622,7 +623,7 @@ void AnimationLibraryEditor::update_tree() {
tree->clear(); tree->clear();
ERR_FAIL_COND(!player); ERR_FAIL_COND(!player);
Color ss_color = get_theme_color(SNAME("prop_subsection"), SNAME("Editor")); Color ss_color = get_theme_color(SNAME("prop_subsection"), EditorStringName(Editor));
TreeItem *root = tree->create_item(); TreeItem *root = tree->create_item();
TypedArray<StringName> libs = player->call("get_animation_library_list"); TypedArray<StringName> libs = player->call("get_animation_library_list");
@ -669,14 +670,14 @@ void AnimationLibraryEditor::update_tree() {
libitem->set_editable(0, !animation_library_is_foreign); libitem->set_editable(0, !animation_library_is_foreign);
libitem->set_metadata(0, K); libitem->set_metadata(0, K);
libitem->set_icon(0, get_theme_icon("AnimationLibrary", "EditorIcons")); libitem->set_icon(0, get_editor_theme_icon("AnimationLibrary"));
libitem->add_button(0, get_theme_icon("Add", "EditorIcons"), LIB_BUTTON_ADD, animation_library_is_foreign, TTR("Add Animation to Library")); libitem->add_button(0, get_editor_theme_icon("Add"), LIB_BUTTON_ADD, animation_library_is_foreign, TTR("Add Animation to Library"));
libitem->add_button(0, get_theme_icon("Load", "EditorIcons"), LIB_BUTTON_LOAD, animation_library_is_foreign, TTR("Load animation from file and add to library")); libitem->add_button(0, get_editor_theme_icon("Load"), LIB_BUTTON_LOAD, animation_library_is_foreign, TTR("Load animation from file and add to library"));
libitem->add_button(0, get_theme_icon("ActionPaste", "EditorIcons"), LIB_BUTTON_PASTE, animation_library_is_foreign, TTR("Paste Animation to Library from clipboard")); libitem->add_button(0, get_editor_theme_icon("ActionPaste"), LIB_BUTTON_PASTE, animation_library_is_foreign, TTR("Paste Animation to Library from clipboard"));
libitem->add_button(1, get_theme_icon("Save", "EditorIcons"), LIB_BUTTON_FILE, false, TTR("Save animation library to resource on disk")); libitem->add_button(1, get_editor_theme_icon("Save"), LIB_BUTTON_FILE, false, TTR("Save animation library to resource on disk"));
libitem->add_button(1, get_theme_icon("Remove", "EditorIcons"), LIB_BUTTON_DELETE, false, TTR("Remove animation library")); libitem->add_button(1, get_editor_theme_icon("Remove"), LIB_BUTTON_DELETE, false, TTR("Remove animation library"));
libitem->set_custom_bg_color(0, ss_color); libitem->set_custom_bg_color(0, ss_color);
@ -687,8 +688,8 @@ void AnimationLibraryEditor::update_tree() {
anitem->set_text(0, L); anitem->set_text(0, L);
anitem->set_editable(0, !animation_library_is_foreign); anitem->set_editable(0, !animation_library_is_foreign);
anitem->set_metadata(0, L); anitem->set_metadata(0, L);
anitem->set_icon(0, get_theme_icon("Animation", "EditorIcons")); anitem->set_icon(0, get_editor_theme_icon("Animation"));
anitem->add_button(0, get_theme_icon("ActionCopy", "EditorIcons"), ANIM_BUTTON_COPY, animation_library_is_foreign, TTR("Copy animation to clipboard")); anitem->add_button(0, get_editor_theme_icon("ActionCopy"), ANIM_BUTTON_COPY, animation_library_is_foreign, TTR("Copy animation to clipboard"));
Ref<Animation> anim = al->get_animation(L); Ref<Animation> anim = al->get_animation(L);
String anim_path = anim->get_path(); String anim_path = anim->get_path();
@ -715,8 +716,8 @@ void AnimationLibraryEditor::update_tree() {
anitem->set_text(1, anim_path.get_file()); anitem->set_text(1, anim_path.get_file());
} }
} }
anitem->add_button(1, get_theme_icon("Save", "EditorIcons"), ANIM_BUTTON_FILE, animation_library_is_foreign, TTR("Save animation to resource on disk")); anitem->add_button(1, get_editor_theme_icon("Save"), ANIM_BUTTON_FILE, animation_library_is_foreign, TTR("Save animation to resource on disk"));
anitem->add_button(1, get_theme_icon("Remove", "EditorIcons"), ANIM_BUTTON_DELETE, animation_library_is_foreign, TTR("Remove animation from Library")); anitem->add_button(1, get_editor_theme_icon("Remove"), ANIM_BUTTON_DELETE, animation_library_is_foreign, TTR("Remove animation from Library"));
} }
} }
} }

View File

@ -121,22 +121,22 @@ void AnimationPlayerEditor::_notification(int p_what) {
case NOTIFICATION_TRANSLATION_CHANGED: case NOTIFICATION_TRANSLATION_CHANGED:
case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: case NOTIFICATION_LAYOUT_DIRECTION_CHANGED:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
stop_icon = get_theme_icon(SNAME("Stop"), SNAME("EditorIcons")); stop_icon = get_editor_theme_icon(SNAME("Stop"));
pause_icon = get_theme_icon(SNAME("Pause"), SNAME("EditorIcons")); pause_icon = get_editor_theme_icon(SNAME("Pause"));
if (player && player->is_playing()) { if (player && player->is_playing()) {
stop->set_icon(pause_icon); stop->set_icon(pause_icon);
} else { } else {
stop->set_icon(stop_icon); stop->set_icon(stop_icon);
} }
autoplay->set_icon(get_theme_icon(SNAME("AutoPlay"), SNAME("EditorIcons"))); autoplay->set_icon(get_editor_theme_icon(SNAME("AutoPlay")));
play->set_icon(get_theme_icon(SNAME("PlayStart"), SNAME("EditorIcons"))); play->set_icon(get_editor_theme_icon(SNAME("PlayStart")));
play_from->set_icon(get_theme_icon(SNAME("Play"), SNAME("EditorIcons"))); play_from->set_icon(get_editor_theme_icon(SNAME("Play")));
play_bw->set_icon(get_theme_icon(SNAME("PlayStartBackwards"), SNAME("EditorIcons"))); play_bw->set_icon(get_editor_theme_icon(SNAME("PlayStartBackwards")));
play_bw_from->set_icon(get_theme_icon(SNAME("PlayBackwards"), SNAME("EditorIcons"))); play_bw_from->set_icon(get_editor_theme_icon(SNAME("PlayBackwards")));
autoplay_icon = get_theme_icon(SNAME("AutoPlay"), SNAME("EditorIcons")); autoplay_icon = get_editor_theme_icon(SNAME("AutoPlay"));
reset_icon = get_theme_icon(SNAME("Reload"), SNAME("EditorIcons")); reset_icon = get_editor_theme_icon(SNAME("Reload"));
{ {
Ref<Image> autoplay_img = autoplay_icon->get_image(); Ref<Image> autoplay_img = autoplay_icon->get_image();
Ref<Image> reset_img = reset_icon->get_image(); Ref<Image> reset_img = reset_icon->get_image();
@ -147,15 +147,15 @@ void AnimationPlayerEditor::_notification(int p_what) {
autoplay_reset_icon = ImageTexture::create_from_image(autoplay_reset_img); autoplay_reset_icon = ImageTexture::create_from_image(autoplay_reset_img);
} }
onion_toggle->set_icon(get_theme_icon(SNAME("Onion"), SNAME("EditorIcons"))); onion_toggle->set_icon(get_editor_theme_icon(SNAME("Onion")));
onion_skinning->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); onion_skinning->set_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
pin->set_icon(get_theme_icon(SNAME("Pin"), SNAME("EditorIcons"))); pin->set_icon(get_editor_theme_icon(SNAME("Pin")));
tool_anim->add_theme_style_override("normal", get_theme_stylebox(SNAME("normal"), SNAME("Button"))); tool_anim->add_theme_style_override("normal", get_theme_stylebox(SNAME("normal"), SNAME("Button")));
track_editor->get_edit_menu()->add_theme_style_override("normal", get_theme_stylebox(SNAME("normal"), SNAME("Button"))); track_editor->get_edit_menu()->add_theme_style_override("normal", get_theme_stylebox(SNAME("normal"), SNAME("Button")));
#define ITEM_ICON(m_item, m_icon) tool_anim->get_popup()->set_item_icon(tool_anim->get_popup()->get_item_index(m_item), get_theme_icon(SNAME(m_icon), SNAME("EditorIcons"))) #define ITEM_ICON(m_item, m_icon) tool_anim->get_popup()->set_item_icon(tool_anim->get_popup()->get_item_index(m_item), get_editor_theme_icon(SNAME(m_icon)))
ITEM_ICON(TOOL_NEW_ANIM, "New"); ITEM_ICON(TOOL_NEW_ANIM, "New");
ITEM_ICON(TOOL_ANIM_LIBRARY, "AnimationLibrary"); ITEM_ICON(TOOL_ANIM_LIBRARY, "AnimationLibrary");

View File

@ -38,6 +38,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "scene/animation/animation_blend_tree.h" #include "scene/animation/animation_blend_tree.h"
@ -554,7 +555,7 @@ void AnimationNodeStateMachineEditor::_open_menu(const Vector2 &p_position) {
List<StringName> names; List<StringName> names;
ap->get_animation_list(&names); ap->get_animation_list(&names);
for (List<StringName>::Element *E = names.front(); E; E = E->next()) { for (List<StringName>::Element *E = names.front(); E; E = E->next()) {
animations_menu->add_icon_item(get_theme_icon("Animation", "EditorIcons"), E->get()); animations_menu->add_icon_item(get_editor_theme_icon("Animation"), E->get());
animations_to_add.push_back(E->get()); animations_to_add.push_back(E->get());
} }
} }
@ -824,7 +825,7 @@ void AnimationNodeStateMachineEditor::_add_transition(const bool p_nested_action
void AnimationNodeStateMachineEditor::_connection_draw(const Vector2 &p_from, const Vector2 &p_to, AnimationNodeStateMachineTransition::SwitchMode p_mode, bool p_enabled, bool p_selected, bool p_travel, float p_fade_ratio, bool p_auto_advance, bool p_is_across_group) { void AnimationNodeStateMachineEditor::_connection_draw(const Vector2 &p_from, const Vector2 &p_to, AnimationNodeStateMachineTransition::SwitchMode p_mode, bool p_enabled, bool p_selected, bool p_travel, float p_fade_ratio, bool p_auto_advance, bool p_is_across_group) {
Color linecolor = get_theme_color(SNAME("font_color"), SNAME("Label")); Color linecolor = get_theme_color(SNAME("font_color"), SNAME("Label"));
Color icon_color(1, 1, 1); Color icon_color(1, 1, 1);
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
if (!p_enabled) { if (!p_enabled) {
linecolor.a *= 0.2; linecolor.a *= 0.2;
@ -833,12 +834,12 @@ void AnimationNodeStateMachineEditor::_connection_draw(const Vector2 &p_from, co
} }
const Ref<Texture2D> icons[] = { const Ref<Texture2D> icons[] = {
get_theme_icon(SNAME("TransitionImmediateBig"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TransitionImmediateBig")),
get_theme_icon(SNAME("TransitionSyncBig"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TransitionSyncBig")),
get_theme_icon(SNAME("TransitionEndBig"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TransitionEndBig")),
get_theme_icon(SNAME("TransitionImmediateAutoBig"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TransitionImmediateAutoBig")),
get_theme_icon(SNAME("TransitionSyncAutoBig"), SNAME("EditorIcons")), get_editor_theme_icon(SNAME("TransitionSyncAutoBig")),
get_theme_icon(SNAME("TransitionEndAutoBig"), SNAME("EditorIcons")) get_editor_theme_icon(SNAME("TransitionEndAutoBig"))
}; };
const int ICON_COUNT = sizeof(icons) / sizeof(*icons); const int ICON_COUNT = sizeof(icons) / sizeof(*icons);
@ -911,9 +912,9 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
Ref<Font> font = get_theme_font(SNAME("title_font"), SNAME("GraphNode")); Ref<Font> font = get_theme_font(SNAME("title_font"), SNAME("GraphNode"));
int font_size = get_theme_font_size(SNAME("title_font_size"), SNAME("GraphNode")); int font_size = get_theme_font_size(SNAME("title_font_size"), SNAME("GraphNode"));
Color font_color = get_theme_color(SNAME("title_color"), SNAME("GraphNode")); Color font_color = get_theme_color(SNAME("title_color"), SNAME("GraphNode"));
Ref<Texture2D> play = get_theme_icon(SNAME("Play"), SNAME("EditorIcons")); Ref<Texture2D> play = get_editor_theme_icon(SNAME("Play"));
Ref<Texture2D> edit = get_theme_icon(SNAME("Edit"), SNAME("EditorIcons")); Ref<Texture2D> edit = get_editor_theme_icon(SNAME("Edit"));
Color accent = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color accent = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
Color linecolor = get_theme_color(SNAME("font_color"), SNAME("Label")); Color linecolor = get_theme_color(SNAME("font_color"), SNAME("Label"));
linecolor.a *= 0.3; linecolor.a *= 0.3;
Ref<StyleBox> playing_overlay = get_theme_stylebox(SNAME("position"), SNAME("GraphNode")); Ref<StyleBox> playing_overlay = get_theme_stylebox(SNAME("position"), SNAME("GraphNode"));
@ -1027,7 +1028,7 @@ void AnimationNodeStateMachineEditor::_state_machine_draw() {
_connection_draw(from, to, AnimationNodeStateMachineTransition::SwitchMode(switch_mode->get_selected()), true, false, false, 0.0, false, false); _connection_draw(from, to, AnimationNodeStateMachineTransition::SwitchMode(switch_mode->get_selected()), true, false, false, 0.0, false, false);
} }
Ref<Texture2D> tr_reference_icon = get_theme_icon(SNAME("TransitionImmediateBig"), SNAME("EditorIcons")); Ref<Texture2D> tr_reference_icon = get_editor_theme_icon(SNAME("TransitionImmediateBig"));
float tr_bidi_offset = int(tr_reference_icon->get_height() * 0.8); float tr_bidi_offset = int(tr_reference_icon->get_height() * 0.8);
//draw transition lines //draw transition lines
@ -1302,25 +1303,25 @@ void AnimationNodeStateMachineEditor::_notification(int p_what) {
case NOTIFICATION_LAYOUT_DIRECTION_CHANGED: case NOTIFICATION_LAYOUT_DIRECTION_CHANGED:
case NOTIFICATION_TRANSLATION_CHANGED: { case NOTIFICATION_TRANSLATION_CHANGED: {
error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); error_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->add_theme_color_override("font_color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
tool_select->set_icon(get_theme_icon(SNAME("ToolSelect"), SNAME("EditorIcons"))); tool_select->set_icon(get_editor_theme_icon(SNAME("ToolSelect")));
tool_create->set_icon(get_theme_icon(SNAME("ToolAddNode"), SNAME("EditorIcons"))); tool_create->set_icon(get_editor_theme_icon(SNAME("ToolAddNode")));
tool_connect->set_icon(get_theme_icon(SNAME("ToolConnect"), SNAME("EditorIcons"))); tool_connect->set_icon(get_editor_theme_icon(SNAME("ToolConnect")));
switch_mode->clear(); switch_mode->clear();
switch_mode->add_icon_item(get_theme_icon(SNAME("TransitionImmediate"), SNAME("EditorIcons")), TTR("Immediate")); switch_mode->add_icon_item(get_editor_theme_icon(SNAME("TransitionImmediate")), TTR("Immediate"));
switch_mode->add_icon_item(get_theme_icon(SNAME("TransitionSync"), SNAME("EditorIcons")), TTR("Sync")); switch_mode->add_icon_item(get_editor_theme_icon(SNAME("TransitionSync")), TTR("Sync"));
switch_mode->add_icon_item(get_theme_icon(SNAME("TransitionEnd"), SNAME("EditorIcons")), TTR("At End")); switch_mode->add_icon_item(get_editor_theme_icon(SNAME("TransitionEnd")), TTR("At End"));
auto_advance->set_icon(get_theme_icon(SNAME("AutoPlay"), SNAME("EditorIcons"))); auto_advance->set_icon(get_editor_theme_icon(SNAME("AutoPlay")));
tool_erase->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); tool_erase->set_icon(get_editor_theme_icon(SNAME("Remove")));
play_mode->clear(); play_mode->clear();
play_mode->add_icon_item(get_theme_icon(SNAME("PlayTravel"), SNAME("EditorIcons")), TTR("Travel")); play_mode->add_icon_item(get_editor_theme_icon(SNAME("PlayTravel")), TTR("Travel"));
play_mode->add_icon_item(get_theme_icon(SNAME("Play"), SNAME("EditorIcons")), TTR("Immediate")); play_mode->add_icon_item(get_editor_theme_icon(SNAME("Play")), TTR("Immediate"));
} break; } break;
case NOTIFICATION_PROCESS: { case NOTIFICATION_PROCESS: {

View File

@ -39,6 +39,7 @@
#include "editor/editor_paths.h" #include "editor/editor_paths.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/gui/editor_file_dialog.h" #include "editor/gui/editor_file_dialog.h"
#include "editor/project_settings_editor.h" #include "editor/project_settings_editor.h"
#include "scene/gui/menu_button.h" #include "scene/gui/menu_button.h"
@ -73,7 +74,7 @@ void EditorAssetLibraryItem::set_image(int p_type, int p_index, const Ref<Textur
void EditorAssetLibraryItem::_notification(int p_what) { void EditorAssetLibraryItem::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
icon->set_texture_normal(get_theme_icon(SNAME("ProjectIconLoading"), SNAME("EditorIcons"))); icon->set_texture_normal(get_editor_theme_icon(SNAME("ProjectIconLoading")));
category->add_theme_color_override("font_color", Color(0.5, 0.5, 0.5)); category->add_theme_color_override("font_color", Color(0.5, 0.5, 0.5));
author->add_theme_color_override("font_color", Color(0.5, 0.5, 0.5)); author->add_theme_color_override("font_color", Color(0.5, 0.5, 0.5));
price->add_theme_color_override("font_color", Color(0.5, 0.5, 0.5)); price->add_theme_color_override("font_color", Color(0.5, 0.5, 0.5));
@ -157,7 +158,7 @@ void EditorAssetLibraryItemDescription::set_image(int p_type, int p_index, const
for (int i = 0; i < preview_images.size(); i++) { for (int i = 0; i < preview_images.size(); i++) {
if (preview_images[i].id == p_index) { if (preview_images[i].id == p_index) {
if (preview_images[i].is_video) { if (preview_images[i].is_video) {
Ref<Image> overlay = previews->get_theme_icon(SNAME("PlayOverlay"), SNAME("EditorIcons"))->get_image(); Ref<Image> overlay = previews->get_editor_theme_icon(SNAME("PlayOverlay"))->get_image();
Ref<Image> thumbnail = p_image->get_image(); Ref<Image> thumbnail = p_image->get_image();
thumbnail = thumbnail->duplicate(); thumbnail = thumbnail->duplicate();
Point2i overlay_pos = Point2i((thumbnail->get_width() - overlay->get_width()) / 2, (thumbnail->get_height() - overlay->get_height()) / 2); Point2i overlay_pos = Point2i((thumbnail->get_width() - overlay->get_width()) / 2, (thumbnail->get_height() - overlay->get_height()) / 2);
@ -251,12 +252,12 @@ void EditorAssetLibraryItemDescription::add_preview(int p_id, bool p_video, cons
new_preview.video_link = p_url; new_preview.video_link = p_url;
new_preview.is_video = p_video; new_preview.is_video = p_video;
new_preview.button = memnew(Button); new_preview.button = memnew(Button);
new_preview.button->set_icon(previews->get_theme_icon(SNAME("ThumbnailWait"), SNAME("EditorIcons"))); new_preview.button->set_icon(previews->get_editor_theme_icon(SNAME("ThumbnailWait")));
new_preview.button->set_toggle_mode(true); new_preview.button->set_toggle_mode(true);
new_preview.button->connect("pressed", callable_mp(this, &EditorAssetLibraryItemDescription::_preview_click).bind(p_id)); new_preview.button->connect("pressed", callable_mp(this, &EditorAssetLibraryItemDescription::_preview_click).bind(p_id));
preview_hb->add_child(new_preview.button); preview_hb->add_child(new_preview.button);
if (!p_video) { if (!p_video) {
new_preview.image = previews->get_theme_icon(SNAME("ThumbnailWait"), SNAME("EditorIcons")); new_preview.image = previews->get_editor_theme_icon(SNAME("ThumbnailWait"));
} }
preview_images.push_back(new_preview); preview_images.push_back(new_preview);
if (preview_images.size() == 1 && !p_video) { if (preview_images.size() == 1 && !p_video) {
@ -392,7 +393,7 @@ void EditorAssetLibraryItemDownload::configure(const String &p_title, int p_asse
icon->set_texture(p_preview); icon->set_texture(p_preview);
asset_id = p_asset_id; asset_id = p_asset_id;
if (!p_preview.is_valid()) { if (!p_preview.is_valid()) {
icon->set_texture(get_theme_icon(SNAME("FileBrokenBigThumb"), SNAME("EditorIcons"))); icon->set_texture(get_editor_theme_icon(SNAME("FileBrokenBigThumb")));
} }
host = p_download_url; host = p_download_url;
sha256 = p_sha256_hash; sha256 = p_sha256_hash;
@ -582,11 +583,11 @@ void EditorAssetLibrary::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
error_tr->set_texture(get_theme_icon(SNAME("Error"), SNAME("EditorIcons"))); error_tr->set_texture(get_editor_theme_icon(SNAME("Error")));
filter->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); filter->set_right_icon(get_editor_theme_icon(SNAME("Search")));
library_scroll_bg->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); library_scroll_bg->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
downloads_scroll->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree"))); downloads_scroll->add_theme_style_override("panel", get_theme_stylebox(SNAME("panel"), SNAME("Tree")));
error_label->add_theme_color_override("color", get_theme_color(SNAME("error_color"), SNAME("Editor"))); error_label->add_theme_color_override("color", get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
} break; } break;
case NOTIFICATION_VISIBILITY_CHANGED: { case NOTIFICATION_VISIBILITY_CHANGED: {
@ -808,7 +809,7 @@ void EditorAssetLibrary::_image_update(bool use_cache, bool final, const PackedB
} }
if (!image_set && final) { if (!image_set && final) {
obj->call("set_image", image_queue[p_queue_id].image_type, image_queue[p_queue_id].image_index, get_theme_icon(SNAME("FileBrokenBigThumb"), SNAME("EditorIcons"))); obj->call("set_image", image_queue[p_queue_id].image_type, image_queue[p_queue_id].image_index, get_editor_theme_icon(SNAME("FileBrokenBigThumb")));
} }
} }
} }
@ -845,7 +846,7 @@ void EditorAssetLibrary::_image_request_completed(int p_status, int p_code, cons
WARN_PRINT("Error getting image file from URL: " + image_queue[p_queue_id].image_url); WARN_PRINT("Error getting image file from URL: " + image_queue[p_queue_id].image_url);
Object *obj = ObjectDB::get_instance(image_queue[p_queue_id].target); Object *obj = ObjectDB::get_instance(image_queue[p_queue_id].target);
if (obj) { if (obj) {
obj->call("set_image", image_queue[p_queue_id].image_type, image_queue[p_queue_id].image_index, get_theme_icon(SNAME("FileBrokenBigThumb"), SNAME("EditorIcons"))); obj->call("set_image", image_queue[p_queue_id].image_type, image_queue[p_queue_id].image_index, get_editor_theme_icon(SNAME("FileBrokenBigThumb")));
} }
} }

View File

@ -33,6 +33,7 @@
#include "editor/audio_stream_preview.h" #include "editor/audio_stream_preview.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "scene/resources/audio_stream_wav.h" #include "scene/resources/audio_stream_wav.h"
// AudioStreamEditor // AudioStreamEditor
@ -44,16 +45,16 @@ void AudioStreamEditor::_notification(int p_what) {
} break; } break;
case NOTIFICATION_THEME_CHANGED: case NOTIFICATION_THEME_CHANGED:
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
Ref<Font> font = get_theme_font(SNAME("status_source"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("status_source"), EditorStringName(EditorFonts));
_current_label->add_theme_font_override(SNAME("font"), font); _current_label->add_theme_font_override(SNAME("font"), font);
_duration_label->add_theme_font_override(SNAME("font"), font); _duration_label->add_theme_font_override(SNAME("font"), font);
_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
_stop_button->set_icon(get_theme_icon(SNAME("Stop"), SNAME("EditorIcons"))); _stop_button->set_icon(get_editor_theme_icon(SNAME("Stop")));
_preview->set_color(get_theme_color(SNAME("dark_color_2"), SNAME("Editor"))); _preview->set_color(get_theme_color(SNAME("dark_color_2"), EditorStringName(Editor)));
set_color(get_theme_color(SNAME("dark_color_1"), SNAME("Editor"))); set_color(get_theme_color(SNAME("dark_color_1"), EditorStringName(Editor)));
_indicator->queue_redraw(); _indicator->queue_redraw();
_preview->queue_redraw(); _preview->queue_redraw();
@ -98,7 +99,7 @@ void AudioStreamEditor::_draw_preview() {
points.write[idx * 2 + 1] = Vector2(i + 1, rect.position.y + max * rect.size.y); points.write[idx * 2 + 1] = Vector2(i + 1, rect.position.y + max * rect.size.y);
} }
Vector<Color> colors = { get_theme_color(SNAME("contrast_color_2"), SNAME("Editor")) }; Vector<Color> colors = { get_theme_color(SNAME("contrast_color_2"), EditorStringName(Editor)) };
RS::get_singleton()->canvas_item_add_multiline(_preview->get_canvas_item(), points, colors); RS::get_singleton()->canvas_item_add_multiline(_preview->get_canvas_item(), points, colors);
} }
@ -120,26 +121,26 @@ void AudioStreamEditor::_play() {
if (_player->is_playing()) { if (_player->is_playing()) {
_pausing = true; _pausing = true;
_player->stop(); _player->stop();
_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
set_process(false); set_process(false);
} else { } else {
_pausing = false; _pausing = false;
_player->play(_current); _player->play(_current);
_play_button->set_icon(get_theme_icon(SNAME("Pause"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("Pause")));
set_process(true); set_process(true);
} }
} }
void AudioStreamEditor::_stop() { void AudioStreamEditor::_stop() {
_player->stop(); _player->stop();
_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
_current = 0; _current = 0;
_indicator->queue_redraw(); _indicator->queue_redraw();
set_process(false); set_process(false);
} }
void AudioStreamEditor::_on_finished() { void AudioStreamEditor::_on_finished() {
_play_button->set_icon(get_theme_icon(SNAME("MainPlay"), SNAME("EditorIcons"))); _play_button->set_icon(get_editor_theme_icon(SNAME("MainPlay")));
if (!_pausing) { if (!_pausing) {
_current = 0; _current = 0;
_indicator->queue_redraw(); _indicator->queue_redraw();
@ -157,8 +158,8 @@ void AudioStreamEditor::_draw_indicator() {
Rect2 rect = _preview->get_rect(); Rect2 rect = _preview->get_rect();
float len = stream->get_length(); float len = stream->get_length();
float ofs_x = _current / len * rect.size.width; float ofs_x = _current / len * rect.size.width;
const Color col = get_theme_color(SNAME("accent_color"), SNAME("Editor")); const Color col = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
Ref<Texture2D> icon = get_theme_icon(SNAME("TimelineIndicator"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("TimelineIndicator"));
_indicator->draw_line(Point2(ofs_x, 0), Point2(ofs_x, rect.size.height), col, Math::round(2 * EDSCALE)); _indicator->draw_line(Point2(ofs_x, 0), Point2(ofs_x, rect.size.height), col, Math::round(2 * EDSCALE));
_indicator->draw_texture( _indicator->draw_texture(
icon, icon,

View File

@ -42,9 +42,9 @@
void BoneMapperButton::fetch_textures() { void BoneMapperButton::fetch_textures() {
if (selected) { if (selected) {
set_texture_normal(get_theme_icon(SNAME("BoneMapperHandleSelected"), SNAME("EditorIcons"))); set_texture_normal(get_editor_theme_icon(SNAME("BoneMapperHandleSelected")));
} else { } else {
set_texture_normal(get_theme_icon(SNAME("BoneMapperHandle"), SNAME("EditorIcons"))); set_texture_normal(get_editor_theme_icon(SNAME("BoneMapperHandle")));
} }
set_offset(SIDE_LEFT, 0); set_offset(SIDE_LEFT, 0);
set_offset(SIDE_RIGHT, 0); set_offset(SIDE_RIGHT, 0);
@ -55,7 +55,7 @@ void BoneMapperButton::fetch_textures() {
set_modulate(EditorSettings::get_singleton()->is_dark_theme() ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25)); set_modulate(EditorSettings::get_singleton()->is_dark_theme() ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25));
circle = memnew(TextureRect); circle = memnew(TextureRect);
circle->set_texture(get_theme_icon(SNAME("BoneMapperHandleCircle"), SNAME("EditorIcons"))); circle->set_texture(get_editor_theme_icon(SNAME("BoneMapperHandleCircle")));
add_child(circle); add_child(circle);
set_state(BONE_MAP_STATE_UNSET); set_state(BONE_MAP_STATE_UNSET);
} }
@ -118,7 +118,7 @@ void BoneMapperItem::create_editor() {
hbox->add_child(skeleton_bone_selector); hbox->add_child(skeleton_bone_selector);
picker_button = memnew(Button); picker_button = memnew(Button);
picker_button->set_icon(get_theme_icon(SNAME("ClassList"), SNAME("EditorIcons"))); picker_button->set_icon(get_editor_theme_icon(SNAME("ClassList")));
picker_button->connect("pressed", callable_mp(this, &BoneMapperItem::_open_picker)); picker_button->connect("pressed", callable_mp(this, &BoneMapperItem::_open_picker));
hbox->add_child(picker_button); hbox->add_child(picker_button);
@ -194,7 +194,7 @@ void BonePicker::create_bones_tree(Skeleton3D *p_skeleton) {
items.insert(-1, root); items.insert(-1, root);
Ref<Texture> bone_icon = get_theme_icon(SNAME("BoneAttachment3D"), SNAME("EditorIcons")); Ref<Texture> bone_icon = get_editor_theme_icon(SNAME("BoneAttachment3D"));
Vector<int> bones_to_process = p_skeleton->get_parentless_bones(); Vector<int> bones_to_process = p_skeleton->get_parentless_bones();
bool is_first = true; bool is_first = true;
@ -297,7 +297,7 @@ void BoneMapper::create_editor() {
group_hbox->add_child(profile_group_selector); group_hbox->add_child(profile_group_selector);
clear_mapping_button = memnew(Button); clear_mapping_button = memnew(Button);
clear_mapping_button->set_icon(get_theme_icon(SNAME("Clear"), SNAME("EditorIcons"))); clear_mapping_button->set_icon(get_editor_theme_icon(SNAME("Clear")));
clear_mapping_button->set_tooltip_text(TTR("Clear mappings in current group.")); clear_mapping_button->set_tooltip_text(TTR("Clear mappings in current group."));
clear_mapping_button->connect("pressed", callable_mp(this, &BoneMapper::_clear_mapping_current_group)); clear_mapping_button->connect("pressed", callable_mp(this, &BoneMapper::_clear_mapping_current_group));
group_hbox->add_child(clear_mapping_button); group_hbox->add_child(clear_mapping_button);
@ -398,13 +398,13 @@ void BoneMapper::recreate_editor() {
if (hmn) { if (hmn) {
StringName hmn_group_name = profile->get_group_name(current_group_idx); StringName hmn_group_name = profile->get_group_name(current_group_idx);
if (hmn_group_name == "Body") { if (hmn_group_name == "Body") {
profile_texture->set_texture(get_theme_icon(SNAME("BoneMapHumanBody"), SNAME("EditorIcons"))); profile_texture->set_texture(get_editor_theme_icon(SNAME("BoneMapHumanBody")));
} else if (hmn_group_name == "Face") { } else if (hmn_group_name == "Face") {
profile_texture->set_texture(get_theme_icon(SNAME("BoneMapHumanFace"), SNAME("EditorIcons"))); profile_texture->set_texture(get_editor_theme_icon(SNAME("BoneMapHumanFace")));
} else if (hmn_group_name == "LeftHand") { } else if (hmn_group_name == "LeftHand") {
profile_texture->set_texture(get_theme_icon(SNAME("BoneMapHumanLeftHand"), SNAME("EditorIcons"))); profile_texture->set_texture(get_editor_theme_icon(SNAME("BoneMapHumanLeftHand")));
} else if (hmn_group_name == "RightHand") { } else if (hmn_group_name == "RightHand") {
profile_texture->set_texture(get_theme_icon(SNAME("BoneMapHumanRightHand"), SNAME("EditorIcons"))); profile_texture->set_texture(get_editor_theme_icon(SNAME("BoneMapHumanRightHand")));
} }
} else { } else {
profile_texture->set_texture(profile->get_texture(current_group_idx)); profile_texture->set_texture(profile->get_texture(current_group_idx));

View File

@ -37,6 +37,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_run_bar.h" #include "editor/gui/editor_run_bar.h"
#include "editor/gui/editor_toaster.h" #include "editor/gui/editor_toaster.h"
@ -2293,17 +2294,17 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
if (b.is_valid() && b->is_pressed() && b->get_button_index() == MouseButton::RIGHT) { if (b.is_valid() && b->is_pressed() && b->get_button_index() == MouseButton::RIGHT) {
add_node_menu->clear(); add_node_menu->clear();
add_node_menu->add_icon_item(get_theme_icon(SNAME("Add"), SNAME("EditorIcons")), TTR("Add Node Here..."), ADD_NODE); add_node_menu->add_icon_item(get_editor_theme_icon(SNAME("Add")), TTR("Add Node Here..."), ADD_NODE);
add_node_menu->add_icon_item(get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), TTR("Instantiate Scene Here..."), ADD_INSTANCE); add_node_menu->add_icon_item(get_editor_theme_icon(SNAME("Instance")), TTR("Instantiate Scene Here..."), ADD_INSTANCE);
for (Node *node : SceneTreeDock::get_singleton()->get_node_clipboard()) { for (Node *node : SceneTreeDock::get_singleton()->get_node_clipboard()) {
if (Object::cast_to<CanvasItem>(node)) { if (Object::cast_to<CanvasItem>(node)) {
add_node_menu->add_icon_item(get_theme_icon(SNAME("ActionPaste"), SNAME("EditorIcons")), TTR("Paste Node(s) Here"), ADD_PASTE); add_node_menu->add_icon_item(get_editor_theme_icon(SNAME("ActionPaste")), TTR("Paste Node(s) Here"), ADD_PASTE);
break; break;
} }
} }
for (Node *node : EditorNode::get_singleton()->get_editor_selection()->get_selected_node_list()) { for (Node *node : EditorNode::get_singleton()->get_editor_selection()->get_selected_node_list()) {
if (Object::cast_to<CanvasItem>(node)) { if (Object::cast_to<CanvasItem>(node)) {
add_node_menu->add_icon_item(get_theme_icon(SNAME("ToolMove"), SNAME("EditorIcons")), TTR("Move Node(s) Here"), ADD_MOVE); add_node_menu->add_icon_item(get_editor_theme_icon(SNAME("ToolMove")), TTR("Move Node(s) Here"), ADD_MOVE);
break; break;
} }
} }
@ -2678,7 +2679,7 @@ Control::CursorShape CanvasItemEditor::get_cursor_shape(const Point2 &p_pos) con
} }
void CanvasItemEditor::_draw_text_at_position(Point2 p_position, String p_string, Side p_side) { void CanvasItemEditor::_draw_text_at_position(Point2 p_position, String p_string, Side p_side) {
Color color = get_theme_color(SNAME("font_color"), SNAME("Editor")); Color color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
color.a = 0.8; color.a = 0.8;
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
@ -2717,7 +2718,7 @@ void CanvasItemEditor::_draw_percentage_at_position(real_t p_value, Point2 p_pos
void CanvasItemEditor::_draw_focus() { void CanvasItemEditor::_draw_focus() {
// Draw the focus around the base viewport // Draw the focus around the base viewport
if (viewport->has_focus()) { if (viewport->has_focus()) {
get_theme_stylebox(SNAME("FocusViewport"), SNAME("EditorStyles"))->draw(viewport->get_canvas_item(), Rect2(Point2(), viewport->get_size())); get_theme_stylebox(SNAME("FocusViewport"), EditorStringName(EditorStyles))->draw(viewport->get_canvas_item(), Rect2(Point2(), viewport->get_size()));
} }
} }
@ -2747,13 +2748,13 @@ void CanvasItemEditor::_draw_guides() {
} }
// Dragged guide. // Dragged guide.
Color text_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); Color text_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
Color outline_color = text_color.inverted(); Color outline_color = text_color.inverted();
const float outline_size = 2; const float outline_size = 2;
if (drag_type == DRAG_DOUBLE_GUIDE || drag_type == DRAG_V_GUIDE) { if (drag_type == DRAG_DOUBLE_GUIDE || drag_type == DRAG_V_GUIDE) {
String str = TS->format_number(vformat("%d px", Math::round(xform.affine_inverse().xform(dragged_guide_pos).x))); String str = TS->format_number(vformat("%d px", Math::round(xform.affine_inverse().xform(dragged_guide_pos).x)));
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
Size2 text_size = font->get_string_size(str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size); Size2 text_size = font->get_string_size(str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
viewport->draw_string_outline(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color); viewport->draw_string_outline(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
viewport->draw_string(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); viewport->draw_string(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color);
@ -2761,8 +2762,8 @@ void CanvasItemEditor::_draw_guides() {
} }
if (drag_type == DRAG_DOUBLE_GUIDE || drag_type == DRAG_H_GUIDE) { if (drag_type == DRAG_DOUBLE_GUIDE || drag_type == DRAG_H_GUIDE) {
String str = TS->format_number(vformat("%d px", Math::round(xform.affine_inverse().xform(dragged_guide_pos).y))); String str = TS->format_number(vformat("%d px", Math::round(xform.affine_inverse().xform(dragged_guide_pos).y)));
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
Size2 text_size = font->get_string_size(str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size); Size2 text_size = font->get_string_size(str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size);
viewport->draw_string_outline(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color); viewport->draw_string_outline(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
viewport->draw_string(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color); viewport->draw_string(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, text_color);
@ -2785,12 +2786,12 @@ void CanvasItemEditor::_draw_smart_snapping() {
} }
void CanvasItemEditor::_draw_rulers() { void CanvasItemEditor::_draw_rulers() {
Color bg_color = get_theme_color(SNAME("dark_color_2"), SNAME("Editor")); Color bg_color = get_theme_color(SNAME("dark_color_2"), EditorStringName(Editor));
Color graduation_color = get_theme_color(SNAME("font_color"), SNAME("Editor")).lerp(bg_color, 0.5); Color graduation_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor)).lerp(bg_color, 0.5);
Color font_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); Color font_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
font_color.a = 0.8; font_color.a = 0.8;
Ref<Font> font = get_theme_font(SNAME("rulers"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("rulers"), EditorStringName(EditorFonts));
int font_size = get_theme_font_size(SNAME("rulers_size"), SNAME("EditorFonts")); int font_size = get_theme_font_size(SNAME("rulers_size"), EditorStringName(EditorFonts));
// The rule transform // The rule transform
Transform2D ruler_transform; Transform2D ruler_transform;
@ -2951,7 +2952,7 @@ void CanvasItemEditor::_draw_ruler_tool() {
} }
if (ruler_tool_active) { if (ruler_tool_active) {
Color ruler_primary_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); Color ruler_primary_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
Color ruler_secondary_color = ruler_primary_color; Color ruler_secondary_color = ruler_primary_color;
ruler_secondary_color.a = 0.5; ruler_secondary_color.a = 0.5;
@ -2963,9 +2964,9 @@ void CanvasItemEditor::_draw_ruler_tool() {
const real_t horizontal_angle_rad = length_vector.angle(); const real_t horizontal_angle_rad = length_vector.angle();
const real_t vertical_angle_rad = Math_PI / 2.0 - horizontal_angle_rad; const real_t vertical_angle_rad = Math_PI / 2.0 - horizontal_angle_rad;
Ref<Font> font = get_theme_font(SNAME("bold"), SNAME("EditorFonts")); Ref<Font> font = get_theme_font(SNAME("bold"), EditorStringName(EditorFonts));
int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")); int font_size = 1.3 * get_theme_font_size(SNAME("bold_size"), EditorStringName(EditorFonts));
Color font_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); Color font_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
Color font_secondary_color = font_color; Color font_secondary_color = font_color;
font_secondary_color.set_v(font_secondary_color.get_v() > 0.5 ? 0.7 : 0.3); font_secondary_color.set_v(font_secondary_color.get_v() > 0.5 ? 0.7 : 0.3);
Color outline_color = font_color.inverted(); Color outline_color = font_color.inverted();
@ -3018,8 +3019,8 @@ void CanvasItemEditor::_draw_ruler_tool() {
if (begin.is_equal_approx(end)) { if (begin.is_equal_approx(end)) {
viewport->draw_string_outline(font, text_pos, (String)ruler_tool_origin, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color); viewport->draw_string_outline(font, text_pos, (String)ruler_tool_origin, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, outline_size, outline_color);
viewport->draw_string(font, text_pos, (String)ruler_tool_origin, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color); viewport->draw_string(font, text_pos, (String)ruler_tool_origin, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, font_color);
Ref<Texture2D> position_icon = get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons")); Ref<Texture2D> position_icon = get_editor_theme_icon(SNAME("EditorPosition"));
viewport->draw_texture(get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons")), (ruler_tool_origin - view_offset) * zoom - position_icon->get_size() / 2); viewport->draw_texture(get_editor_theme_icon(SNAME("EditorPosition")), (ruler_tool_origin - view_offset) * zoom - position_icon->get_size() / 2);
return; return;
} }
@ -3090,8 +3091,8 @@ void CanvasItemEditor::_draw_ruler_tool() {
} }
} else { } else {
if (grid_snap_active) { if (grid_snap_active) {
Ref<Texture2D> position_icon = get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons")); Ref<Texture2D> position_icon = get_editor_theme_icon(SNAME("EditorPosition"));
viewport->draw_texture(get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons")), (ruler_tool_origin - view_offset) * zoom - position_icon->get_size() / 2); viewport->draw_texture(get_editor_theme_icon(SNAME("EditorPosition")), (ruler_tool_origin - view_offset) * zoom - position_icon->get_size() / 2);
} }
} }
} }
@ -3308,9 +3309,9 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
} }
void CanvasItemEditor::_draw_selection() { void CanvasItemEditor::_draw_selection() {
Ref<Texture2D> pivot_icon = get_theme_icon(SNAME("EditorPivot"), SNAME("EditorIcons")); Ref<Texture2D> pivot_icon = get_editor_theme_icon(SNAME("EditorPivot"));
Ref<Texture2D> position_icon = get_theme_icon(SNAME("EditorPosition"), SNAME("EditorIcons")); Ref<Texture2D> position_icon = get_editor_theme_icon(SNAME("EditorPosition"));
Ref<Texture2D> previous_position_icon = get_theme_icon(SNAME("EditorPositionPrevious"), SNAME("EditorIcons")); Ref<Texture2D> previous_position_icon = get_editor_theme_icon(SNAME("EditorPositionPrevious"));
RID vp_ci = viewport->get_canvas_item(); RID vp_ci = viewport->get_canvas_item();
@ -3437,16 +3438,16 @@ void CanvasItemEditor::_draw_selection() {
Vector2((move_factor.x + 10) * EDSCALE, 0) Vector2((move_factor.x + 10) * EDSCALE, 0)
}; };
viewport->draw_colored_polygon(points, get_theme_color(SNAME("axis_x_color"), SNAME("Editor"))); viewport->draw_colored_polygon(points, get_theme_color(SNAME("axis_x_color"), EditorStringName(Editor)));
viewport->draw_line(Point2(), Point2(move_factor.x * EDSCALE, 0), get_theme_color(SNAME("axis_x_color"), SNAME("Editor")), Math::round(EDSCALE)); viewport->draw_line(Point2(), Point2(move_factor.x * EDSCALE, 0), get_theme_color(SNAME("axis_x_color"), EditorStringName(Editor)), Math::round(EDSCALE));
points.clear(); points.clear();
points.push_back(Vector2(5 * EDSCALE, move_factor.y * EDSCALE)); points.push_back(Vector2(5 * EDSCALE, move_factor.y * EDSCALE));
points.push_back(Vector2(-5 * EDSCALE, move_factor.y * EDSCALE)); points.push_back(Vector2(-5 * EDSCALE, move_factor.y * EDSCALE));
points.push_back(Vector2(0, (move_factor.y + 10) * EDSCALE)); points.push_back(Vector2(0, (move_factor.y + 10) * EDSCALE));
viewport->draw_colored_polygon(points, get_theme_color(SNAME("axis_y_color"), SNAME("Editor"))); viewport->draw_colored_polygon(points, get_theme_color(SNAME("axis_y_color"), EditorStringName(Editor)));
viewport->draw_line(Point2(), Point2(0, move_factor.y * EDSCALE), get_theme_color(SNAME("axis_y_color"), SNAME("Editor")), Math::round(EDSCALE)); viewport->draw_line(Point2(), Point2(0, move_factor.y * EDSCALE), get_theme_color(SNAME("axis_y_color"), EditorStringName(Editor)), Math::round(EDSCALE));
viewport->draw_set_transform_matrix(viewport->get_transform()); viewport->draw_set_transform_matrix(viewport->get_transform());
} }
@ -3476,12 +3477,12 @@ void CanvasItemEditor::_draw_selection() {
viewport->draw_set_transform_matrix(simple_xform); viewport->draw_set_transform_matrix(simple_xform);
Rect2 x_handle_rect = Rect2(scale_factor.x * EDSCALE, -5 * EDSCALE, 10 * EDSCALE, 10 * EDSCALE); Rect2 x_handle_rect = Rect2(scale_factor.x * EDSCALE, -5 * EDSCALE, 10 * EDSCALE, 10 * EDSCALE);
viewport->draw_rect(x_handle_rect, get_theme_color(SNAME("axis_x_color"), SNAME("Editor"))); viewport->draw_rect(x_handle_rect, get_theme_color(SNAME("axis_x_color"), EditorStringName(Editor)));
viewport->draw_line(Point2(), Point2(scale_factor.x * EDSCALE, 0), get_theme_color(SNAME("axis_x_color"), SNAME("Editor")), Math::round(EDSCALE)); viewport->draw_line(Point2(), Point2(scale_factor.x * EDSCALE, 0), get_theme_color(SNAME("axis_x_color"), EditorStringName(Editor)), Math::round(EDSCALE));
Rect2 y_handle_rect = Rect2(-5 * EDSCALE, scale_factor.y * EDSCALE, 10 * EDSCALE, 10 * EDSCALE); Rect2 y_handle_rect = Rect2(-5 * EDSCALE, scale_factor.y * EDSCALE, 10 * EDSCALE, 10 * EDSCALE);
viewport->draw_rect(y_handle_rect, get_theme_color(SNAME("axis_y_color"), SNAME("Editor"))); viewport->draw_rect(y_handle_rect, get_theme_color(SNAME("axis_y_color"), EditorStringName(Editor)));
viewport->draw_line(Point2(), Point2(0, scale_factor.y * EDSCALE), get_theme_color(SNAME("axis_y_color"), SNAME("Editor")), Math::round(EDSCALE)); viewport->draw_line(Point2(), Point2(0, scale_factor.y * EDSCALE), get_theme_color(SNAME("axis_y_color"), EditorStringName(Editor)), Math::round(EDSCALE));
viewport->draw_set_transform_matrix(viewport->get_transform()); viewport->draw_set_transform_matrix(viewport->get_transform());
} }
@ -3496,11 +3497,11 @@ void CanvasItemEditor::_draw_selection() {
viewport->draw_rect( viewport->draw_rect(
Rect2(bsfrom, bsto - bsfrom), Rect2(bsfrom, bsto - bsfrom),
get_theme_color(SNAME("box_selection_fill_color"), SNAME("Editor"))); get_theme_color(SNAME("box_selection_fill_color"), EditorStringName(Editor)));
viewport->draw_rect( viewport->draw_rect(
Rect2(bsfrom, bsto - bsfrom), Rect2(bsfrom, bsto - bsfrom),
get_theme_color(SNAME("box_selection_stroke_color"), SNAME("Editor")), get_theme_color(SNAME("box_selection_stroke_color"), EditorStringName(Editor)),
false, false,
Math::round(EDSCALE)); Math::round(EDSCALE));
} }
@ -3510,7 +3511,7 @@ void CanvasItemEditor::_draw_selection() {
viewport->draw_line( viewport->draw_line(
transform.xform(drag_rotation_center), transform.xform(drag_rotation_center),
transform.xform(drag_to), transform.xform(drag_to),
get_theme_color(SNAME("accent_color"), SNAME("Editor")) * Color(1, 1, 1, 0.6), get_theme_color(SNAME("accent_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.6),
Math::round(2 * EDSCALE)); Math::round(2 * EDSCALE));
} }
} }
@ -3558,8 +3559,8 @@ void CanvasItemEditor::_draw_straight_line(Point2 p_from, Point2 p_to, Color p_c
void CanvasItemEditor::_draw_axis() { void CanvasItemEditor::_draw_axis() {
if (show_origin) { if (show_origin) {
_draw_straight_line(Point2(), Point2(1, 0), get_theme_color(SNAME("axis_x_color"), SNAME("Editor")) * Color(1, 1, 1, 0.75)); _draw_straight_line(Point2(), Point2(1, 0), get_theme_color(SNAME("axis_x_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.75));
_draw_straight_line(Point2(), Point2(0, 1), get_theme_color(SNAME("axis_y_color"), SNAME("Editor")) * Color(1, 1, 1, 0.75)); _draw_straight_line(Point2(), Point2(0, 1), get_theme_color(SNAME("axis_y_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.75));
} }
if (show_viewport) { if (show_viewport) {
@ -3613,7 +3614,7 @@ void CanvasItemEditor::_draw_invisible_nodes_positions(Node *p_node, const Trans
Transform2D xform = transform * canvas_xform * parent_xform; Transform2D xform = transform * canvas_xform * parent_xform;
// Draw the node's position // Draw the node's position
Ref<Texture2D> position_icon = get_theme_icon(SNAME("EditorPositionUnselected"), SNAME("EditorIcons")); Ref<Texture2D> position_icon = get_editor_theme_icon(SNAME("EditorPositionUnselected"));
Transform2D unscaled_transform = (xform * ci->get_transform().affine_inverse() * ci->_edit_get_transform()).orthonormalized(); Transform2D unscaled_transform = (xform * ci->get_transform().affine_inverse() * ci->_edit_get_transform()).orthonormalized();
Transform2D simple_xform = viewport->get_transform() * unscaled_transform; Transform2D simple_xform = viewport->get_transform() * unscaled_transform;
viewport->draw_set_transform_matrix(simple_xform); viewport->draw_set_transform_matrix(simple_xform);
@ -3744,13 +3745,13 @@ void CanvasItemEditor::_draw_locks_and_groups(Node *p_node, const Transform2D &p
if (ci) { if (ci) {
real_t offset = 0; real_t offset = 0;
Ref<Texture2D> lock = get_theme_icon(SNAME("LockViewport"), SNAME("EditorIcons")); Ref<Texture2D> lock = get_editor_theme_icon(SNAME("LockViewport"));
if (p_node->has_meta("_edit_lock_") && show_edit_locks) { if (p_node->has_meta("_edit_lock_") && show_edit_locks) {
lock->draw(viewport_ci, (transform * canvas_xform * parent_xform).xform(Point2(0, 0)) + Point2(offset, 0)); lock->draw(viewport_ci, (transform * canvas_xform * parent_xform).xform(Point2(0, 0)) + Point2(offset, 0));
offset += lock->get_size().x; offset += lock->get_size().x;
} }
Ref<Texture2D> group = get_theme_icon(SNAME("GroupViewport"), SNAME("EditorIcons")); Ref<Texture2D> group = get_editor_theme_icon(SNAME("GroupViewport"));
if (ci->has_meta("_edit_group_") && show_edit_locks) { if (ci->has_meta("_edit_group_") && show_edit_locks) {
group->draw(viewport_ci, (transform * canvas_xform * parent_xform).xform(Point2(0, 0)) + Point2(offset, 0)); group->draw(viewport_ci, (transform * canvas_xform * parent_xform).xform(Point2(0, 0)) + Point2(offset, 0));
//offset += group->get_size().x; //offset += group->get_size().x;
@ -3837,41 +3838,41 @@ void CanvasItemEditor::set_current_tool(Tool p_tool) {
} }
void CanvasItemEditor::_update_editor_settings() { void CanvasItemEditor::_update_editor_settings() {
button_center_view->set_icon(get_theme_icon(SNAME("CenterView"), SNAME("EditorIcons"))); button_center_view->set_icon(get_editor_theme_icon(SNAME("CenterView")));
select_button->set_icon(get_theme_icon(SNAME("ToolSelect"), SNAME("EditorIcons"))); select_button->set_icon(get_editor_theme_icon(SNAME("ToolSelect")));
select_sb->set_texture(get_theme_icon(SNAME("EditorRect2D"), SNAME("EditorIcons"))); select_sb->set_texture(get_editor_theme_icon(SNAME("EditorRect2D")));
list_select_button->set_icon(get_theme_icon(SNAME("ListSelect"), SNAME("EditorIcons"))); list_select_button->set_icon(get_editor_theme_icon(SNAME("ListSelect")));
move_button->set_icon(get_theme_icon(SNAME("ToolMove"), SNAME("EditorIcons"))); move_button->set_icon(get_editor_theme_icon(SNAME("ToolMove")));
scale_button->set_icon(get_theme_icon(SNAME("ToolScale"), SNAME("EditorIcons"))); scale_button->set_icon(get_editor_theme_icon(SNAME("ToolScale")));
rotate_button->set_icon(get_theme_icon(SNAME("ToolRotate"), SNAME("EditorIcons"))); rotate_button->set_icon(get_editor_theme_icon(SNAME("ToolRotate")));
smart_snap_button->set_icon(get_theme_icon(SNAME("Snap"), SNAME("EditorIcons"))); smart_snap_button->set_icon(get_editor_theme_icon(SNAME("Snap")));
grid_snap_button->set_icon(get_theme_icon(SNAME("SnapGrid"), SNAME("EditorIcons"))); grid_snap_button->set_icon(get_editor_theme_icon(SNAME("SnapGrid")));
snap_config_menu->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); snap_config_menu->set_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
skeleton_menu->set_icon(get_theme_icon(SNAME("Bone"), SNAME("EditorIcons"))); skeleton_menu->set_icon(get_editor_theme_icon(SNAME("Bone")));
override_camera_button->set_icon(get_theme_icon(SNAME("Camera2D"), SNAME("EditorIcons"))); override_camera_button->set_icon(get_editor_theme_icon(SNAME("Camera2D")));
pan_button->set_icon(get_theme_icon(SNAME("ToolPan"), SNAME("EditorIcons"))); pan_button->set_icon(get_editor_theme_icon(SNAME("ToolPan")));
ruler_button->set_icon(get_theme_icon(SNAME("Ruler"), SNAME("EditorIcons"))); ruler_button->set_icon(get_editor_theme_icon(SNAME("Ruler")));
pivot_button->set_icon(get_theme_icon(SNAME("EditPivot"), SNAME("EditorIcons"))); pivot_button->set_icon(get_editor_theme_icon(SNAME("EditPivot")));
select_handle = get_theme_icon(SNAME("EditorHandle"), SNAME("EditorIcons")); select_handle = get_editor_theme_icon(SNAME("EditorHandle"));
anchor_handle = get_theme_icon(SNAME("EditorControlAnchor"), SNAME("EditorIcons")); anchor_handle = get_editor_theme_icon(SNAME("EditorControlAnchor"));
lock_button->set_icon(get_theme_icon(SNAME("Lock"), SNAME("EditorIcons"))); lock_button->set_icon(get_editor_theme_icon(SNAME("Lock")));
unlock_button->set_icon(get_theme_icon(SNAME("Unlock"), SNAME("EditorIcons"))); unlock_button->set_icon(get_editor_theme_icon(SNAME("Unlock")));
group_button->set_icon(get_theme_icon(SNAME("Group"), SNAME("EditorIcons"))); group_button->set_icon(get_editor_theme_icon(SNAME("Group")));
ungroup_button->set_icon(get_theme_icon(SNAME("Ungroup"), SNAME("EditorIcons"))); ungroup_button->set_icon(get_editor_theme_icon(SNAME("Ungroup")));
key_loc_button->set_icon(get_theme_icon(SNAME("KeyPosition"), SNAME("EditorIcons"))); key_loc_button->set_icon(get_editor_theme_icon(SNAME("KeyPosition")));
key_rot_button->set_icon(get_theme_icon(SNAME("KeyRotation"), SNAME("EditorIcons"))); key_rot_button->set_icon(get_editor_theme_icon(SNAME("KeyRotation")));
key_scale_button->set_icon(get_theme_icon(SNAME("KeyScale"), SNAME("EditorIcons"))); key_scale_button->set_icon(get_editor_theme_icon(SNAME("KeyScale")));
key_insert_button->set_icon(get_theme_icon(SNAME("Key"), SNAME("EditorIcons"))); key_insert_button->set_icon(get_editor_theme_icon(SNAME("Key")));
key_auto_insert_button->set_icon(get_theme_icon(SNAME("AutoKey"), SNAME("EditorIcons"))); key_auto_insert_button->set_icon(get_editor_theme_icon(SNAME("AutoKey")));
// Use a different color for the active autokey icon to make them easier // Use a different color for the active autokey icon to make them easier
// to distinguish from the other key icons at the top. On a light theme, // to distinguish from the other key icons at the top. On a light theme,
// the icon will be dark, so we need to lighten it before blending it // the icon will be dark, so we need to lighten it before blending it
// with the red color. // with the red color.
const Color key_auto_color = EditorSettings::get_singleton()->is_dark_theme() ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25); const Color key_auto_color = EditorSettings::get_singleton()->is_dark_theme() ? Color(1, 1, 1) : Color(4.25, 4.25, 4.25);
key_auto_insert_button->add_theme_color_override("icon_pressed_color", key_auto_color.lerp(Color(1, 0, 0), 0.55)); key_auto_insert_button->add_theme_color_override("icon_pressed_color", key_auto_color.lerp(Color(1, 0, 0), 0.55));
animation_menu->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); animation_menu->set_icon(get_editor_theme_icon(SNAME("GuiTabMenuHl")));
context_menu_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("ContextualToolbar"), SNAME("EditorStyles"))); context_menu_panel->add_theme_style_override("panel", get_theme_stylebox(SNAME("ContextualToolbar"), EditorStringName(EditorStyles)));
panner->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/2d_editor_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EDITOR_GET("editors/panning/simple_panning"))); panner->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/2d_editor_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EDITOR_GET("editors/panning/simple_panning")));
panner->set_scroll_speed(EDITOR_GET("editors/panning/2d_editor_pan_speed")); panner->set_scroll_speed(EDITOR_GET("editors/panning/2d_editor_pan_speed"));
@ -3962,7 +3963,7 @@ void CanvasItemEditor::_notification(int p_what) {
} break; } break;
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
select_sb->set_texture(get_theme_icon(SNAME("EditorRect2D"), SNAME("EditorIcons"))); select_sb->set_texture(get_editor_theme_icon(SNAME("EditorRect2D")));
select_sb->set_texture_margin_all(4); select_sb->set_texture_margin_all(4);
select_sb->set_content_margin_all(4); select_sb->set_content_margin_all(4);
@ -5870,10 +5871,10 @@ void CanvasItemEditorViewport::_update_theme() {
for (int i = 0; i < btn_list.size(); i++) { for (int i = 0; i < btn_list.size(); i++) {
CheckBox *check = Object::cast_to<CheckBox>(btn_list[i]); CheckBox *check = Object::cast_to<CheckBox>(btn_list[i]);
check->set_icon(get_theme_icon(check->get_text(), SNAME("EditorIcons"))); check->set_icon(get_editor_theme_icon(check->get_text()));
} }
label->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), SNAME("Editor"))); label->add_theme_color_override("font_color", get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
} }
void CanvasItemEditorViewport::_notification(int p_what) { void CanvasItemEditorViewport::_notification(int p_what) {

View File

@ -113,7 +113,7 @@ void Cast2DEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
Transform2D gt = canvas_item_editor->get_canvas_transform() * node->get_global_transform(); Transform2D gt = canvas_item_editor->get_canvas_transform() * node->get_global_transform();
const Ref<Texture2D> handle = get_theme_icon(SNAME("EditorHandle"), SNAME("EditorIcons")); const Ref<Texture2D> handle = get_editor_theme_icon(SNAME("EditorHandle"));
p_overlay->draw_texture(handle, gt.xform((Vector2)node->get("target_position")) - handle->get_size() / 2); p_overlay->draw_texture(handle, gt.xform((Vector2)node->get("target_position")) - handle->get_size() / 2);
} }

View File

@ -435,7 +435,7 @@ void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overla
Transform2D gt = canvas_item_editor->get_canvas_transform() * node->get_global_transform(); Transform2D gt = canvas_item_editor->get_canvas_transform() * node->get_global_transform();
Ref<Texture2D> h = get_theme_icon(SNAME("EditorHandle"), SNAME("EditorIcons")); Ref<Texture2D> h = get_editor_theme_icon(SNAME("EditorHandle"));
Vector2 size = h->get_size() * 0.5; Vector2 size = h->get_size() * 0.5;
handles.clear(); handles.clear();

View File

@ -50,15 +50,15 @@ void ControlPositioningWarning::_update_warning() {
Node *parent_node = control_node->get_parent_control(); Node *parent_node = control_node->get_parent_control();
if (!parent_node) { if (!parent_node) {
title_icon->set_texture(get_theme_icon(SNAME("SubViewport"), SNAME("EditorIcons"))); title_icon->set_texture(get_editor_theme_icon(SNAME("SubViewport")));
title_label->set_text(TTR("This node doesn't have a control parent.")); title_label->set_text(TTR("This node doesn't have a control parent."));
hint_label->set_text(TTR("Use the appropriate layout properties depending on where you are going to put it.")); hint_label->set_text(TTR("Use the appropriate layout properties depending on where you are going to put it."));
} else if (Object::cast_to<Container>(parent_node)) { } else if (Object::cast_to<Container>(parent_node)) {
title_icon->set_texture(get_theme_icon(SNAME("ContainerLayout"), SNAME("EditorIcons"))); title_icon->set_texture(get_editor_theme_icon(SNAME("ContainerLayout")));
title_label->set_text(TTR("This node is a child of a container.")); title_label->set_text(TTR("This node is a child of a container."));
hint_label->set_text(TTR("Use container properties for positioning.")); hint_label->set_text(TTR("Use container properties for positioning."));
} else { } else {
title_icon->set_texture(get_theme_icon(SNAME("ControlLayout"), SNAME("EditorIcons"))); title_icon->set_texture(get_editor_theme_icon(SNAME("ControlLayout")));
title_label->set_text(TTR("This node is a child of a regular control.")); title_label->set_text(TTR("This node is a child of a regular control."));
hint_label->set_text(TTR("Use anchors and the rectangle for positioning.")); hint_label->set_text(TTR("Use anchors and the rectangle for positioning."));
} }
@ -193,7 +193,7 @@ void EditorPropertyAnchorsPreset::setup(const Vector<String> &p_options) {
String preset_name = option_name.trim_prefix("Preset"); String preset_name = option_name.trim_prefix("Preset");
String humanized_name = preset_name.capitalize(); String humanized_name = preset_name.capitalize();
String icon_name = "ControlAlign" + preset_name; String icon_name = "ControlAlign" + preset_name;
options->add_icon_item(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(icon_name, "EditorIcons"), humanized_name); options->add_icon_item(EditorNode::get_singleton()->get_gui_base()->get_editor_theme_icon(icon_name), humanized_name);
} else { } else {
options->add_item(option_name); options->add_item(option_name);
} }
@ -369,15 +369,15 @@ void EditorPropertySizeFlags::setup(const Vector<String> &p_options, bool p_vert
flag_presets->clear(); flag_presets->clear();
if (flags.has(SIZE_FILL)) { if (flags.has(SIZE_FILL)) {
flag_presets->add_icon_item(gui_base->get_theme_icon(wide_preset_icon, SNAME("EditorIcons")), TTR("Fill"), SIZE_FLAGS_PRESET_FILL); flag_presets->add_icon_item(gui_base->get_editor_theme_icon(wide_preset_icon), TTR("Fill"), SIZE_FLAGS_PRESET_FILL);
} }
// Shrink Begin is the same as no flags at all, as such it cannot be disabled. // Shrink Begin is the same as no flags at all, as such it cannot be disabled.
flag_presets->add_icon_item(gui_base->get_theme_icon(begin_preset_icon, SNAME("EditorIcons")), TTR("Shrink Begin"), SIZE_FLAGS_PRESET_SHRINK_BEGIN); flag_presets->add_icon_item(gui_base->get_editor_theme_icon(begin_preset_icon), TTR("Shrink Begin"), SIZE_FLAGS_PRESET_SHRINK_BEGIN);
if (flags.has(SIZE_SHRINK_CENTER)) { if (flags.has(SIZE_SHRINK_CENTER)) {
flag_presets->add_icon_item(gui_base->get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons")), TTR("Shrink Center"), SIZE_FLAGS_PRESET_SHRINK_CENTER); flag_presets->add_icon_item(gui_base->get_editor_theme_icon(SNAME("ControlAlignCenter")), TTR("Shrink Center"), SIZE_FLAGS_PRESET_SHRINK_CENTER);
} }
if (flags.has(SIZE_SHRINK_END)) { if (flags.has(SIZE_SHRINK_END)) {
flag_presets->add_icon_item(gui_base->get_theme_icon(end_preset_icon, SNAME("EditorIcons")), TTR("Shrink End"), SIZE_FLAGS_PRESET_SHRINK_END); flag_presets->add_icon_item(gui_base->get_editor_theme_icon(end_preset_icon), TTR("Shrink End"), SIZE_FLAGS_PRESET_SHRINK_END);
} }
flag_presets->add_separator(); flag_presets->add_separator();
flag_presets->add_item(TTR("Custom"), SIZE_FLAGS_PRESET_CUSTOM); flag_presets->add_item(TTR("Custom"), SIZE_FLAGS_PRESET_CUSTOM);
@ -561,27 +561,27 @@ void AnchorPresetPicker::_notification(int p_notification) {
switch (p_notification) { switch (p_notification) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
preset_buttons[PRESET_TOP_LEFT]->set_icon(get_theme_icon(SNAME("ControlAlignTopLeft"), SNAME("EditorIcons"))); preset_buttons[PRESET_TOP_LEFT]->set_icon(get_editor_theme_icon(SNAME("ControlAlignTopLeft")));
preset_buttons[PRESET_CENTER_TOP]->set_icon(get_theme_icon(SNAME("ControlAlignCenterTop"), SNAME("EditorIcons"))); preset_buttons[PRESET_CENTER_TOP]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenterTop")));
preset_buttons[PRESET_TOP_RIGHT]->set_icon(get_theme_icon(SNAME("ControlAlignTopRight"), SNAME("EditorIcons"))); preset_buttons[PRESET_TOP_RIGHT]->set_icon(get_editor_theme_icon(SNAME("ControlAlignTopRight")));
preset_buttons[PRESET_CENTER_LEFT]->set_icon(get_theme_icon(SNAME("ControlAlignCenterLeft"), SNAME("EditorIcons"))); preset_buttons[PRESET_CENTER_LEFT]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenterLeft")));
preset_buttons[PRESET_CENTER]->set_icon(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons"))); preset_buttons[PRESET_CENTER]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenter")));
preset_buttons[PRESET_CENTER_RIGHT]->set_icon(get_theme_icon(SNAME("ControlAlignCenterRight"), SNAME("EditorIcons"))); preset_buttons[PRESET_CENTER_RIGHT]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenterRight")));
preset_buttons[PRESET_BOTTOM_LEFT]->set_icon(get_theme_icon(SNAME("ControlAlignBottomLeft"), SNAME("EditorIcons"))); preset_buttons[PRESET_BOTTOM_LEFT]->set_icon(get_editor_theme_icon(SNAME("ControlAlignBottomLeft")));
preset_buttons[PRESET_CENTER_BOTTOM]->set_icon(get_theme_icon(SNAME("ControlAlignCenterBottom"), SNAME("EditorIcons"))); preset_buttons[PRESET_CENTER_BOTTOM]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenterBottom")));
preset_buttons[PRESET_BOTTOM_RIGHT]->set_icon(get_theme_icon(SNAME("ControlAlignBottomRight"), SNAME("EditorIcons"))); preset_buttons[PRESET_BOTTOM_RIGHT]->set_icon(get_editor_theme_icon(SNAME("ControlAlignBottomRight")));
preset_buttons[PRESET_TOP_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignTopWide"), SNAME("EditorIcons"))); preset_buttons[PRESET_TOP_WIDE]->set_icon(get_editor_theme_icon(SNAME("ControlAlignTopWide")));
preset_buttons[PRESET_HCENTER_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignHCenterWide"), SNAME("EditorIcons"))); preset_buttons[PRESET_HCENTER_WIDE]->set_icon(get_editor_theme_icon(SNAME("ControlAlignHCenterWide")));
preset_buttons[PRESET_BOTTOM_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignBottomWide"), SNAME("EditorIcons"))); preset_buttons[PRESET_BOTTOM_WIDE]->set_icon(get_editor_theme_icon(SNAME("ControlAlignBottomWide")));
preset_buttons[PRESET_LEFT_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignLeftWide"), SNAME("EditorIcons"))); preset_buttons[PRESET_LEFT_WIDE]->set_icon(get_editor_theme_icon(SNAME("ControlAlignLeftWide")));
preset_buttons[PRESET_VCENTER_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignVCenterWide"), SNAME("EditorIcons"))); preset_buttons[PRESET_VCENTER_WIDE]->set_icon(get_editor_theme_icon(SNAME("ControlAlignVCenterWide")));
preset_buttons[PRESET_RIGHT_WIDE]->set_icon(get_theme_icon(SNAME("ControlAlignRightWide"), SNAME("EditorIcons"))); preset_buttons[PRESET_RIGHT_WIDE]->set_icon(get_editor_theme_icon(SNAME("ControlAlignRightWide")));
preset_buttons[PRESET_FULL_RECT]->set_icon(get_theme_icon(SNAME("ControlAlignFullRect"), SNAME("EditorIcons"))); preset_buttons[PRESET_FULL_RECT]->set_icon(get_editor_theme_icon(SNAME("ControlAlignFullRect")));
} break; } break;
} }
} }
@ -671,17 +671,17 @@ void SizeFlagPresetPicker::_notification(int p_notification) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
if (vertical) { if (vertical) {
preset_buttons[SIZE_SHRINK_BEGIN]->set_icon(get_theme_icon(SNAME("ControlAlignCenterTop"), SNAME("EditorIcons"))); preset_buttons[SIZE_SHRINK_BEGIN]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenterTop")));
preset_buttons[SIZE_SHRINK_CENTER]->set_icon(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons"))); preset_buttons[SIZE_SHRINK_CENTER]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenter")));
preset_buttons[SIZE_SHRINK_END]->set_icon(get_theme_icon(SNAME("ControlAlignCenterBottom"), SNAME("EditorIcons"))); preset_buttons[SIZE_SHRINK_END]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenterBottom")));
preset_buttons[SIZE_FILL]->set_icon(get_theme_icon(SNAME("ControlAlignVCenterWide"), SNAME("EditorIcons"))); preset_buttons[SIZE_FILL]->set_icon(get_editor_theme_icon(SNAME("ControlAlignVCenterWide")));
} else { } else {
preset_buttons[SIZE_SHRINK_BEGIN]->set_icon(get_theme_icon(SNAME("ControlAlignCenterLeft"), SNAME("EditorIcons"))); preset_buttons[SIZE_SHRINK_BEGIN]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenterLeft")));
preset_buttons[SIZE_SHRINK_CENTER]->set_icon(get_theme_icon(SNAME("ControlAlignCenter"), SNAME("EditorIcons"))); preset_buttons[SIZE_SHRINK_CENTER]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenter")));
preset_buttons[SIZE_SHRINK_END]->set_icon(get_theme_icon(SNAME("ControlAlignCenterRight"), SNAME("EditorIcons"))); preset_buttons[SIZE_SHRINK_END]->set_icon(get_editor_theme_icon(SNAME("ControlAlignCenterRight")));
preset_buttons[SIZE_FILL]->set_icon(get_theme_icon(SNAME("ControlAlignHCenterWide"), SNAME("EditorIcons"))); preset_buttons[SIZE_FILL]->set_icon(get_editor_theme_icon(SNAME("ControlAlignHCenterWide")));
} }
} break; } break;
} }
@ -968,9 +968,9 @@ void ControlEditorToolbar::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
anchors_button->set_icon(get_theme_icon(SNAME("ControlLayout"), SNAME("EditorIcons"))); anchors_button->set_icon(get_editor_theme_icon(SNAME("ControlLayout")));
anchor_mode_button->set_icon(get_theme_icon(SNAME("Anchor"), SNAME("EditorIcons"))); anchor_mode_button->set_icon(get_editor_theme_icon(SNAME("Anchor")));
containers_button->set_icon(get_theme_icon(SNAME("ContainerLayout"), SNAME("EditorIcons"))); containers_button->set_icon(get_editor_theme_icon(SNAME("ContainerLayout")));
} break; } break;
} }
} }

View File

@ -251,7 +251,7 @@ void CPUParticles2DEditorPlugin::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
menu->get_popup()->connect("id_pressed", callable_mp(this, &CPUParticles2DEditorPlugin::_menu_callback)); menu->get_popup()->connect("id_pressed", callable_mp(this, &CPUParticles2DEditorPlugin::_menu_callback));
menu->set_icon(epoints->get_theme_icon(SNAME("CPUParticles2D"), SNAME("EditorIcons"))); menu->set_icon(epoints->get_editor_theme_icon(SNAME("CPUParticles2D")));
file->connect("file_selected", callable_mp(this, &CPUParticles2DEditorPlugin::_file_selected)); file->connect("file_selected", callable_mp(this, &CPUParticles2DEditorPlugin::_file_selected));
} break; } break;
} }

View File

@ -47,7 +47,7 @@ void CPUParticles3DEditor::_node_removed(Node *p_node) {
void CPUParticles3DEditor::_notification(int p_notification) { void CPUParticles3DEditor::_notification(int p_notification) {
switch (p_notification) { switch (p_notification) {
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
options->set_icon(get_theme_icon(SNAME("CPUParticles3D"), SNAME("EditorIcons"))); options->set_icon(get_editor_theme_icon(SNAME("CPUParticles3D")));
} break; } break;
} }
} }

View File

@ -38,6 +38,7 @@
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "editor/gui/editor_spin_slider.h" #include "editor/gui/editor_spin_slider.h"
#include "scene/gui/flow_container.h" #include "scene/gui/flow_container.h"
@ -787,8 +788,8 @@ void CurveEdit::_redraw() {
Vector2 min_edge = get_world_pos(Vector2(0, view_size.y)); Vector2 min_edge = get_world_pos(Vector2(0, view_size.y));
Vector2 max_edge = get_world_pos(Vector2(view_size.x, 0)); Vector2 max_edge = get_world_pos(Vector2(view_size.x, 0));
const Color grid_color_primary = get_theme_color(SNAME("mono_color"), SNAME("Editor")) * Color(1, 1, 1, 0.25); const Color grid_color_primary = get_theme_color(SNAME("mono_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.25);
const Color grid_color = get_theme_color(SNAME("mono_color"), SNAME("Editor")) * Color(1, 1, 1, 0.1); const Color grid_color = get_theme_color(SNAME("mono_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.1);
const Vector2i grid_steps = Vector2i(4, 2); const Vector2i grid_steps = Vector2i(4, 2);
const Vector2 step_size = Vector2(1, curve->get_range()) / grid_steps; const Vector2 step_size = Vector2(1, curve->get_range()) / grid_steps;
@ -814,7 +815,7 @@ void CurveEdit::_redraw() {
Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label")); Ref<Font> font = get_theme_font(SNAME("font"), SNAME("Label"));
int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label")); int font_size = get_theme_font_size(SNAME("font_size"), SNAME("Label"));
float font_height = font->get_height(font_size); float font_height = font->get_height(font_size);
Color text_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); Color text_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
for (int i = 0; i <= grid_steps.x; ++i) { for (int i = 0; i <= grid_steps.x; ++i) {
real_t x = i * step_size.x; real_t x = i * step_size.x;
@ -832,8 +833,8 @@ void CurveEdit::_redraw() {
// The scaling up ensures that the curve rendering doesn't break when we use a quad line to draw it. // The scaling up ensures that the curve rendering doesn't break when we use a quad line to draw it.
draw_set_transform_matrix(Transform2D(0, get_view_pos(Vector2(0, 0)))); draw_set_transform_matrix(Transform2D(0, get_view_pos(Vector2(0, 0))));
const Color line_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); const Color line_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
const Color edge_line_color = get_theme_color(SNAME("font_color"), SNAME("Editor")) * Color(1, 1, 1, 0.75); const Color edge_line_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor)) * Color(1, 1, 1, 0.75);
CanvasItemPlotCurve plot_func(*this, line_color, edge_line_color); CanvasItemPlotCurve plot_func(*this, line_color, edge_line_color);
plot_curve_accurate(**curve, 2.f, (get_view_pos(Vector2(1, curve->get_max_value())) - get_view_pos(Vector2(0, curve->get_min_value()))) / Vector2(1, curve->get_range()), plot_func); plot_curve_accurate(**curve, 2.f, (get_view_pos(Vector2(1, curve->get_max_value())) - get_view_pos(Vector2(0, curve->get_min_value()))) / Vector2(1, curve->get_range()), plot_func);
@ -843,7 +844,7 @@ void CurveEdit::_redraw() {
bool shift_pressed = Input::get_singleton()->is_key_pressed(Key::SHIFT); bool shift_pressed = Input::get_singleton()->is_key_pressed(Key::SHIFT);
const Color point_color = get_theme_color(SNAME("font_color"), SNAME("Editor")); const Color point_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor));
for (int i = 0; i < curve->get_point_count(); ++i) { for (int i = 0; i < curve->get_point_count(); ++i) {
Vector2 pos = get_view_pos(curve->get_point_position(i)); Vector2 pos = get_view_pos(curve->get_point_position(i));
@ -859,12 +860,12 @@ void CurveEdit::_redraw() {
if (selected_index >= 0) { if (selected_index >= 0) {
const Vector2 point_pos = curve->get_point_position(selected_index); const Vector2 point_pos = curve->get_point_position(selected_index);
const Color selected_point_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); const Color selected_point_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
// Draw tangents if not dragging a point, or if holding a point without having moved it yet. // Draw tangents if not dragging a point, or if holding a point without having moved it yet.
if (grabbing == GRAB_NONE || initial_grab_pos == point_pos || selected_tangent_index != TANGENT_NONE) { if (grabbing == GRAB_NONE || initial_grab_pos == point_pos || selected_tangent_index != TANGENT_NONE) {
const Color selected_tangent_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")).darkened(0.25); const Color selected_tangent_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor)).darkened(0.25);
const Color tangent_color = get_theme_color(SNAME("font_color"), SNAME("Editor")).darkened(0.25); const Color tangent_color = get_theme_color(SNAME("font_color"), EditorStringName(Editor)).darkened(0.25);
if (selected_index != 0) { if (selected_index != 0) {
Vector2 control_pos = get_tangent_view_pos(selected_index, TANGENT_LEFT); Vector2 control_pos = get_tangent_view_pos(selected_index, TANGENT_LEFT);
@ -939,8 +940,8 @@ void CurveEdit::_redraw() {
} }
if (shift_pressed && grabbing != GRAB_NONE && selected_tangent_index == TANGENT_NONE) { if (shift_pressed && grabbing != GRAB_NONE && selected_tangent_index == TANGENT_NONE) {
draw_line(Vector2(initial_grab_pos.x, curve->get_min_value()), Vector2(initial_grab_pos.x, curve->get_max_value()), get_theme_color(SNAME("axis_x_color"), SNAME("Editor")).darkened(0.4)); draw_line(Vector2(initial_grab_pos.x, curve->get_min_value()), Vector2(initial_grab_pos.x, curve->get_max_value()), get_theme_color(SNAME("axis_x_color"), EditorStringName(Editor)).darkened(0.4));
draw_line(Vector2(0, initial_grab_pos.y), Vector2(1, initial_grab_pos.y), get_theme_color(SNAME("axis_y_color"), SNAME("Editor")).darkened(0.4)); draw_line(Vector2(0, initial_grab_pos.y), Vector2(1, initial_grab_pos.y), get_theme_color(SNAME("axis_y_color"), EditorStringName(Editor)).darkened(0.4));
} }
} }
@ -969,14 +970,14 @@ void CurveEditor::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
spacing = Math::round(BASE_SPACING * get_theme_default_base_scale()); spacing = Math::round(BASE_SPACING * get_theme_default_base_scale());
snap_button->set_icon(get_theme_icon(SNAME("SnapGrid"), SNAME("EditorIcons"))); snap_button->set_icon(get_editor_theme_icon(SNAME("SnapGrid")));
PopupMenu *p = presets_button->get_popup(); PopupMenu *p = presets_button->get_popup();
p->clear(); p->clear();
p->add_icon_item(get_theme_icon(SNAME("CurveConstant"), SNAME("EditorIcons")), TTR("Constant"), CurveEdit::PRESET_CONSTANT); p->add_icon_item(get_editor_theme_icon(SNAME("CurveConstant")), TTR("Constant"), CurveEdit::PRESET_CONSTANT);
p->add_icon_item(get_theme_icon(SNAME("CurveLinear"), SNAME("EditorIcons")), TTR("Linear"), CurveEdit::PRESET_LINEAR); p->add_icon_item(get_editor_theme_icon(SNAME("CurveLinear")), TTR("Linear"), CurveEdit::PRESET_LINEAR);
p->add_icon_item(get_theme_icon(SNAME("CurveIn"), SNAME("EditorIcons")), TTR("Ease In"), CurveEdit::PRESET_EASE_IN); p->add_icon_item(get_editor_theme_icon(SNAME("CurveIn")), TTR("Ease In"), CurveEdit::PRESET_EASE_IN);
p->add_icon_item(get_theme_icon(SNAME("CurveOut"), SNAME("EditorIcons")), TTR("Ease Out"), CurveEdit::PRESET_EASE_OUT); p->add_icon_item(get_editor_theme_icon(SNAME("CurveOut")), TTR("Ease Out"), CurveEdit::PRESET_EASE_OUT);
p->add_icon_item(get_theme_icon(SNAME("CurveInOut"), SNAME("EditorIcons")), TTR("Smoothstep"), CurveEdit::PRESET_SMOOTHSTEP); p->add_icon_item(get_editor_theme_icon(SNAME("CurveInOut")), TTR("Smoothstep"), CurveEdit::PRESET_SMOOTHSTEP);
} break; } break;
case NOTIFICATION_READY: { case NOTIFICATION_READY: {
Ref<Curve> curve = curve_editor_rect->get_curve(); Ref<Curve> curve = curve_editor_rect->get_curve();

View File

@ -156,7 +156,7 @@ void EditorPropertyFontMetaOverride::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
if (button_add) { if (button_add) {
button_add->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add->set_icon(get_editor_theme_icon(SNAME("Add")));
} }
} break; } break;
} }
@ -302,7 +302,7 @@ void EditorPropertyFontMetaOverride::update_property() {
hbox->add_child(prop); hbox->add_child(prop);
prop->set_h_size_flags(SIZE_EXPAND_FILL); prop->set_h_size_flags(SIZE_EXPAND_FILL);
Button *remove = memnew(Button); Button *remove = memnew(Button);
remove->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); remove->set_icon(get_editor_theme_icon(SNAME("Remove")));
hbox->add_child(remove); hbox->add_child(remove);
remove->connect("pressed", callable_mp(this, &EditorPropertyFontMetaOverride::_remove).bind(remove, name)); remove->connect("pressed", callable_mp(this, &EditorPropertyFontMetaOverride::_remove).bind(remove, name));
@ -552,7 +552,7 @@ void EditorPropertyOTFeatures::_notification(int p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
if (button_add) { if (button_add) {
button_add->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add->set_icon(get_editor_theme_icon(SNAME("Add")));
} }
} break; } break;
} }
@ -789,7 +789,7 @@ void EditorPropertyOTFeatures::update_property() {
hbox->add_child(prop); hbox->add_child(prop);
prop->set_h_size_flags(SIZE_EXPAND_FILL); prop->set_h_size_flags(SIZE_EXPAND_FILL);
Button *remove = memnew(Button); Button *remove = memnew(Button);
remove->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons"))); remove->set_icon(get_editor_theme_icon(SNAME("Remove")));
hbox->add_child(remove); hbox->add_child(remove);
remove->connect("pressed", callable_mp(this, &EditorPropertyOTFeatures::_remove).bind(remove, name_tag)); remove->connect("pressed", callable_mp(this, &EditorPropertyOTFeatures::_remove).bind(remove, name_tag));
@ -798,7 +798,7 @@ void EditorPropertyOTFeatures::update_property() {
} }
button_add = EditorInspector::create_inspector_action_button(TTR("Add Feature")); button_add = EditorInspector::create_inspector_action_button(TTR("Add Feature"));
button_add->set_icon(get_theme_icon(SNAME("Add"), SNAME("EditorIcons"))); button_add->set_icon(get_editor_theme_icon(SNAME("Add")));
button_add->connect("pressed", callable_mp(this, &EditorPropertyOTFeatures::_add_menu)); button_add->connect("pressed", callable_mp(this, &EditorPropertyOTFeatures::_add_menu));
property_vbox->add_child(button_add); property_vbox->add_child(button_add);

View File

@ -34,7 +34,7 @@
#include "scene/3d/audio_listener_3d.h" #include "scene/3d/audio_listener_3d.h"
AudioListener3DGizmoPlugin::AudioListener3DGizmoPlugin() { AudioListener3DGizmoPlugin::AudioListener3DGizmoPlugin() {
create_icon_material("audio_listener_3d_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoAudioListener3D"), SNAME("EditorIcons"))); create_icon_material("audio_listener_3d_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoAudioListener3D")));
} }
bool AudioListener3DGizmoPlugin::has_gizmo(Node3D *p_spatial) { bool AudioListener3DGizmoPlugin::has_gizmo(Node3D *p_spatial) {

View File

@ -38,7 +38,7 @@
AudioStreamPlayer3DGizmoPlugin::AudioStreamPlayer3DGizmoPlugin() { AudioStreamPlayer3DGizmoPlugin::AudioStreamPlayer3DGizmoPlugin() {
Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/stream_player_3d", Color(0.4, 0.8, 1)); Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/stream_player_3d", Color(0.4, 0.8, 1));
create_icon_material("stream_player_3d_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("Gizmo3DSamplePlayer"), SNAME("EditorIcons"))); create_icon_material("stream_player_3d_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("Gizmo3DSamplePlayer")));
create_material("stream_player_3d_material_primary", gizmo_color); create_material("stream_player_3d_material_primary", gizmo_color);
create_material("stream_player_3d_material_secondary", gizmo_color * Color(1, 1, 1, 0.35)); create_material("stream_player_3d_material_secondary", gizmo_color * Color(1, 1, 1, 0.35));
// Enable vertex colors for the billboard material as the gizmo color depends on the // Enable vertex colors for the billboard material as the gizmo color depends on the

View File

@ -41,7 +41,7 @@ Camera3DGizmoPlugin::Camera3DGizmoPlugin() {
Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/camera", Color(0.8, 0.4, 0.8)); Color gizmo_color = EDITOR_DEF("editors/3d_gizmos/gizmo_colors/camera", Color(0.8, 0.4, 0.8));
create_material("camera_material", gizmo_color); create_material("camera_material", gizmo_color);
create_icon_material("camera_icon", Node3DEditor::get_singleton()->get_theme_icon("GizmoCamera3D", "EditorIcons")); create_icon_material("camera_icon", Node3DEditor::get_singleton()->get_editor_theme_icon("GizmoCamera3D"));
create_handle_material("handles"); create_handle_material("handles");
} }

View File

@ -34,7 +34,7 @@
#include "scene/3d/cpu_particles_3d.h" #include "scene/3d/cpu_particles_3d.h"
CPUParticles3DGizmoPlugin::CPUParticles3DGizmoPlugin() { CPUParticles3DGizmoPlugin::CPUParticles3DGizmoPlugin() {
create_icon_material("particles_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoCPUParticles3D"), SNAME("EditorIcons"))); create_icon_material("particles_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoCPUParticles3D")));
} }
bool CPUParticles3DGizmoPlugin::has_gizmo(Node3D *p_spatial) { bool CPUParticles3DGizmoPlugin::has_gizmo(Node3D *p_spatial) {

View File

@ -40,7 +40,7 @@ GPUParticles3DGizmoPlugin::GPUParticles3DGizmoPlugin() {
create_material("particles_material", gizmo_color); create_material("particles_material", gizmo_color);
gizmo_color.a = MAX((gizmo_color.a - 0.2) * 0.02, 0.0); gizmo_color.a = MAX((gizmo_color.a - 0.2) * 0.02, 0.0);
create_material("particles_solid_material", gizmo_color); create_material("particles_solid_material", gizmo_color);
create_icon_material("particles_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoGPUParticles3D"), SNAME("EditorIcons"))); create_icon_material("particles_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoGPUParticles3D")));
create_handle_material("handles"); create_handle_material("handles");
} }

View File

@ -43,9 +43,9 @@ Light3DGizmoPlugin::Light3DGizmoPlugin() {
create_material("lines_secondary", Color(1, 1, 1, 0.35), false, false, true); create_material("lines_secondary", Color(1, 1, 1, 0.35), false, false, true);
create_material("lines_billboard", Color(1, 1, 1), true, false, true); create_material("lines_billboard", Color(1, 1, 1), true, false, true);
create_icon_material("light_directional_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoDirectionalLight"), SNAME("EditorIcons"))); create_icon_material("light_directional_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoDirectionalLight")));
create_icon_material("light_omni_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoLight"), SNAME("EditorIcons"))); create_icon_material("light_omni_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoLight")));
create_icon_material("light_spot_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoSpotLight"), SNAME("EditorIcons"))); create_icon_material("light_spot_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoSpotLight")));
create_handle_material("handles"); create_handle_material("handles");
create_handle_material("handles_billboard", true); create_handle_material("handles_billboard", true);

View File

@ -48,7 +48,7 @@ LightmapGIGizmoPlugin::LightmapGIGizmoPlugin() {
add_material("lightmap_probe_material", mat); add_material("lightmap_probe_material", mat);
create_icon_material("baked_indirect_light_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoLightmapGI"), SNAME("EditorIcons"))); create_icon_material("baked_indirect_light_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoLightmapGI")));
} }
bool LightmapGIGizmoPlugin::has_gizmo(Node3D *p_spatial) { bool LightmapGIGizmoPlugin::has_gizmo(Node3D *p_spatial) {

View File

@ -31,6 +31,7 @@
#include "marker_3d_gizmo_plugin.h" #include "marker_3d_gizmo_plugin.h"
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_string_names.h"
#include "editor/plugins/node_3d_editor_plugin.h" #include "editor/plugins/node_3d_editor_plugin.h"
#include "scene/3d/marker_3d.h" #include "scene/3d/marker_3d.h"
@ -60,7 +61,7 @@ Marker3DGizmoPlugin::Marker3DGizmoPlugin() {
// Use a darkened axis color for the negative axis. // Use a darkened axis color for the negative axis.
// This makes it possible to see in which direction the Marker3D node is rotated // This makes it possible to see in which direction the Marker3D node is rotated
// (which can be important depending on how it's used). // (which can be important depending on how it's used).
const Color color_x = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("axis_x_color"), SNAME("Editor")); const Color color_x = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("axis_x_color"), EditorStringName(Editor));
cursor_colors.push_back(color_x); cursor_colors.push_back(color_x);
cursor_colors.push_back(color_x); cursor_colors.push_back(color_x);
// FIXME: Use less strong darkening factor once GH-48573 is fixed. // FIXME: Use less strong darkening factor once GH-48573 is fixed.
@ -68,13 +69,13 @@ Marker3DGizmoPlugin::Marker3DGizmoPlugin() {
cursor_colors.push_back(color_x.lerp(Color(0, 0, 0), 0.75)); cursor_colors.push_back(color_x.lerp(Color(0, 0, 0), 0.75));
cursor_colors.push_back(color_x.lerp(Color(0, 0, 0), 0.75)); cursor_colors.push_back(color_x.lerp(Color(0, 0, 0), 0.75));
const Color color_y = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("axis_y_color"), SNAME("Editor")); const Color color_y = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("axis_y_color"), EditorStringName(Editor));
cursor_colors.push_back(color_y); cursor_colors.push_back(color_y);
cursor_colors.push_back(color_y); cursor_colors.push_back(color_y);
cursor_colors.push_back(color_y.lerp(Color(0, 0, 0), 0.75)); cursor_colors.push_back(color_y.lerp(Color(0, 0, 0), 0.75));
cursor_colors.push_back(color_y.lerp(Color(0, 0, 0), 0.75)); cursor_colors.push_back(color_y.lerp(Color(0, 0, 0), 0.75));
const Color color_z = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("axis_z_color"), SNAME("Editor")); const Color color_z = EditorNode::get_singleton()->get_gui_base()->get_theme_color(SNAME("axis_z_color"), EditorStringName(Editor));
cursor_colors.push_back(color_z); cursor_colors.push_back(color_z);
cursor_colors.push_back(color_z); cursor_colors.push_back(color_z);
cursor_colors.push_back(color_z.lerp(Color(0, 0, 0), 0.75)); cursor_colors.push_back(color_z.lerp(Color(0, 0, 0), 0.75));

View File

@ -46,7 +46,7 @@ ReflectionProbeGizmoPlugin::ReflectionProbeGizmoPlugin() {
gizmo_color.a = 0.1; gizmo_color.a = 0.1;
create_material("reflection_probe_solid_material", gizmo_color); create_material("reflection_probe_solid_material", gizmo_color);
create_icon_material("reflection_probe_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoReflectionProbe"), SNAME("EditorIcons"))); create_icon_material("reflection_probe_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoReflectionProbe")));
create_handle_material("handles"); create_handle_material("handles");
} }

View File

@ -47,7 +47,7 @@ VoxelGIGizmoPlugin::VoxelGIGizmoPlugin() {
gizmo_color.a = 0.05; gizmo_color.a = 0.05;
create_material("voxel_gi_solid_material", gizmo_color); create_material("voxel_gi_solid_material", gizmo_color);
create_icon_material("voxel_gi_icon", Node3DEditor::get_singleton()->get_theme_icon(SNAME("GizmoVoxelGI"), SNAME("EditorIcons"))); create_icon_material("voxel_gi_icon", Node3DEditor::get_singleton()->get_editor_theme_icon(SNAME("GizmoVoxelGI")));
create_handle_material("handles"); create_handle_material("handles");
} }

View File

@ -352,7 +352,7 @@ void GPUParticles2DEditorPlugin::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
menu->get_popup()->connect("id_pressed", callable_mp(this, &GPUParticles2DEditorPlugin::_menu_callback)); menu->get_popup()->connect("id_pressed", callable_mp(this, &GPUParticles2DEditorPlugin::_menu_callback));
menu->set_icon(menu->get_theme_icon(SNAME("GPUParticles2D"), SNAME("EditorIcons"))); menu->set_icon(menu->get_editor_theme_icon(SNAME("GPUParticles2D")));
file->connect("file_selected", callable_mp(this, &GPUParticles2DEditorPlugin::_file_selected)); file->connect("file_selected", callable_mp(this, &GPUParticles2DEditorPlugin::_file_selected));
EditorNode::get_singleton()->get_editor_selection()->connect("selection_changed", callable_mp(this, &GPUParticles2DEditorPlugin::_selection_changed)); EditorNode::get_singleton()->get_editor_selection()->connect("selection_changed", callable_mp(this, &GPUParticles2DEditorPlugin::_selection_changed));
} break; } break;

View File

@ -237,7 +237,7 @@ void GPUParticles3DEditor::_node_removed(Node *p_node) {
void GPUParticles3DEditor::_notification(int p_notification) { void GPUParticles3DEditor::_notification(int p_notification) {
switch (p_notification) { switch (p_notification) {
case NOTIFICATION_ENTER_TREE: { case NOTIFICATION_ENTER_TREE: {
options->set_icon(options->get_popup()->get_theme_icon(SNAME("GPUParticles3D"), SNAME("EditorIcons"))); options->set_icon(options->get_popup()->get_editor_theme_icon(SNAME("GPUParticles3D")));
get_tree()->connect("node_removed", callable_mp(this, &GPUParticles3DEditor::_node_removed)); get_tree()->connect("node_removed", callable_mp(this, &GPUParticles3DEditor::_node_removed));
} break; } break;
} }

View File

@ -183,7 +183,7 @@ GPUParticlesCollisionSDF3DEditorPlugin::GPUParticlesCollisionSDF3DEditorPlugin()
bake_hb->hide(); bake_hb->hide();
bake = memnew(Button); bake = memnew(Button);
bake->set_flat(true); bake->set_flat(true);
bake->set_icon(EditorNode::get_singleton()->get_gui_base()->get_theme_icon(SNAME("Bake"), SNAME("EditorIcons"))); bake->set_icon(EditorNode::get_singleton()->get_gui_base()->get_editor_theme_icon(SNAME("Bake")));
bake->set_text(TTR("Bake SDF")); bake->set_text(TTR("Bake SDF"));
bake->connect("pressed", callable_mp(this, &GPUParticlesCollisionSDF3DEditorPlugin::_bake)); bake->connect("pressed", callable_mp(this, &GPUParticlesCollisionSDF3DEditorPlugin::_bake));
bake_hb->add_child(bake); bake_hb->add_child(bake);

View File

@ -33,6 +33,7 @@
#include "core/os/keyboard.h" #include "core/os/keyboard.h"
#include "editor/editor_node.h" #include "editor/editor_node.h"
#include "editor/editor_scale.h" #include "editor/editor_scale.h"
#include "editor/editor_string_names.h"
#include "editor/editor_undo_redo_manager.h" #include "editor/editor_undo_redo_manager.h"
#include "scene/resources/gradient_texture.h" #include "scene/resources/gradient_texture.h"
@ -393,7 +394,7 @@ void GradientEditor::_notification(int p_what) {
int total_w = get_size().width - get_size().height - draw_spacing - handle_width; int total_w = get_size().width - get_size().height - draw_spacing - handle_width;
// Draw checker pattern for ramp. // Draw checker pattern for ramp.
draw_texture_rect(get_theme_icon(SNAME("GuiMiniCheckerboard"), SNAME("EditorIcons")), Rect2(handle_width / 2, 0, total_w, h), true); draw_texture_rect(get_editor_theme_icon(SNAME("GuiMiniCheckerboard")), Rect2(handle_width / 2, 0, total_w, h), true);
// Draw color ramp. // Draw color ramp.
gradient_cache->set_points(points); gradient_cache->set_points(points);
@ -417,7 +418,7 @@ void GradientEditor::_notification(int p_what) {
draw_rect(rect, points[i].color, true); draw_rect(rect, points[i].color, true);
draw_rect(rect, col, false, 1); draw_rect(rect, col, false, 1);
if (grabbed == i) { if (grabbed == i) {
const Color focus_color = get_theme_color(SNAME("accent_color"), SNAME("Editor")); const Color focus_color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor));
rect = rect.grow(-1); rect = rect.grow(-1);
if (has_focus()) { if (has_focus()) {
draw_rect(rect, focus_color, false, 1); draw_rect(rect, focus_color, false, 1);
@ -432,7 +433,7 @@ void GradientEditor::_notification(int p_what) {
// Draw "button" for color selector. // Draw "button" for color selector.
int button_offset = total_w + handle_width + draw_spacing; int button_offset = total_w + handle_width + draw_spacing;
draw_texture_rect(get_theme_icon(SNAME("GuiMiniCheckerboard"), SNAME("EditorIcons")), Rect2(button_offset, 0, h, h), true); draw_texture_rect(get_editor_theme_icon(SNAME("GuiMiniCheckerboard")), Rect2(button_offset, 0, h, h), true);
if (grabbed != -1) { if (grabbed != -1) {
// Draw with selection color. // Draw with selection color.
draw_rect(Rect2(button_offset, 0, h, h), points[grabbed].color); draw_rect(Rect2(button_offset, 0, h, h), points[grabbed].color);

View File

@ -40,7 +40,7 @@
void GradientReverseButton::_notification(int p_what) { void GradientReverseButton::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_DRAW: { case NOTIFICATION_DRAW: {
Ref<Texture2D> icon = get_theme_icon(SNAME("ReverseGradient"), SNAME("EditorIcons")); Ref<Texture2D> icon = get_editor_theme_icon(SNAME("ReverseGradient"));
if (is_pressed()) { if (is_pressed()) {
draw_texture_rect(icon, Rect2(margin, margin, icon->get_width(), icon->get_height()), false, get_theme_color(SNAME("icon_pressed_color"), SNAME("Button"))); draw_texture_rect(icon, Rect2(margin, margin, icon->get_width(), icon->get_height()), false, get_theme_color(SNAME("icon_pressed_color"), SNAME("Button")));
} else { } else {
@ -51,7 +51,7 @@ void GradientReverseButton::_notification(int p_what) {
} }
Size2 GradientReverseButton::get_minimum_size() const { Size2 GradientReverseButton::get_minimum_size() const {
return (get_theme_icon(SNAME("ReverseGradient"), SNAME("EditorIcons"))->get_size() + Size2(margin * 2, margin * 2)); return (get_editor_theme_icon(SNAME("ReverseGradient"))->get_size() + Size2(margin * 2, margin * 2));
} }
/////////////////////// ///////////////////////

View File

@ -169,7 +169,7 @@ void GradientTexture2DEdit::_notification(int p_what) {
} }
} break; } break;
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
checkerboard->set_texture(get_theme_icon(SNAME("GuiMiniCheckerboard"), SNAME("EditorIcons"))); checkerboard->set_texture(get_editor_theme_icon(SNAME("GuiMiniCheckerboard")));
} break; } break;
case NOTIFICATION_DRAW: { case NOTIFICATION_DRAW: {
_draw(); _draw();
@ -182,8 +182,8 @@ void GradientTexture2DEdit::_draw() {
return; return;
} }
const Ref<Texture2D> fill_from_icon = get_theme_icon(SNAME("EditorPathSmoothHandle"), SNAME("EditorIcons")); const Ref<Texture2D> fill_from_icon = get_editor_theme_icon(SNAME("EditorPathSmoothHandle"));
const Ref<Texture2D> fill_to_icon = get_theme_icon(SNAME("EditorPathSharpHandle"), SNAME("EditorIcons")); const Ref<Texture2D> fill_to_icon = get_editor_theme_icon(SNAME("EditorPathSharpHandle"));
handle_size = fill_from_icon->get_size(); handle_size = fill_from_icon->get_size();
Size2 rect_size = get_size(); Size2 rect_size = get_size();
@ -262,8 +262,8 @@ void GradientTexture2DEditor::_notification(int p_what) {
switch (p_what) { switch (p_what) {
case NOTIFICATION_ENTER_TREE: case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED: { case NOTIFICATION_THEME_CHANGED: {
reverse_button->set_icon(get_theme_icon(SNAME("ReverseGradient"), SNAME("EditorIcons"))); reverse_button->set_icon(get_editor_theme_icon(SNAME("ReverseGradient")));
snap_button->set_icon(get_theme_icon(SNAME("SnapGrid"), SNAME("EditorIcons"))); snap_button->set_icon(get_editor_theme_icon(SNAME("SnapGrid")));
} break; } break;
case NOTIFICATION_READY: { case NOTIFICATION_READY: {
if (texture.is_valid()) { if (texture.is_valid()) {

Some files were not shown because too many files have changed in this diff Show More