From e1abb84524aa83eb0f3b6871788b1b88caa4bb49 Mon Sep 17 00:00:00 2001 From: Chaosus Date: Tue, 12 Jun 2018 08:48:47 +0300 Subject: [PATCH] Added Solarized Dark and Light themes --- editor/editor_settings.cpp | 2 +- editor/editor_themes.cpp | 36 ++++++++++++++++++++----------- editor/settings_config_dialog.cpp | 2 +- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index a47605be154..dae9cd0d0db 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -314,7 +314,7 @@ void EditorSettings::_load_defaults(Ref p_extra_config) { _initial_set("interface/editor/quit_confirmation", true); _initial_set("interface/theme/preset", 0); - hints["interface/theme/preset"] = PropertyInfo(Variant::INT, "interface/theme/preset", PROPERTY_HINT_ENUM, "Default,Grey,Godot 2,Arc,Light,Alien,Custom", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); + hints["interface/theme/preset"] = PropertyInfo(Variant::INT, "interface/theme/preset", PROPERTY_HINT_ENUM, "Default,Custom,Grey,Godot 2,Arc,Light,Alien,Solarized (Dark),Solarized (Light)", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); _initial_set("interface/theme/icon_and_font_color", 0); hints["interface/theme/icon_and_font_color"] = PropertyInfo(Variant::INT, "interface/theme/icon_and_font_color", PROPERTY_HINT_ENUM, "Auto,Dark,Light", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); _initial_set("interface/theme/base_color", Color::html("#323b4f")); diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 8d29e0d40bb..1fc664cab5e 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -272,39 +272,49 @@ Ref create_editor_theme(const Ref p_theme) { preset_base_color = Color::html("#323b4f"); preset_contrast = default_contrast; } break; - case 1: { // Grey + case 1: { // Custom + accent_color = EDITOR_DEF("interface/theme/accent_color", Color::html("#699ce8")); + base_color = EDITOR_DEF("interface/theme/base_color", Color::html("#323b4f")); + contrast = EDITOR_DEF("interface/theme/contrast", default_contrast); + } break; + case 2: { // Grey preset_accent_color = Color::html("#b8e4ff"); preset_base_color = Color::html("#3d3d3d"); preset_contrast = 0.2; } break; - case 2: { // Godot 2 + case 3: { // Godot 2 preset_accent_color = Color::html("#86ace2"); preset_base_color = Color::html("#3C3A44"); preset_contrast = 0.25; } break; - case 3: { // Arc + case 4: { // Arc preset_accent_color = Color::html("#5294e2"); preset_base_color = Color::html("#383c4a"); preset_contrast = 0.25; } break; - case 4: { // Light + case 5: { // Light preset_accent_color = Color::html("#2070ff"); preset_base_color = Color::html("#ffffff"); preset_contrast = 0.08; } break; - case 5: { // Alien + case 6: { // Alien preset_accent_color = Color::html("#1bfe99"); preset_base_color = Color::html("#2f373f"); preset_contrast = 0.25; - } - default: { // Custom - accent_color = EDITOR_DEF("interface/theme/accent_color", Color::html("#699ce8")); - base_color = EDITOR_DEF("interface/theme/base_color", Color::html("#323b4f")); - contrast = EDITOR_DEF("interface/theme/contrast", default_contrast); - } + } break; + case 7: { // Solarized (Dark) + preset_accent_color = Color::html("#268bd2"); + preset_base_color = Color::html("#002b36"); + preset_contrast = 0.2; + } break; + case 8: { // Solarized (Light) + preset_accent_color = Color::html("#268bd2"); + preset_base_color = Color::html("#fdf6e3"); + preset_contrast = 0.06; + } break; } - if (preset != 6) { + if (preset != 1) { accent_color = preset_accent_color; base_color = preset_base_color; contrast = preset_contrast; @@ -1050,7 +1060,7 @@ Ref create_editor_theme(const Ref p_theme) { const Color function_definition_color = Color::html(dark_theme ? "#01e1ff" : "#00a5ba"); const Color node_path_color = Color::html(dark_theme ? "64c15a" : "#518b4b"); - const Color te_background_color = dark_theme ? background_color : Color::html("#ffffff"); + const Color te_background_color = dark_theme ? background_color : base_color; const Color completion_background_color = base_color; const Color completion_selected_color = alpha1; const Color completion_existing_color = alpha2; diff --git a/editor/settings_config_dialog.cpp b/editor/settings_config_dialog.cpp index c3e9e4ab62c..eb9ab932285 100644 --- a/editor/settings_config_dialog.cpp +++ b/editor/settings_config_dialog.cpp @@ -61,7 +61,7 @@ void EditorSettingsDialog::_settings_property_edited(const String &p_name) { if (full_name == "text_editor/theme/color_theme") { property_editor->get_property_editor()->update_tree(); } else if (full_name == "interface/theme/accent_color" || full_name == "interface/theme/base_color" || full_name == "interface/theme/contrast") { - EditorSettings::get_singleton()->set_manually("interface/theme/preset", 6); // set preset to Custom + EditorSettings::get_singleton()->set_manually("interface/theme/preset", 1); // set preset to Custom } else if (full_name.begins_with("text_editor/highlighting")) { EditorSettings::get_singleton()->set_manually("text_editor/theme/color_theme", "Custom"); }