Преглед на файлове

Merge pull request #8631 from volzhs/editor-theme-custom

New customizable editor theme
Rémi Verschelde преди 8 години
родител
ревизия
231511b2a6
променени са 100 файла, в които са добавени 1335 реда и са изтрити 534 реда
  1. 13 14
      editor/animation_editor.cpp
  2. 4 0
      editor/connections_dialog.cpp
  3. 0 1
      editor/create_dialog.cpp
  4. 8 12
      editor/editor_audio_buses.cpp
  5. 3 0
      editor/editor_log.cpp
  6. 47 23
      editor/editor_node.cpp
  7. 3 0
      editor/editor_node.h
  8. 6 1
      editor/editor_settings.cpp
  9. 343 59
      editor/editor_themes.cpp
  10. 3 3
      editor/filesystem_dock.cpp
  11. BIN
      editor/icons/2x/icon_checked.png
  12. BIN
      editor/icons/2x/icon_dropdown.png
  13. BIN
      editor/icons/2x/icon_hslider_bg.png
  14. BIN
      editor/icons/2x/icon_option_arrow.png
  15. BIN
      editor/icons/2x/icon_play_button_group.png
  16. BIN
      editor/icons/2x/icon_slider_grabber.png
  17. BIN
      editor/icons/2x/icon_slider_grabber_hl.png
  18. BIN
      editor/icons/2x/icon_spinbox_updown.png
  19. BIN
      editor/icons/2x/icon_tab_menu.png
  20. BIN
      editor/icons/2x/icon_texture.png
  21. BIN
      editor/icons/2x/icon_tree_arrow_down.png
  22. BIN
      editor/icons/2x/icon_tree_arrow_right.png
  23. BIN
      editor/icons/2x/icon_unchecked.png
  24. BIN
      editor/icons/2x/icon_vslider_bg.png
  25. BIN
      editor/icons/icon_checked.png
  26. BIN
      editor/icons/icon_dropdown.png
  27. BIN
      editor/icons/icon_hslider_bg.png
  28. BIN
      editor/icons/icon_hsplit_bg.png
  29. BIN
      editor/icons/icon_hsplitter.png
  30. BIN
      editor/icons/icon_option_arrow.png
  31. 0 0
      editor/icons/icon_play_button_group.png
  32. BIN
      editor/icons/icon_scroll_bg.png
  33. BIN
      editor/icons/icon_scroll_grabber.png
  34. BIN
      editor/icons/icon_scroll_grabber_hl.png
  35. BIN
      editor/icons/icon_slider_grabber.png
  36. BIN
      editor/icons/icon_slider_grabber_hl.png
  37. BIN
      editor/icons/icon_spinbox_updown.png
  38. BIN
      editor/icons/icon_tab_menu.png
  39. BIN
      editor/icons/icon_texture.png
  40. BIN
      editor/icons/icon_tree_arrow_down.png
  41. BIN
      editor/icons/icon_tree_arrow_right.png
  42. BIN
      editor/icons/icon_unchecked.png
  43. BIN
      editor/icons/icon_vslider_bg.png
  44. BIN
      editor/icons/icon_vsplit_bg.png
  45. BIN
      editor/icons/icon_vsplitter.png
  46. 0 105
      editor/icons/source/icon_3_d.svg
  47. 0 0
      editor/icons/source/icon_checked.svg
  48. 0 0
      editor/icons/source/icon_dropdown.svg
  49. 11 11
      editor/icons/source/icon_hslider_bg.svg
  50. 0 0
      editor/icons/source/icon_hsplitter.svg
  51. 145 0
      editor/icons/source/icon_mini_matrix32.svg
  52. 12 13
      editor/icons/source/icon_option_arrow.svg
  53. 159 0
      editor/icons/source/icon_particles_shader.svg
  54. 0 0
      editor/icons/source/icon_play_button_group.svg
  55. 0 0
      editor/icons/source/icon_scroll_bg.svg
  56. 0 0
      editor/icons/source/icon_scroll_grabber.svg
  57. 16 13
      editor/icons/source/icon_scroll_grabber_hl.svg
  58. 9 9
      editor/icons/source/icon_slider_grabber.svg
  59. 13 13
      editor/icons/source/icon_slider_grabber_hl.svg
  60. 165 0
      editor/icons/source/icon_spatial_shader.svg
  61. 27 21
      editor/icons/source/icon_spinbox_updown.svg
  62. 23 24
      editor/icons/source/icon_tab_menu.svg
  63. 137 0
      editor/icons/source/icon_texture.svg
  64. 15 8
      editor/icons/source/icon_tree_arrow_down.svg
  65. 15 8
      editor/icons/source/icon_tree_arrow_right.svg
  66. 0 0
      editor/icons/source/icon_unchecked.svg
  67. 0 0
      editor/icons/source/icon_vslider_bg.svg
  68. 0 0
      editor/icons/source/icon_vsplit_bg.svg
  69. 0 0
      editor/icons/source/icon_vsplitter.svg
  70. 1 1
      editor/io_plugins/editor_texture_import_plugin.cpp
  71. 8 12
      editor/plugins/animation_player_editor_plugin.cpp
  72. 0 2
      editor/plugins/animation_player_editor_plugin.h
  73. 2 7
      editor/plugins/canvas_item_editor_plugin.cpp
  74. 4 5
      editor/plugins/script_editor_plugin.cpp
  75. 6 6
      editor/plugins/spatial_editor_plugin.cpp
  76. 1 1
      editor/plugins/spatial_editor_plugin.h
  77. 1 0
      editor/project_export.cpp
  78. 6 1
      editor/project_settings.cpp
  79. 4 0
      editor/property_editor.cpp
  80. 1 2
      editor/scene_tree_dock.cpp
  81. 22 28
      editor/script_editor_debugger.cpp
  82. 1 0
      editor/settings_config_dialog.cpp
  83. 6 6
      misc/scripts/svgs_2_pngs.py
  84. 2 2
      modules/visual_script/visual_script_editor.cpp
  85. 26 15
      scene/gui/button.cpp
  86. 28 19
      scene/gui/dialogs.cpp
  87. 2 2
      scene/gui/graph_edit.cpp
  88. 1 17
      scene/gui/item_list.cpp
  89. 0 4
      scene/gui/item_list.h
  90. 2 2
      scene/gui/line_edit.cpp
  91. 1 18
      scene/gui/option_button.cpp
  92. 11 11
      scene/gui/scroll_bar.cpp
  93. 6 6
      scene/gui/scroll_bar.h
  94. 2 2
      scene/gui/slider.cpp
  95. 1 6
      scene/gui/spin_box.cpp
  96. 4 5
      scene/gui/tab_container.cpp
  97. 8 8
      scene/gui/tabs.cpp
  98. 1 1
      scene/gui/tabs.h
  99. 0 4
      scene/gui/tool_button.cpp
  100. 0 3
      scene/gui/tool_button.h

+ 13 - 14
editor/animation_editor.cpp

@@ -1035,7 +1035,7 @@ void AnimationKeyEditor::_track_pos_draw() {
 		//draw position
 		int pixel = (timeline_pos - h_scroll->get_value()) * zoom_scale;
 		pixel += name_limit;
-		track_pos->draw_line(ofs + Point2(pixel, 0), ofs + Point2(pixel, size.height), get_color("animation_editor_track_pos", "Editor"));
+		track_pos->draw_line(ofs + Point2(pixel, 0), ofs + Point2(pixel, size.height), get_color("highlight_color", "Editor"));
 	}
 }
 
@@ -1089,12 +1089,12 @@ void AnimationKeyEditor::_track_editor_draw() {
 	int sep = get_constant("vseparation", "Tree");
 	int hsep = get_constant("hseparation", "Tree");
 	Color color = get_color("font_color", "Tree");
-	Color sepcolor = get_color("guide_color", "Editor");
-	Color timecolor = get_color("animation_editor_time", "Editor");
+	Color sepcolor = get_color("light_color_1", "Editor");
+	Color timecolor = get_color("dark_color_2", "Editor");
 	Color hover_color = Color(1, 1, 1, 0.05);
 	Color select_color = Color(1, 1, 1, 0.1);
 	Color invalid_path_color = Color(1, 0.6, 0.4, 0.5);
-	Color track_select_color = Color::html("ffbd8e8e");
+	Color track_select_color = get_color("highlight_color", "Editor");
 
 	Ref<Texture> remove_icon = get_icon("Remove", "EditorIcons");
 	Ref<Texture> move_up_icon = get_icon("MoveUp", "EditorIcons");
@@ -1154,9 +1154,8 @@ void AnimationKeyEditor::_track_editor_draw() {
 	int settings_limit = size.width - right_separator_ofs;
 	int name_limit = settings_limit * name_column_ratio;
 
-	Color line_color = get_color("animation_editor_line", "Editor");
-	te->draw_line(ofs + Point2(name_limit, 0), ofs + Point2(name_limit, size.height), line_color);
-	te->draw_line(ofs + Point2(settings_limit, 0), ofs + Point2(settings_limit, size.height), line_color);
+	te->draw_line(ofs + Point2(name_limit, 0), ofs + Point2(name_limit, size.height), color);
+	te->draw_line(ofs + Point2(settings_limit, 0), ofs + Point2(settings_limit, size.height), color);
 	te->draw_texture(hsize_icon, ofs + Point2(name_limit - hsize_icon->get_width() - hsep, (h - hsize_icon->get_height()) / 2));
 
 	te->draw_line(ofs + Point2(0, h), ofs + Point2(size.width, h), color);
@@ -1179,11 +1178,7 @@ void AnimationKeyEditor::_track_editor_draw() {
 
 		int end_px = (l - h_scroll->get_value()) * scale;
 		int begin_px = -h_scroll->get_value() * scale;
-		Color notimecol;
-		notimecol.r = timecolor.gray();
-		notimecol.g = notimecol.r;
-		notimecol.b = notimecol.r;
-		notimecol.a = timecolor.a;
+		Color notimecol = get_color("light_color_1", "Editor");
 
 		{
 
@@ -1483,7 +1478,9 @@ void AnimationKeyEditor::_track_editor_draw() {
 	switch (click.click) {
 		case ClickOver::CLICK_SELECT_KEYS: {
 
-			te->draw_rect(Rect2(click.at, click.to - click.at), get_color("animation_editor_selection_rect", "Editor"));
+			Color box_color = get_color("highlight_color", "Editor");
+			box_color.a = 0.35;
+			te->draw_rect(Rect2(click.at, click.to - click.at), box_color);
 
 		} break;
 		case ClickOver::CLICK_MOVE_KEYS: {
@@ -2905,6 +2902,8 @@ void AnimationKeyEditor::_notification(int p_what) {
 			key_editor->edit(key_edit);
 
 			zoomicon->set_texture(get_icon("Zoom", "EditorIcons"));
+			zoomicon->set_custom_minimum_size(Size2(24 * EDSCALE, 0));
+			zoomicon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
 
 			menu_add_track->set_icon(get_icon("AddTrack", "EditorIcons"));
 			menu_add_track->get_popup()->add_icon_item(get_icon("KeyValue", "EditorIcons"), "Add Normal Track", ADD_TRACK_MENU_ADD_VALUE_TRACK);
@@ -3767,7 +3766,6 @@ AnimationKeyEditor::AnimationKeyEditor() {
 	//add_child(menu);
 
 	zoomicon = memnew(TextureRect);
-	zoomicon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
 	hb->add_child(zoomicon);
 	zoomicon->set_tooltip(TTR("Animation zoom."));
 
@@ -3943,6 +3941,7 @@ AnimationKeyEditor::AnimationKeyEditor() {
 	v_scroll->set_value(0);
 
 	key_editor_tab = memnew(TabContainer);
+	key_editor_tab->set_tab_align(TabContainer::ALIGN_LEFT);
 	hb->add_child(key_editor_tab);
 	key_editor_tab->set_custom_minimum_size(Size2(200, 0));
 

+ 4 - 0
editor/connections_dialog.cpp

@@ -417,6 +417,10 @@ void ConnectionsDock::_notification(int p_what) {
 		//RID ci = get_canvas_item();
 		//get_stylebox("panel","PopupMenu")->draw(ci,Rect2(Point2(),get_size()));
 	}
+
+	if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
+		update_tree();
+	}
 }
 
 void ConnectionsDock::_close() {

+ 0 - 1
editor/create_dialog.cpp

@@ -622,7 +622,6 @@ CreateDialog::CreateDialog() {
 	search_box->set_h_size_flags(SIZE_EXPAND_FILL);
 	search_hb->add_child(search_box);
 	favorite = memnew(Button);
-	favorite->set_flat(true);
 	favorite->set_toggle_mode(true);
 	search_hb->add_child(favorite);
 	favorite->connect("pressed", this, "_favorite_toggled");

+ 8 - 12
editor/editor_audio_buses.cpp

@@ -45,10 +45,6 @@ void EditorAudioBus::_notification(int p_what) {
 		vu_r->set_progress_texture(get_icon("BusVuFull", "EditorIcons"));
 		scale->set_texture(get_icon("BusVuDb", "EditorIcons"));
 
-		solo->set_icon(get_icon("AudioBusSolo", "EditorIcons"));
-		mute->set_icon(get_icon("AudioBusMute", "EditorIcons"));
-		bypass->set_icon(get_icon("AudioBusBypass", "EditorIcons"));
-
 		disabled_vu = get_icon("BusVuFrozen", "EditorIcons");
 
 		prev_active = true;
@@ -631,23 +627,23 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses) {
 	vb->add_child(hbc);
 	hbc->add_spacer();
 	solo = memnew(ToolButton);
-	solo->set_tooltip(TTR("Toggle Solo"));
+	solo->set_text("S");
 	solo->set_toggle_mode(true);
-	// solo->set_modulate(Color(0.8, 1.2, 0.8));
+	solo->set_modulate(Color(0.8, 1.2, 0.8));
 	solo->set_focus_mode(FOCUS_NONE);
 	solo->connect("pressed", this, "_solo_toggled");
 	hbc->add_child(solo);
 	mute = memnew(ToolButton);
-	mute->connect("pressed", this, "_mute_toggled");
+	mute->set_text("M");
 	mute->set_toggle_mode(true);
-	// mute->set_modulate(Color(1.2, 0.8, 0.8));
+	mute->set_modulate(Color(1.2, 0.8, 0.8));
 	mute->set_focus_mode(FOCUS_NONE);
-	mute->set_tooltip(TTR("Toggle Mute"));
+	mute->connect("pressed", this, "_mute_toggled");
 	hbc->add_child(mute);
 	bypass = memnew(ToolButton);
-	bypass->set_tooltip(TTR("Toggle Bypass"));
+	bypass->set_text("B");
 	bypass->set_toggle_mode(true);
-	// bypass->set_modulate(Color(1.1, 1.1, 0.8));
+	bypass->set_modulate(Color(1.1, 1.1, 0.8));
 	bypass->set_focus_mode(FOCUS_NONE);
 	bypass->connect("pressed", this, "_bypass_toggled");
 	hbc->add_child(bypass);
@@ -767,7 +763,7 @@ void EditorAudioBuses::_update_buses() {
 
 		EditorAudioBus *audio_bus = memnew(EditorAudioBus(this));
 		if (i == 0) {
-			audio_bus->set_self_modulate(Color(0.7, 0.7, 0.7));
+			audio_bus->set_self_modulate(Color(1, 0.9, 0.9));
 		}
 		bus_hb->add_child(audio_bus);
 		audio_bus->connect("delete_request", this, "_delete_bus", varray(audio_bus), CONNECT_DEFERRED);

+ 3 - 0
editor/editor_log.cpp

@@ -87,6 +87,9 @@ void EditorLog::_notification(int p_what) {
 		log->add_color_override("default_color", get_color("font_color", "Tree"));
 		//button->set_icon(get_icon("Console","EditorIcons"));
 	}
+	if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
+		_override_logger_styles();
+	}
 
 	/*if (p_what==NOTIFICATION_DRAW) {
 

+ 47 - 23
editor/editor_node.cpp

@@ -348,11 +348,17 @@ void EditorNode::_notification(int p_what) {
 	if (p_what == MainLoop::NOTIFICATION_WM_QUIT_REQUEST) {
 
 		_menu_option_confirm(FILE_QUIT, false);
-	};
+	}
 
 	if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
 		scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY));
 		property_editor->set_enable_capitalize_paths(bool(EDITOR_DEF("interface/capitalize_properties", true)));
+		Ref<Theme> theme = create_editor_theme();
+		theme_base->set_theme(theme);
+		gui_base->add_style_override("panel", gui_base->get_stylebox("Background", "EditorStyles"));
+		play_button_panel->add_style_override("panel", gui_base->get_stylebox("PlayButtonPanel", "EditorStyles"));
+		scene_root_parent->add_style_override("panel", gui_base->get_stylebox("Content", "EditorStyles"));
+		bottom_panel->add_style_override("panel", gui_base->get_stylebox("Content", "EditorStyles"));
 	}
 }
 
@@ -2722,7 +2728,9 @@ void EditorNode::add_editor_plugin(EditorPlugin *p_editor) {
 		ToolButton *tb = memnew(ToolButton);
 		tb->set_toggle_mode(true);
 		tb->connect("pressed", singleton, "_editor_select", varray(singleton->main_editor_buttons.size()));
-		tb->set_icon(singleton->gui_base->get_icon(p_editor->get_name(), "EditorIcons"));
+		tb->set_text(p_editor->get_name());
+		tb->set_icon(p_editor->get_base_control()->get_icon(p_editor->get_name(), "EditorIcons"));
+		tb->set_name(p_editor->get_name());
 		singleton->main_editor_buttons.push_back(tb);
 		singleton->main_editor_button_vb->add_child(tb);
 		singleton->editor_table.push_back(p_editor);
@@ -4725,6 +4733,23 @@ void EditorNode::_dim_timeout() {
 	}
 }
 
+void EditorNode::_check_gui_base_size() {
+	print_line(itos(int(gui_base->get_size().width)));
+	if (gui_base->get_size().width > 1200 * EDSCALE) {
+		for (int i = 0; i < singleton->main_editor_button_vb->get_child_count(); i++) {
+			ToolButton *btn = singleton->main_editor_button_vb->get_child(i)->cast_to<ToolButton>();
+			if (btn == singleton->distraction_free) continue;
+			btn->set_text(btn->get_name());
+		}
+	} else {
+		for (int i = 0; i < singleton->main_editor_button_vb->get_child_count(); i++) {
+			ToolButton *btn = singleton->main_editor_button_vb->get_child(i)->cast_to<ToolButton>();
+			if (btn == singleton->distraction_free) continue;
+			btn->set_text("");
+		}
+	}
+}
+
 void EditorNode::open_export_template_manager() {
 
 	export_template_manager->popup_manager();
@@ -4807,6 +4832,7 @@ void EditorNode::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("_open_imported"), &EditorNode::_open_imported);
 	ClassDB::bind_method(D_METHOD("_inherit_imported"), &EditorNode::_inherit_imported);
 	ClassDB::bind_method(D_METHOD("_dim_timeout"), &EditorNode::_dim_timeout);
+	ClassDB::bind_method(D_METHOD("_check_gui_base_size"), &EditorNode::_check_gui_base_size);
 
 	ADD_SIGNAL(MethodInfo("play_pressed"));
 	ADD_SIGNAL(MethodInfo("pause_pressed"));
@@ -4940,17 +4966,19 @@ EditorNode::EditorNode() {
 	ClassDB::set_class_enabled("CollisionShape2D", true);
 	ClassDB::set_class_enabled("CollisionPolygon2D", true);
 
-	Control *theme_base = memnew(Control);
+	theme_base = memnew(Control);
 	add_child(theme_base);
 	theme_base->set_area_as_parent_rect();
 
 	gui_base = memnew(Panel);
 	theme_base->add_child(gui_base);
 	gui_base->set_area_as_parent_rect();
+	gui_base->connect("item_rect_changed", this, "_check_gui_base_size");
 
 	Ref<Theme> theme = create_editor_theme();
 	theme_base->set_theme(theme);
 	gui_base->set_theme(create_custom_theme());
+	gui_base->add_style_override("panel", gui_base->get_stylebox("Background", "EditorStyles"));
 
 	resource_preview = memnew(EditorResourcePreview);
 	add_child(resource_preview);
@@ -4965,6 +4993,7 @@ EditorNode::EditorNode() {
 	main_vbox = memnew(VBoxContainer);
 	gui_base->add_child(main_vbox);
 	main_vbox->set_area_as_parent_rect(8);
+	main_vbox->set_margin(MARGIN_TOP, 5);
 
 #if 0
 	PanelContainer *top_dark_panel = memnew( PanelContainer );
@@ -5101,7 +5130,7 @@ EditorNode::EditorNode() {
 		dock_slot[i]->set_v_size_flags(Control::SIZE_EXPAND_FILL);
 		dock_slot[i]->set_popup(dock_select_popoup);
 		dock_slot[i]->connect("pre_popup_pressed", this, "_dock_pre_popup", varray(i));
-		//dock_slot[i]->set_tab_align(TabContainer::ALIGN_LEFT);
+		dock_slot[i]->set_tab_align(TabContainer::ALIGN_LEFT);
 	}
 
 	dock_drag_timer = memnew(Timer);
@@ -5132,16 +5161,14 @@ EditorNode::EditorNode() {
 	scene_tabs->connect("right_button_pressed", this, "_scene_tab_script_edited");
 	scene_tabs->connect("tab_close", this, "_scene_tab_closed");
 
-	// MarginContainer *st_mc = memnew( MarginContainer );
-	// st_mc->add_child(scene_tabs);
 	srt->add_child(scene_tabs);
 
 	scene_root_parent = memnew(PanelContainer);
 	scene_root_parent->set_custom_minimum_size(Size2(0, 80) * EDSCALE);
-	scene_root_parent->add_style_override("panel", gui_base->get_stylebox("EditorPanel", "EditorStyles"));
+	scene_root_parent->add_style_override("panel", gui_base->get_stylebox("Content", "EditorStyles"));
 
-	// Ref<StyleBox> sp = scene_root_parent->get_stylebox("panel_full","PanelContainer");
-	// scene_root_parent->add_style_override("panel",sp);
+	//Ref<StyleBox> sp = scene_root_parent->get_stylebox("panel","TabContainer");
+	//scene_root_parent->add_style_override("panel",sp);
 
 	/*scene_root_parent->set_anchor( MARGIN_RIGHT, Control::ANCHOR_END );
 	scene_root_parent->set_anchor( MARGIN_BOTTOM, Control::ANCHOR_END );
@@ -5171,7 +5198,7 @@ EditorNode::EditorNode() {
 	scene_root_parent->add_child(viewport);
 
 	PanelContainer *top_region = memnew(PanelContainer);
-	top_region->add_style_override("panel", memnew(StyleBoxEmpty));
+	top_region->add_style_override("panel", gui_base->get_stylebox("MenuPanel", "EditorStyles"));
 	HBoxContainer *left_menu_hb = memnew(HBoxContainer);
 	top_region->add_child(left_menu_hb);
 	menu_hb->add_child(top_region);
@@ -5182,6 +5209,7 @@ EditorNode::EditorNode() {
 	file_menu->set_text(TTR("Scene"));
 	//file_menu->set_icon(gui_base->get_icon("Save","EditorIcons"));
 	left_menu_hb->add_child(file_menu);
+	file_menu->add_style_override("hover", gui_base->get_stylebox("MenuHover", "EditorStyles"));
 
 	prev_scene = memnew(ToolButton);
 	prev_scene->set_icon(gui_base->get_icon("PrevScene", "EditorIcons"));
@@ -5254,7 +5282,6 @@ EditorNode::EditorNode() {
 	}
 
 	PanelContainer *editor_region = memnew(PanelContainer);
-	editor_region->add_style_override("panel", memnew(StyleBoxEmpty));
 	main_editor_button_vb = memnew(HBoxContainer);
 	editor_region->add_child(main_editor_button_vb);
 	menu_hb->add_child(editor_region);
@@ -5298,6 +5325,7 @@ EditorNode::EditorNode() {
 	tool_menu = memnew(MenuButton);
 	tool_menu->set_tooltip(TTR("Miscellaneous project or scene-wide tools."));
 	tool_menu->set_text(TTR("Tools"));
+	tool_menu->add_style_override("hover", gui_base->get_stylebox("MenuHover", "EditorStyles"));
 
 	//tool_menu->set_icon(gui_base->get_icon("Save","EditorIcons"));
 	left_menu_hb->add_child(tool_menu);
@@ -5311,6 +5339,7 @@ EditorNode::EditorNode() {
 	export_button->set_text(TTR("Export"));
 	export_button->connect("pressed", this, "_menu_option", varray(FILE_EXPORT_PROJECT));
 	export_button->set_focus_mode(Control::FOCUS_NONE);
+	export_button->add_style_override("hover", gui_base->get_stylebox("MenuHover", "EditorStyles"));
 	left_menu_hb->add_child(export_button);
 
 	menu_hb->add_spacer();
@@ -5321,20 +5350,18 @@ EditorNode::EditorNode() {
 	//s1->set_size(Point2(10,15));
 
 	play_cc = memnew(CenterContainer);
-	// play_cc->add_style_override("bg",gui_base->get_stylebox("panel","PanelContainer"));
-
 	play_cc->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
 	gui_base->add_child(play_cc);
 	play_cc->set_area_as_parent_rect();
 	play_cc->set_anchor_and_margin(MARGIN_BOTTOM, Control::ANCHOR_BEGIN, 10);
 	play_cc->set_margin(MARGIN_TOP, 5);
 
-	top_region = memnew(PanelContainer);
-	top_region->add_style_override("panel", gui_base->get_stylebox("panel", "ButtonGroup"));
-	play_cc->add_child(top_region);
+	play_button_panel = memnew(PanelContainer);
+	play_button_panel->add_style_override("panel", gui_base->get_stylebox("PlayButtonPanel", "EditorStyles"));
+	play_cc->add_child(play_button_panel);
 
 	HBoxContainer *play_hb = memnew(HBoxContainer);
-	top_region->add_child(play_hb);
+	play_button_panel->add_child(play_hb);
 
 	play_button = memnew(ToolButton);
 	play_hb->add_child(play_button);
@@ -5450,9 +5477,6 @@ EditorNode::EditorNode() {
 	}
 
 	PanelContainer *vu_cont = memnew(PanelContainer);
-	vu_cont->add_style_override("panel", memnew(StyleBoxEmpty));
-
-	// CenterContainer *vu_cont = memnew( CenterContainer );
 	menu_hb->add_child(vu_cont);
 
 	audio_vu = memnew(TextureProgress);
@@ -5473,13 +5497,13 @@ EditorNode::EditorNode() {
 	}
 
 	top_region = memnew(PanelContainer);
-	top_region->add_style_override("panel", memnew(StyleBoxEmpty));
 	HBoxContainer *right_menu_hb = memnew(HBoxContainer);
 	top_region->add_child(right_menu_hb);
 	menu_hb->add_child(top_region);
 
 	settings_menu = memnew(MenuButton);
 	settings_menu->set_text(TTR("Settings"));
+	settings_menu->add_style_override("hover", gui_base->get_stylebox("MenuHover", "EditorStyles"));
 	//settings_menu->set_anchor(MARGIN_RIGHT,ANCHOR_END);
 	right_menu_hb->add_child(settings_menu);
 	p = settings_menu->get_popup();
@@ -5639,7 +5663,7 @@ EditorNode::EditorNode() {
 	search_button = memnew(ToolButton);
 	search_button->set_toggle_mode(true);
 	search_button->set_pressed(false);
-	search_button->set_icon(gui_base->get_icon("Search", "EditorIcons"));
+	search_button->set_icon(gui_base->get_icon("Zoom", "EditorIcons"));
 	prop_editor_hb->add_child(search_button);
 	search_button->connect("toggled", this, "_toggle_search_bar");
 
@@ -5729,7 +5753,7 @@ EditorNode::EditorNode() {
 	_update_layouts_menu();
 
 	bottom_panel = memnew(PanelContainer);
-	bottom_panel->add_style_override("panel", gui_base->get_stylebox("EditorPanel", "EditorStyles"));
+	bottom_panel->add_style_override("panel", gui_base->get_stylebox("Content", "EditorStyles"));
 	center_split->add_child(bottom_panel);
 	center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN);
 

+ 3 - 0
editor/editor_node.h

@@ -205,8 +205,10 @@ private:
 	//Ref<ResourceImportMetadata> scene_import_metadata;
 
 	PanelContainer *scene_root_parent;
+	Control *theme_base;
 	Control *gui_base;
 	VBoxContainer *main_vbox;
+	PanelContainer *play_button_panel;
 
 	//split
 
@@ -609,6 +611,7 @@ private:
 
 	void _start_dimming(bool p_dimming);
 	void _dim_timeout();
+	void _check_gui_base_size();
 
 protected:
 	void _notification(int p_what);

+ 6 - 1
editor/editor_settings.cpp

@@ -572,7 +572,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
 
 	set("editors/grid_map/pick_distance", 5000.0);
 
-	set("editors/3d/grid_color", Color(1, 1, 1, 0.2));
+	set("editors/3d/grid_color", Color(0, 1, 0, 0.2));
 	hints["editors/3d/grid_color"] = PropertyInfo(Variant::COLOR, "editors/3d/grid_color", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED);
 
 	set("editors/3d/default_fov", 45.0);
@@ -606,6 +606,11 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
 
 	set("editors/poly_editor/point_grab_radius", 8);
 
+	set("editors/theme/base_color", Color(0.3, 0.3, 0.3, 1));
+	hints["editors/theme/base_color"] = PropertyInfo(Variant::COLOR, "editors/theme/base_color", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED);
+	set("editors/theme/contrast", 0.2);
+	hints["editors/theme/contrast"] = PropertyInfo(Variant::REAL, "editors/theme/contrast", PROPERTY_HINT_RANGE, "0.01, 1, 0.01");
+
 	set("run/window_placement/rect", 0);
 	hints["run/window_placement/rect"] = PropertyInfo(Variant::INT, "run/window_placement/rect", PROPERTY_HINT_ENUM, "Default,Centered,Custom Position,Force Maximized,Force Full Screen");
 	String screen_hints = TTR("Default (Same as Editor)");

+ 343 - 59
editor/editor_themes.cpp

@@ -35,99 +35,383 @@
 #include "editor_scale.h"
 #include "editor_settings.h"
 
+static Ref<StyleBoxTexture> make_stylebox(Ref<Texture> texture, float p_left, float p_top, float p_right, float p_botton, float p_margin_left = -1, float p_margin_top = -1, float p_margin_right = -1, float p_margin_botton = -1, bool p_draw_center = true) {
+	Ref<StyleBoxTexture> style(memnew(StyleBoxTexture));
+	style->set_texture(texture);
+	style->set_margin_size(MARGIN_LEFT, p_left * EDSCALE);
+	style->set_margin_size(MARGIN_RIGHT, p_right * EDSCALE);
+	style->set_margin_size(MARGIN_BOTTOM, p_botton * EDSCALE);
+	style->set_margin_size(MARGIN_TOP, p_top * EDSCALE);
+	style->set_default_margin(MARGIN_LEFT, p_margin_left * EDSCALE);
+	style->set_default_margin(MARGIN_RIGHT, p_margin_right * EDSCALE);
+	style->set_default_margin(MARGIN_BOTTOM, p_margin_botton * EDSCALE);
+	style->set_default_margin(MARGIN_TOP, p_margin_top * EDSCALE);
+	style->set_draw_center(p_draw_center);
+	return style;
+}
+
+static Ref<StyleBoxEmpty> make_empty_stylebox(float p_margin_left = -1, float p_margin_top = -1, float p_margin_right = -1, float p_margin_bottom = -1) {
+	Ref<StyleBoxEmpty> style(memnew(StyleBoxEmpty));
+	style->set_default_margin(MARGIN_LEFT, p_margin_left * EDSCALE);
+	style->set_default_margin(MARGIN_RIGHT, p_margin_right * EDSCALE);
+	style->set_default_margin(MARGIN_BOTTOM, p_margin_bottom * EDSCALE);
+	style->set_default_margin(MARGIN_TOP, p_margin_top * EDSCALE);
+	return style;
+}
+
+static Ref<StyleBoxFlat> make_flat_stylebox(Color color, float p_margin_left = -1, float p_margin_top = -1, float p_margin_right = -1, float p_margin_bottom = -1) {
+	Ref<StyleBoxFlat> style(memnew(StyleBoxFlat));
+	style->set_bg_color(color);
+	style->set_default_margin(MARGIN_LEFT, p_margin_left * EDSCALE);
+	style->set_default_margin(MARGIN_RIGHT, p_margin_right * EDSCALE);
+	style->set_default_margin(MARGIN_BOTTOM, p_margin_bottom * EDSCALE);
+	style->set_default_margin(MARGIN_TOP, p_margin_top * EDSCALE);
+	return style;
+}
+
+static Ref<StyleBoxFlat> change_border_color(Ref<StyleBoxFlat> p_style, Color p_color) {
+	Ref<StyleBoxFlat> style = p_style->duplicate();
+	style->set_light_color(p_color);
+	style->set_dark_color(p_color);
+	return style;
+}
+
+static Ref<StyleBoxFlat> add_additional_border(Ref<StyleBoxFlat> p_style, int p_left, int p_top, int p_right, int p_bottom) {
+	Ref<StyleBoxFlat> style = p_style->duplicate();
+	style->_set_additional_border_size(MARGIN_LEFT, p_left * EDSCALE);
+	style->_set_additional_border_size(MARGIN_RIGHT, p_right * EDSCALE);
+	style->_set_additional_border_size(MARGIN_TOP, p_top * EDSCALE);
+	style->_set_additional_border_size(MARGIN_BOTTOM, p_bottom * EDSCALE);
+	return style;
+}
+
+#define HIGHLIGHT_COLOR_LIGHT highlight_color.linear_interpolate(Color(1, 1, 1, 1), 0.3)
+#define HIGHLIGHT_COLOR_DARK highlight_color.linear_interpolate(Color(0, 0, 0, 1), 0.5)
+
 Ref<Theme> create_editor_theme() {
 	Ref<Theme> theme = Ref<Theme>(memnew(Theme));
 
 	editor_register_fonts(theme);
 	editor_register_icons(theme);
 
-	Ref<StyleBoxTexture> focus_sbt = memnew(StyleBoxTexture);
-	focus_sbt->set_texture(theme->get_icon("EditorFocus", "EditorIcons"));
-	for (int i = 0; i < 4; i++) {
-		focus_sbt->set_margin_size(Margin(i), 16 * EDSCALE);
-		focus_sbt->set_default_margin(Margin(i), 16 * EDSCALE);
-	}
+	// Define colors
+	Color highlight_color = EDITOR_DEF("editors/theme/highlight_color", Color::html("#6ca9f3"));
+	Color base_color = EDITOR_DEF("editors/theme/base_color", Color::html("#2e3742"));
+	float contrast = EDITOR_DEF("editors/theme/contrast", 0.2);
+
+	Color dark_color_1 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast);
+	Color dark_color_2 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast * 2);
+	Color dark_color_3 = base_color.linear_interpolate(Color(0, 0, 0, 1), contrast * 3);
+
+	Color light_color_1 = base_color.linear_interpolate(Color(1, 1, 1, 1), contrast);
+	Color light_color_2 = base_color.linear_interpolate(Color(1, 1, 1, 1), contrast * 2);
+
+	theme->set_color("highlight_color", "Editor", highlight_color);
+	theme->set_color("base_color", "Editor", base_color);
+	theme->set_color("dark_color_1", "Editor", dark_color_1);
+	theme->set_color("dark_color_2", "Editor", dark_color_2);
+	theme->set_color("dark_color_3", "Editor", dark_color_3);
+	theme->set_color("light_color_1", "Editor", light_color_1);
+	theme->set_color("light_color_2", "Editor", light_color_2);
+
+	// Checkbox icon
+	theme->set_icon("checked", "CheckBox", theme->get_icon("Checked", "EditorIcons"));
+	theme->set_icon("unchecked", "CheckBox", theme->get_icon("Unchecked", "EditorIcons"));
+	theme->set_icon("checked", "PopupMenu", theme->get_icon("Checked", "EditorIcons"));
+	theme->set_icon("unchecked", "PopupMenu", theme->get_icon("Unchecked", "EditorIcons"));
+
+	// Editor background
+	Ref<StyleBoxFlat> style_background = make_flat_stylebox(dark_color_2, 4, 4, 4, 4);
+	theme->set_stylebox("Background", "EditorStyles", style_background);
+
+	// Focus
+	Ref<StyleBoxFlat> focus_sbt = make_flat_stylebox(light_color_1, 4, 4, 4, 4);
 	focus_sbt->set_draw_center(false);
-	theme->set_stylebox("EditorFocus", "EditorStyles", focus_sbt);
-
-	Ref<StyleBoxFlat> style_panel(memnew(StyleBoxFlat));
-	style_panel->set_bg_color(Color::html("#36424e"));
-	style_panel->set_default_margin(MARGIN_LEFT, 1);
-	style_panel->set_default_margin(MARGIN_RIGHT, 1);
-	style_panel->set_default_margin(MARGIN_BOTTOM, 1);
-	style_panel->set_default_margin(MARGIN_TOP, 4 * EDSCALE);
+	focus_sbt->set_border_size(1 * EDSCALE);
+	focus_sbt = change_border_color(focus_sbt, light_color_2);
+	theme->set_stylebox("Focus", "EditorStyles", focus_sbt);
+
+	// Menu
+	Ref<StyleBoxEmpty> style_menu = make_empty_stylebox(4, 4, 4, 4);
+	theme->set_stylebox("panel", "PanelContainer", style_menu);
+	theme->set_stylebox("MenuPanel", "EditorStyles", style_menu);
+
+	// Play button group
+	theme->set_stylebox("PlayButtonPanel", "EditorStyles", make_stylebox(theme->get_icon("PlayButtonGroup", "EditorIcons"), 16, 16, 16, 16, 8, 4, 8, 4));
+
+	Ref<StyleBoxFlat> style_menu_hover_border = make_flat_stylebox(highlight_color, 4, 4, 4, 4);
+	Ref<StyleBoxFlat> style_menu_hover_bg = make_flat_stylebox(dark_color_2, 4, 4, 4, 4);
+
+	style_menu_hover_border->set_draw_center(false);
+	style_menu_hover_border->_set_additional_border_size(MARGIN_BOTTOM, 1 * EDSCALE);
+	theme->set_stylebox("normal", "MenuButton", style_menu);
+	theme->set_stylebox("hover", "MenuButton", style_menu);
+	theme->set_stylebox("pressed", "MenuButton", style_menu);
+	theme->set_stylebox("focus", "MenuButton", style_menu);
+	theme->set_stylebox("disabled", "MenuButton", style_menu);
+
+	theme->set_stylebox("normal", "PopupMenu", style_menu);
+	theme->set_stylebox("hover", "PopupMenu", style_menu_hover_bg);
+	theme->set_stylebox("pressed", "PopupMenu", style_menu);
+	theme->set_stylebox("focus", "PopupMenu", style_menu);
+	theme->set_stylebox("disabled", "PopupMenu", style_menu);
+
+	theme->set_stylebox("normal", "ToolButton", style_menu);
+	theme->set_stylebox("hover", "ToolButton", style_menu);
+	theme->set_stylebox("pressed", "ToolButton", style_menu);
+	theme->set_stylebox("focus", "ToolButton", style_menu);
+	theme->set_stylebox("disabled", "ToolButton", style_menu);
+
+	theme->set_color("font_color_hover", "MenuButton", HIGHLIGHT_COLOR_LIGHT);
+	theme->set_color("font_color_hover", "ToolButton", HIGHLIGHT_COLOR_LIGHT);
+	theme->set_color("font_color_pressed", "ToolButton", highlight_color);
+
+	theme->set_stylebox("MenuHover", "EditorStyles", style_menu_hover_border);
+
+	// Content of each tab
+	Ref<StyleBoxFlat> style_panel = make_flat_stylebox(base_color, 1, 4, 1, 1);
 	theme->set_stylebox("panel", "TabContainer", style_panel);
-	theme->set_stylebox("EditorPanel", "EditorStyles", style_panel);
-
-	Ref<StyleBoxFlat> style_bg(memnew(StyleBoxFlat));
-	style_bg->set_bg_color(Color::html("#2b353f"));
-	style_bg->set_default_margin(MARGIN_LEFT, 0);
-	style_bg->set_default_margin(MARGIN_RIGHT, 0);
-	style_bg->set_default_margin(MARGIN_BOTTOM, 0);
-	style_bg->set_default_margin(MARGIN_TOP, 0);
+	theme->set_stylebox("Content", "EditorStyles", style_panel);
+
+	// Button
+	Ref<StyleBoxFlat> style_button = make_flat_stylebox(dark_color_1, 4, 4, 4, 4);
+	style_button->set_draw_center(true);
+	style_button->set_border_size(2 * EDSCALE);
+	style_button->set_light_color(light_color_1);
+	style_button->set_dark_color(light_color_1);
+	style_button->set_border_blend(false);
+	theme->set_stylebox("normal", "Button", style_button);
+	theme->set_stylebox("hover", "Button", style_button);
+	theme->set_stylebox("pressed", "Button", style_button);
+	theme->set_stylebox("focus", "Button", style_button);
+	theme->set_stylebox("disabled", "Button", style_button);
+	theme->set_color("font_color_hover", "Button", HIGHLIGHT_COLOR_LIGHT);
+	theme->set_color("font_color_pressed", "Button", highlight_color);
+	theme->set_color("icon_color_hover", "Button", HIGHLIGHT_COLOR_LIGHT);
+	// make icon color value bigger because icon image is not complete white
+	theme->set_color("icon_color_pressed", "Button", Color(highlight_color.r * 1.15, highlight_color.g * 1.15, highlight_color.b * 1.15, highlight_color.a));
+
+	// OptionButton
+	Ref<StyleBoxFlat> style_option_button = make_flat_stylebox(dark_color_1, 4, 4, 4, 4);
+	style_option_button->set_border_size(1 * EDSCALE);
+	style_option_button->set_light_color(light_color_1);
+	style_option_button->set_dark_color(light_color_1);
+	style_option_button->_set_additional_border_size(MARGIN_RIGHT, -16 * EDSCALE);
+	theme->set_stylebox("hover", "OptionButton", change_border_color(style_option_button, HIGHLIGHT_COLOR_LIGHT));
+	theme->set_stylebox("pressed", "OptionButton", change_border_color(style_option_button, highlight_color));
+	theme->set_stylebox("focus", "OptionButton", change_border_color(style_option_button, highlight_color));
+	theme->set_stylebox("disabled", "OptionButton", style_option_button);
+	theme->set_stylebox("normal", "OptionButton", style_option_button);
+	theme->set_icon("arrow", "OptionButton", theme->get_icon("OptionArrow", "EditorIcons"));
+
+	// PopupMenu
+	Ref<StyleBoxFlat> style_popup_menu = make_flat_stylebox(dark_color_1, 8, 8, 8, 8);
+	style_popup_menu->set_border_size(2 * EDSCALE);
+	style_popup_menu->set_light_color(light_color_1);
+	style_popup_menu->set_dark_color(light_color_1);
+	theme->set_stylebox("panel", "PopupMenu", style_popup_menu);
+
+	// Tree & script background
+	Ref<StyleBoxFlat> style_bg = make_flat_stylebox(dark_color_1, 0, 0, 0, 0);
 	theme->set_stylebox("bg", "Tree", style_bg);
-	theme->set_stylebox("bg", "ItemList", style_bg);
-	theme->set_stylebox("EditorBG", "EditorStyles", style_bg);
+	theme->set_stylebox("ScriptPanel", "EditorStyles", style_bg);
+
+	// Tree
+	theme->set_icon("checked", "Tree", theme->get_icon("Checked", "EditorIcons"));
+	theme->set_icon("unchecked", "Tree", theme->get_icon("Unchecked", "EditorIcons"));
+	theme->set_icon("arrow", "Tree", theme->get_icon("TreeArrowDown", "EditorIcons"));
+	theme->set_icon("arrow_collapsed", "Tree", theme->get_icon("TreeArrowRight", "EditorIcons"));
+	theme->set_icon("select_arrow", "Tree", theme->get_icon("Dropdown", "EditorIcons"));
+	theme->set_stylebox("bg_focus", "Tree", focus_sbt);
 
-	Ref<StyleBox> style_tree_btn = theme->get_stylebox("button_pressed", "Tree");
-	style_tree_btn->set_default_margin(MARGIN_LEFT, 3 * EDSCALE);
-	style_tree_btn->set_default_margin(MARGIN_RIGHT, 3 * EDSCALE);
+	Ref<StyleBox> style_tree_btn = make_flat_stylebox(light_color_1, 2, 4, 2, 4);
 	theme->set_stylebox("button_pressed", "Tree", style_tree_btn);
 
-	Ref<StyleBoxFlat> style_tab(memnew(StyleBoxFlat));
-	style_tab->set_default_margin(MARGIN_LEFT, 15 * EDSCALE);
-	style_tab->set_default_margin(MARGIN_RIGHT, 15 * EDSCALE);
-	style_tab->set_default_margin(MARGIN_BOTTOM, 5 * EDSCALE);
-	style_tab->set_default_margin(MARGIN_TOP, 5 * EDSCALE);
+	Ref<StyleBoxFlat> style_tree_focus = make_flat_stylebox(HIGHLIGHT_COLOR_DARK, 4, 4, 4, 4);
+	theme->set_stylebox("selected_focus", "Tree", style_tree_focus);
+
+	Ref<StyleBoxFlat> style_tree_selected = make_flat_stylebox(light_color_1, 4, 4, 4, 4);
+	theme->set_stylebox("selected", "Tree", style_tree_selected);
 
-	Ref<StyleBoxFlat> style_tab_fg = style_tab->duplicate();
-	style_tab_fg->set_bg_color(Color::html("#36424e"));
+	Ref<StyleBoxFlat> style_tree_cursor = make_flat_stylebox(HIGHLIGHT_COLOR_DARK, 4, 4, 4, 4);
+	style_tree_cursor->set_draw_center(false);
+	style_tree_cursor->set_border_size(1 * EDSCALE);
+	style_tree_cursor->set_light_color(light_color_1);
+	style_tree_cursor->set_dark_color(light_color_1);
+	Ref<StyleBoxFlat> style_tree_title = make_flat_stylebox(dark_color_3, 4, 4, 4, 4);
+	theme->set_stylebox("cursor", "Tree", style_tree_cursor);
+	theme->set_stylebox("cursor_unfocused", "Tree", style_tree_cursor);
+	theme->set_stylebox("title_button_normal", "Tree", style_tree_title);
+	theme->set_stylebox("title_button_hover", "Tree", style_tree_title);
+	theme->set_stylebox("title_button_pressed", "Tree", style_tree_title);
 
-	Ref<StyleBoxFlat> style_tab_bg = style_tab->duplicate();
+	theme->set_color("prop_category", "Editor", dark_color_3);
+	theme->set_color("prop_section", "Editor", dark_color_1);
+	theme->set_color("prop_subsection", "Editor", dark_color_2);
+	theme->set_color("fg_selected", "Editor", Color::html("ffbd8e8e"));
+	theme->set_color("fg_error", "Editor", Color::html("ffbd8e8e"));
+	theme->set_color("drop_position_color", "Tree", highlight_color);
+
+	// ItemList
+	Ref<StyleBoxFlat> style_itemlist_cursor = make_flat_stylebox(highlight_color, 8, 8, 8, 8);
+	style_itemlist_cursor->set_draw_center(false);
+	style_itemlist_cursor->set_border_size(1 * EDSCALE);
+	style_itemlist_cursor->set_light_color(light_color_1);
+	style_itemlist_cursor->set_dark_color(light_color_1);
+	theme->set_stylebox("cursor", "ItemList", style_itemlist_cursor);
+	theme->set_stylebox("cursor_unfocused", "ItemList", style_itemlist_cursor);
+	theme->set_stylebox("selected_focus", "ItemList", style_tree_focus);
+	theme->set_stylebox("selected", "ItemList", style_tree_selected);
+	theme->set_stylebox("bg_focus", "ItemList", focus_sbt);
+	theme->set_stylebox("bg", "ItemList", style_bg);
+
+	Ref<StyleBoxFlat> style_tab_fg = make_flat_stylebox(base_color, 15, 5, 15, 5);
+	Ref<StyleBoxFlat> style_tab_bg = make_flat_stylebox(base_color, 15, 5, 15, 5);
 	style_tab_bg->set_draw_center(false);
 
+	// Tabs & TabContainer
 	theme->set_stylebox("tab_fg", "TabContainer", style_tab_fg);
 	theme->set_stylebox("tab_bg", "TabContainer", style_tab_bg);
 	theme->set_stylebox("tab_fg", "Tabs", style_tab_fg);
 	theme->set_stylebox("tab_bg", "Tabs", style_tab_bg);
+	theme->set_color("font_color_fg", "TabContainer", Color(1, 1, 1, 1));
+	theme->set_color("font_color_bg", "TabContainer", light_color_2);
+	theme->set_icon("menu", "TabContainer", theme->get_icon("TabMenu", "EditorIcons"));
+	theme->set_icon("menu_hl", "TabContainer", theme->get_icon("TabMenu", "EditorIcons"));
+
+	// Debugger
+	Ref<StyleBoxFlat> style_panel_debugger = make_flat_stylebox(dark_color_2, 0, 4, 0, 0);
+	theme->set_stylebox("DebuggerPanel", "EditorStyles", style_panel_debugger);
 
-	Ref<StyleBoxFlat> style_panel_debugger(memnew(StyleBoxFlat));
-	style_panel_debugger->set_bg_color(Color::html("#3e4c5a"));
-	style_panel_debugger->set_default_margin(MARGIN_LEFT, 0);
-	style_panel_debugger->set_default_margin(MARGIN_RIGHT, 0);
-	style_panel_debugger->set_default_margin(MARGIN_BOTTOM, 0);
-	style_panel_debugger->set_default_margin(MARGIN_TOP, 4 * EDSCALE);
-	theme->set_stylebox("EditorPanelDebugger", "EditorStyles", style_panel_debugger);
-
-	Ref<StyleBoxFlat> style_tab_fg_debugger = style_tab->duplicate();
-	style_tab_fg_debugger->set_bg_color(Color::html("#3e4c5a"));
-	style_tab_fg_debugger->set_default_margin(MARGIN_LEFT, 10 * EDSCALE);
-	style_tab_fg_debugger->set_default_margin(MARGIN_RIGHT, 10 * EDSCALE);
-	Ref<StyleBoxFlat> style_tab_bg_debugger = style_tab->duplicate();
+	Ref<StyleBoxFlat> style_tab_fg_debugger = make_flat_stylebox(dark_color_2, 10, 5, 10, 5);
+	Ref<StyleBoxFlat> style_tab_bg_debugger = make_flat_stylebox(dark_color_2, 10, 5, 10, 5);
 	style_tab_bg_debugger->set_draw_center(false);
-	style_tab_bg_debugger->set_default_margin(MARGIN_LEFT, 10 * EDSCALE);
-	style_tab_bg_debugger->set_default_margin(MARGIN_RIGHT, 10 * EDSCALE);
 
-	theme->set_stylebox("EditorTabFGDebugger", "EditorStyles", style_tab_fg_debugger);
-	theme->set_stylebox("EditorTabBGDebugger", "EditorStyles", style_tab_bg_debugger);
+	theme->set_stylebox("DebuggerTabFG", "EditorStyles", style_tab_fg_debugger);
+	theme->set_stylebox("DebuggerTabBG", "EditorStyles", style_tab_bg_debugger);
 
+	// LineEdit
+	Ref<StyleBoxFlat> style_lineedit = make_flat_stylebox(dark_color_1, 4, 4, 4, 4);
+	style_lineedit->set_border_size(1 * EDSCALE);
+	style_lineedit->set_light_color(light_color_1);
+	style_lineedit->set_dark_color(light_color_1);
+	Ref<StyleBoxFlat> style_lineedit_disabled = style_lineedit->duplicate();
+	style_lineedit_disabled->set_bg_color(light_color_2);
+	theme->set_stylebox("normal", "LineEdit", style_lineedit);
+	theme->set_stylebox("focus", "LineEdit", change_border_color(style_lineedit, highlight_color));
+	theme->set_stylebox("read_only", "LineEdit", style_lineedit_disabled);
+
+	// TextEdit
 	Ref<StyleBoxFlat> style_textedit_normal(memnew(StyleBoxFlat));
-	style_textedit_normal->set_bg_color(Color::html("#29343d"));
+	style_textedit_normal->set_bg_color(dark_color_2);
 	style_textedit_normal->set_default_margin(MARGIN_LEFT, 0);
 	style_textedit_normal->set_default_margin(MARGIN_RIGHT, 0);
 	style_textedit_normal->set_default_margin(MARGIN_BOTTOM, 0);
 	style_textedit_normal->set_default_margin(MARGIN_TOP, 0);
 	theme->set_stylebox("normal", "TextEdit", style_textedit_normal);
+	theme->set_stylebox("focus", "TextEdit", focus_sbt);
+	theme->set_constant("side_margin", "TabContainer", 0);
+
+	// H/VSplitContainer
+	theme->set_stylebox("bg", "VSplitContainer", make_stylebox(theme->get_icon("VsplitBg", "EditorIcons"), 1, 1, 1, 1));
+	theme->set_stylebox("bg", "HSplitContainer", make_stylebox(theme->get_icon("HsplitBg", "EditorIcons"), 1, 1, 1, 1));
+
+	theme->set_icon("grabber", "VSplitContainer", theme->get_icon("Vsplitter", "EditorIcons"));
+	theme->set_icon("grabber", "HSplitContainer", theme->get_icon("Hsplitter", "EditorIcons"));
 
 	theme->set_constant("separation", "HSplitContainer", 8 * EDSCALE);
 	theme->set_constant("separation", "VSplitContainer", 8 * EDSCALE);
-	theme->set_constant("side_margin", "TabContainer", 0);
 
-	// theme->set_color("prop_category","Editor",Color::hex(0x3f3a44ff));
-	// theme->set_color("prop_section","Editor",Color::hex(0x35313aff));
-	// theme->set_color("prop_subsection","Editor",Color::hex(0x312e37ff));
-	// theme->set_color("fg_selected","Editor",Color::html("ffbd8e8e"));
-	// theme->set_color("fg_error","Editor",Color::html("ffbd8e8e"));
+	// WindowDialog
+	Ref<StyleBoxFlat> style_window = make_flat_stylebox(dark_color_2, 4, 4, 4, 4);
+	style_window->set_border_size(2 * EDSCALE);
+	style_window->set_border_blend(false);
+	style_window->set_light_color(light_color_2);
+	style_window->set_dark_color(light_color_2);
+	style_window->_set_additional_border_size(MARGIN_TOP, 24 * EDSCALE);
+	theme->set_stylebox("panel", "WindowDialog", style_window);
+
+	// HScrollBar
+	Ref<Texture> empty_icon = memnew(ImageTexture);
+
+	theme->set_stylebox("scroll", "HScrollBar", make_stylebox(theme->get_icon("ScrollBg", "EditorIcons"), 5, 5, 5, 5, 0, 0, 0, 0));
+	theme->set_stylebox("scroll_focus", "HScrollBar", make_stylebox(theme->get_icon("ScrollBg", "EditorIcons"), 5, 5, 5, 5, 0, 0, 0, 0));
+	theme->set_stylebox("grabber", "HScrollBar", make_stylebox(theme->get_icon("ScrollGrabber", "EditorIcons"), 6, 6, 6, 6, 2, 2, 2, 2));
+	theme->set_stylebox("grabber_highlight", "HScrollBar", make_stylebox(theme->get_icon("ScrollGrabberHl", "EditorIcons"), 5, 5, 5, 5, 2, 2, 2, 2));
+
+	theme->set_icon("increment", "HScrollBar", empty_icon);
+	theme->set_icon("increment_highlight", "HScrollBar", empty_icon);
+	theme->set_icon("decrement", "HScrollBar", empty_icon);
+	theme->set_icon("decrement_highlight", "HScrollBar", empty_icon);
+
+	// VScrollBar
+	theme->set_stylebox("scroll", "VScrollBar", make_stylebox(theme->get_icon("ScrollBg", "EditorIcons"), 5, 5, 5, 5, 0, 0, 0, 0));
+	theme->set_stylebox("scroll_focus", "VScrollBar", make_stylebox(theme->get_icon("ScrollBg", "EditorIcons"), 5, 5, 5, 5, 0, 0, 0, 0));
+	theme->set_stylebox("grabber", "VScrollBar", make_stylebox(theme->get_icon("ScrollGrabber", "EditorIcons"), 6, 6, 6, 6, 2, 2, 2, 2));
+	theme->set_stylebox("grabber_highlight", "VScrollBar", make_stylebox(theme->get_icon("ScrollGrabberHl", "EditorIcons"), 5, 5, 5, 5, 2, 2, 2, 2));
+
+	theme->set_icon("increment", "VScrollBar", empty_icon);
+	theme->set_icon("increment_highlight", "VScrollBar", empty_icon);
+	theme->set_icon("decrement", "VScrollBar", empty_icon);
+	theme->set_icon("decrement_highlight", "VScrollBar", empty_icon);
+
+	// HSlider
+	theme->set_stylebox("slider", "HSlider", make_stylebox(theme->get_icon("HsliderBg", "EditorIcons"), 4, 4, 4, 4));
+	theme->set_icon("grabber", "HSlider", theme->get_icon("SliderGrabber", "EditorIcons"));
+	theme->set_icon("grabber_highlight", "HSlider", theme->get_icon("SliderGrabberHl", "EditorIcons"));
+
+	// VSlider
+	theme->set_stylebox("slider", "VSlider", make_stylebox(theme->get_icon("VsliderBg", "EditorIcons"), 4, 4, 4, 4));
+	theme->set_icon("grabber", "VSlider", theme->get_icon("SliderGrabber", "EditorIcons"));
+	theme->set_icon("grabber_highlight", "VSlider", theme->get_icon("SliderGrabberHl", "EditorIcons"));
+
+	// TooltipPanel
+	Ref<StyleBoxFlat> style_tooltip = make_flat_stylebox(Color(1, 1, 1, 0.8), 8, 8, 8, 8);
+	style_tooltip->set_border_size(2 * EDSCALE);
+	style_tooltip->set_border_blend(false);
+	style_tooltip->set_light_color(Color(1, 1, 1, 0.9));
+	style_tooltip->set_dark_color(Color(1, 1, 1, 0.9));
+	theme->set_stylebox("panel", "TooltipPanel", style_tooltip);
+
+	// PopupPanel
+	Ref<StyleBoxFlat> style_dock_select = make_flat_stylebox(base_color);
+	style_dock_select->set_light_color(light_color_1);
+	style_dock_select->set_dark_color(light_color_1);
+	style_dock_select = add_additional_border(style_dock_select, 2, 2, 2, 2);
+	theme->set_stylebox("panel", "PopupPanel", style_dock_select);
+
+	// SpinBox
+	theme->set_icon("updown", "SpinBox", theme->get_icon("SpinboxUpdown", "EditorIcons"));
+
+	// GraphNode
+	Ref<StyleBoxFlat> graphsb = make_flat_stylebox(Color(0, 0, 0, 0.3), 16, 24, 16, 5);
+	graphsb->set_border_blend(false);
+	graphsb->set_border_size(2);
+	graphsb->set_light_color(Color(1, 1, 1, 0.6));
+	graphsb->set_dark_color(Color(1, 1, 1, 0.6));
+	graphsb = add_additional_border(graphsb, 0, -22, 0, 0);
+	Ref<StyleBoxFlat> graphsbselected = make_flat_stylebox(Color(0, 0, 0, 0.4), 16, 24, 16, 5);
+	graphsbselected->set_border_blend(false);
+	graphsbselected->set_border_size(2);
+	graphsbselected->set_light_color(Color(1, 1, 1, 0.9));
+	graphsbselected->set_dark_color(Color(1, 1, 1, 0.9));
+	graphsbselected = add_additional_border(graphsbselected, 0, -22, 0, 0);
+	Ref<StyleBoxFlat> graphsbcomment = make_flat_stylebox(Color(0, 0, 0, 0.3), 16, 24, 16, 5);
+	graphsbcomment->set_border_blend(false);
+	graphsbcomment->set_border_size(1);
+	graphsbcomment->set_light_color(Color(1, 1, 1, 0.6));
+	graphsbcomment->set_dark_color(Color(1, 1, 1, 0.6));
+	graphsbcomment = add_additional_border(graphsbcomment, 0, -22, 0, 0);
+	Ref<StyleBoxFlat> graphsbcommentselected = make_flat_stylebox(Color(0, 0, 0, 0.4), 16, 24, 16, 5);
+	graphsbcommentselected->set_border_blend(false);
+	graphsbcommentselected->set_border_size(1);
+	graphsbcommentselected->set_light_color(Color(1, 1, 1, 0.9));
+	graphsbcommentselected->set_dark_color(Color(1, 1, 1, 0.9));
+	graphsbcommentselected = add_additional_border(graphsbcommentselected, 0, -22, 0, 0);
+	theme->set_stylebox("frame", "GraphNode", graphsb);
+	theme->set_stylebox("selectedframe", "GraphNode", graphsbselected);
+	theme->set_stylebox("comment", "GraphNode", graphsbcomment);
+	theme->set_stylebox("commentfocus", "GraphNode", graphsbcommentselected);
 
 	return theme;
 }

+ 3 - 3
editor/filesystem_dock.cpp

@@ -150,11 +150,10 @@ void FileSystemDock::_notification(int p_what) {
 			}
 			button_display_mode->connect("pressed", this, "_change_file_display");
 			//file_options->set_icon( get_icon("Tools","EditorIcons"));
-
 			files->connect("item_activated", this, "_select_file");
 			button_hist_next->connect("pressed", this, "_fw_history");
 			button_hist_prev->connect("pressed", this, "_bw_history");
-			search_icon->set_texture(get_icon("Search", "EditorIcons"));
+			search_icon->set_texture(get_icon("Zoom", "EditorIcons"));
 
 			button_hist_next->set_icon(get_icon("Forward", "EditorIcons"));
 			button_hist_prev->set_icon(get_icon("Back", "EditorIcons"));
@@ -1669,6 +1668,8 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) {
 	button_reload->set_tooltip(TTR("Re-Scan Filesystem"));
 	button_reload->hide();
 
+	//toolbar_hbc->add_spacer();
+
 	button_favorite = memnew(Button);
 	button_favorite->set_flat(true);
 	button_favorite->set_toggle_mode(true);
@@ -1723,7 +1724,6 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) {
 	tree->connect("item_rmb_selected", this, "_dir_rmb_pressed");
 
 	files = memnew(ItemList);
-	files->add_style_override("bg", editor->get_gui_base()->get_stylebox("EditorBG", "EditorStyles"));
 	files->set_v_size_flags(SIZE_EXPAND_FILL);
 	files->set_select_mode(ItemList::SELECT_MULTI);
 	files->set_drag_forwarding(this);

BIN
editor/icons/2x/icon_checked.png


BIN
editor/icons/2x/icon_dropdown.png


BIN
editor/icons/2x/icon_hslider_bg.png


BIN
editor/icons/2x/icon_option_arrow.png


BIN
editor/icons/2x/icon_play_button_group.png


BIN
editor/icons/2x/icon_slider_grabber.png


BIN
editor/icons/2x/icon_slider_grabber_hl.png


BIN
editor/icons/2x/icon_spinbox_updown.png


BIN
editor/icons/2x/icon_tab_menu.png


BIN
editor/icons/2x/icon_texture.png


BIN
editor/icons/2x/icon_tree_arrow_down.png


BIN
editor/icons/2x/icon_tree_arrow_right.png


BIN
editor/icons/2x/icon_unchecked.png


BIN
editor/icons/2x/icon_vslider_bg.png


BIN
editor/icons/icon_checked.png


BIN
editor/icons/icon_dropdown.png


BIN
editor/icons/icon_hslider_bg.png


BIN
editor/icons/icon_hsplit_bg.png


BIN
editor/icons/icon_hsplitter.png


BIN
editor/icons/icon_option_arrow.png


+ 0 - 0
scene/resources/default_theme/button_group.png → editor/icons/icon_play_button_group.png


BIN
editor/icons/icon_scroll_bg.png


BIN
editor/icons/icon_scroll_grabber.png


BIN
editor/icons/icon_scroll_grabber_hl.png


BIN
editor/icons/icon_slider_grabber.png


BIN
editor/icons/icon_slider_grabber_hl.png


BIN
editor/icons/icon_spinbox_updown.png


BIN
editor/icons/icon_tab_menu.png


BIN
editor/icons/icon_texture.png


BIN
editor/icons/icon_tree_arrow_down.png


BIN
editor/icons/icon_tree_arrow_right.png


BIN
editor/icons/icon_unchecked.png


BIN
editor/icons/icon_vslider_bg.png


BIN
editor/icons/icon_vsplit_bg.png


BIN
editor/icons/icon_vsplitter.png


+ 0 - 105
editor/icons/source/icon_3_d.svg

@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="16"
-   height="16"
-   viewBox="0 0 16 16"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.92.1 r"
-   inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_add_track.png"
-   inkscape:export-xdpi="45"
-   inkscape:export-ydpi="45"
-   sodipodi:docname="icon_3_d.svg">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="32.000001"
-     inkscape:cx="7.1007207"
-     inkscape:cy="6.155123"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="true"
-     units="px"
-     inkscape:snap-bbox="true"
-     inkscape:bbox-paths="true"
-     inkscape:bbox-nodes="true"
-     inkscape:snap-bbox-edge-midpoints="true"
-     inkscape:snap-bbox-midpoints="false"
-     inkscape:snap-object-midpoints="true"
-     inkscape:snap-center="true"
-     inkscape:window-width="1600"
-     inkscape:window-height="836"
-     inkscape:window-x="0"
-     inkscape:window-y="27"
-     inkscape:window-maximized="1"
-     inkscape:snap-midpoints="true"
-     inkscape:snap-smooth-nodes="true"
-     inkscape:object-nodes="true">
-    <inkscape:grid
-       type="xygrid"
-       id="grid3336" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(0,-1036.3622)">
-    <path
-       style="fill:none;stroke:#e0e0e0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 2.0050708,1040.3622 2,-2 2,2"
-       id="path4485"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccc" />
-    <path
-       style="fill:none;stroke:#e0e0e0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 4.0050708,1039.3622 v 9 h 9.0000002"
-       id="path4487"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccc" />
-    <path
-       sodipodi:nodetypes="ccc"
-       inkscape:connector-curvature="0"
-       id="path4489"
-       d="m 12.005071,1046.3622 2,2 -2,2"
-       style="fill:none;stroke:#e0e0e0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-    <path
-       style="fill:none;stroke:#e0e0e0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 4.0050708,1048.3622 8.0000002,-8"
-       id="path4496"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       sodipodi:nodetypes="ccc"
-       inkscape:connector-curvature="0"
-       id="path4498"
-       d="m 10.176644,1039.3622 h 2.828427 v 2.8284"
-       style="fill:none;stroke:#e0e0e0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-  </g>
-</svg>

+ 0 - 0
scene/resources/default_theme/source/checked.svg → editor/icons/source/icon_checked.svg


+ 0 - 0
scene/resources/default_theme/source/dropdown.svg → editor/icons/source/icon_dropdown.svg


+ 11 - 11
scene/resources/default_theme/source/hslider_bg.svg → editor/icons/source/icon_hslider_bg.svg

@@ -14,11 +14,11 @@
    viewBox="0 0 16 15.999999"
    id="svg2"
    version="1.1"
-   inkscape:version="0.92.1 r"
-   sodipodi:docname="hslider_bg.svg"
-   inkscape:export-filename="/home/djrm/Projects/godot/scene/resources/default_theme/checked.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
+   inkscape:version="0.92.1 unknown"
+   sodipodi:docname="icon_hslider_bg.svg"
+   inkscape:export-filename="/mnt/2TB/Development/godot_dev/editor/icons/2x/icon_hslider_bg.png"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96">
   <defs
      id="defs4" />
   <sodipodi:namedview
@@ -29,7 +29,7 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="32"
-     inkscape:cx="9.463221"
+     inkscape:cx="4.166346"
      inkscape:cy="6.5721301"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
@@ -41,11 +41,11 @@
      inkscape:bbox-paths="true"
      inkscape:bbox-nodes="true"
      inkscape:snap-bbox-edge-midpoints="true"
-     inkscape:window-width="1600"
-     inkscape:window-height="836"
-     inkscape:window-x="0"
-     inkscape:window-y="27"
-     inkscape:window-maximized="1"
+     inkscape:window-width="929"
+     inkscape:window-height="897"
+     inkscape:window-x="436"
+     inkscape:window-y="155"
+     inkscape:window-maximized="0"
      inkscape:snap-smooth-nodes="true"
      inkscape:object-nodes="true">
     <inkscape:grid

+ 0 - 0
scene/resources/default_theme/source/hsplitter.svg → editor/icons/source/icon_hsplitter.svg


+ 145 - 0
editor/icons/source/icon_mini_matrix32.svg

@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="12"
+   viewBox="0 0 16 12"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_add_track.png"
+   inkscape:export-xdpi="45"
+   inkscape:export-ydpi="45"
+   sodipodi:docname="icon_mini_matrix32.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="32.000001"
+     inkscape:cx="1.5471383"
+     inkscape:cy="5.978497"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     units="px"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:bbox-nodes="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:snap-bbox-midpoints="false"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1016"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:object-nodes="true"
+     inkscape:snap-smooth-nodes="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3336" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1040.3622)">
+    <path
+       style="fill:#ddf4aa;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 8 2 L 8 4 L 9 4 L 10 4 A 1 1 0 0 1 9 5 L 9 7 A 1 1 0 0 1 10 8 A 1 1 0 0 1 9 9 L 8 9 L 8 11 L 9 11 A 3 3 0 0 0 11.597656 9.5 A 3 3 0 0 0 11.597656 6.5 A 3 3 0 0 0 11.232422 5.9980469 A 3 3 0 0 0 11.597656 5.5 A 3 3 0 0 0 11.994141 4 L 12 4 L 12 2 L 9 2 L 8 2 z "
+       transform="translate(0,1040.3622)"
+       id="path4753" />
+    <rect
+       y="1048.3622"
+       x="11"
+       height="2"
+       width="5"
+       id="rect4763"
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       sodipodi:open="true"
+       d="m 13,1050.3622 a 2,2 0 0 1 -1.732051,-1 2,2 0 0 1 0,-2 2,2 0 0 1 1.732051,-1"
+       sodipodi:end="4.712389"
+       sodipodi:start="1.5707963"
+       sodipodi:ry="2"
+       sodipodi:rx="2"
+       sodipodi:cy="1048.3622"
+       sodipodi:cx="13"
+       sodipodi:type="arc"
+       id="path4765"
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4767"
+       d="m 13,1042.3622 0,2 a 1,1 0 0 1 1,1 1,1 0 0 1 -1,1 l 0,2 a 3,3 0 0 0 2.597656,-1.5 3,3 0 0 0 0,-3 3,3 0 0 0 -2.597656,-1.5 z"
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 2,1044.3622 a 3,3 0 0 1 3,3 l -2,0 a 1.0000174,1.0000174 0 0 0 -1,-1 l 0,-2 z"
+       id="path4771"
+       inkscape:connector-curvature="0" />
+    <rect
+       y="-1050.3622"
+       x="3"
+       height="3"
+       width="2"
+       id="rect4773"
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="scale(1,-1)" />
+    <rect
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4775"
+       width="2"
+       height="5.9999828"
+       x="0"
+       y="-1050.3622"
+       transform="scale(1,-1)" />
+    <rect
+       transform="scale(1,-1)"
+       y="-1050.3622"
+       x="3"
+       height="5.9999828"
+       width="2"
+       id="rect4777"
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4779"
+       d="m 5,1044.3622 a 3,3 0 0 1 3,3 l -2,0 a 1.0000174,1.0000174 0 0 0 -1,-1 l 0,-2 z"
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="fill:#c4ec69;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4781"
+       width="2"
+       height="3.0000002"
+       x="6"
+       y="-1050.3622"
+       transform="scale(1,-1)" />
+  </g>
+</svg>

+ 12 - 13
scene/resources/default_theme/source/tab.svg → editor/icons/source/icon_option_arrow.svg

@@ -9,16 +9,16 @@
    xmlns="http://www.w3.org/2000/svg"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="8"
-   height="8"
-   viewBox="0 0 8 8"
+   width="12"
+   height="12"
+   viewBox="0 0 12 12"
    id="svg2"
    version="1.1"
    inkscape:version="0.92.1 r"
    inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_collapse.png"
    inkscape:export-xdpi="45"
    inkscape:export-ydpi="45"
-   sodipodi:docname="tab.svg">
+   sodipodi:docname="option_arrow.svg">
   <defs
      id="defs4" />
   <sodipodi:namedview
@@ -28,9 +28,9 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="32.000001"
-     inkscape:cx="-2.6446005"
-     inkscape:cy="5.445875"
+     inkscape:zoom="45.254834"
+     inkscape:cx="3.1667338"
+     inkscape:cy="5.9875884"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
@@ -69,13 +69,12 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer"
      id="layer1"
-     transform="translate(0,-1044.3622)">
+     transform="translate(0,-1040.3622)">
     <path
-       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:0.07843138;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
-       d="m 8,3.984375 c -4,2.6770833 -2,1.3385417 0,0 z M 8,4 C 7.9958579,3.7402262 7.8907874,3.4766349 7.7070312,3.2929688 l -3,-3.00000005 C 4.5187601,0.09943602 4.2602361,-0.00974989 3.9902344,-0.00976563 3.0928174,-0.00952997 2.6498571,1.0811201 3.2929688,1.7070312 L 4.5859375,3 H 0 V 5 L 4.5859375,5 3.2929688,6.2929688 C 2.3113156,7.2354775 3.7645225,8.6886844 4.7070312,7.7070312 l 3,-3 C 7.898443,4.5157079 8.0041444,4.2706029 8,4 Z"
-       transform="translate(0,1044.3622)"
-       id="path814"
        inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccccccccccccccc" />
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:0.78431374;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="m 9.9999996,1043.3583 c -0.2637796,0.01 -0.5144012,0.1165 -0.697265,0.3067 l -3.292969,3.2929 -3.2929688,-3.2929 C 2.5285367,1043.4714 2.2700113,1043.3622 2,1043.3622 c -0.8974208,2e-4 -1.34038281,1.0909 -0.6972656,1.7168 l 4,4 c 0.3905299,0.3904 1.0235325,0.3904 1.4140624,0 l 4.0000002,-4 c 0.657344,-0.6321 0.194906,-1.7422 -0.7167974,-1.7207 z"
+       id="path4484"
+       sodipodi:nodetypes="cccccccccc" />
   </g>
 </svg>

+ 159 - 0
editor/icons/source/icon_particles_shader.svg

@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_node_2d.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   sodipodi:docname="icon_particles_shader.svg">
+  <defs
+     id="defs4">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath4253">
+      <path
+         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 16.458984,1024.37 a 12.000027,12.000027 0 0 0 -3.564453,0.4004 12.000027,12.000027 0 0 0 -8.4863279,14.6973 12.000027,12.000027 0 0 0 14.6972659,8.4863 12.000027,12.000027 0 0 0 8.486328,-14.6973 12.000027,12.000027 0 0 0 -11.132813,-8.8867 z M 16.25,1029.8212 a 6.5451717,6.5451717 0 0 1 6.072266,4.8476 6.5451717,6.5451717 0 0 1 -4.628907,8.0157 6.5451717,6.5451717 0 0 1 -8.0156246,-4.6289 6.5451717,6.5451717 0 0 1 4.6289066,-8.0157 6.5451717,6.5451717 0 0 1 1.943359,-0.2187 z"
+         id="path4255"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath4199">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4201"
+         d="m 16.5,1025.8622 a 11.8125,10.499999 0 0 0 -11.8125001,10.5 11.8125,10.499999 0 0 0 11.8125001,10.5 11.8125,10.499999 0 0 0 11.8125,-10.5 11.8125,10.499999 0 0 0 -11.8125,-10.5 z m -3.375,3 a 3.375,2.9999997 0 0 1 3.375,3 3.375,2.9999997 0 0 1 -3.375,3 3.375,2.9999997 0 0 1 -3.3750001,-3 3.375,2.9999997 0 0 1 3.3750001,-3 z"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath4208">
+      <path
+         style="opacity:1;fill:#a5b7f5;fill-opacity:0.98823529;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
+         d="M 8,1037.3622 A 4.4999948,4.9999847 0 0 0 3.5859375,1041.3934 3,3 0 0 0 1,1044.3622 a 3,3 0 0 0 3,3 l 8,0 a 3,3 0 0 0 3,-3 3,3 0 0 0 -2.589844,-2.9668 A 4.4999948,4.9999847 0 0 0 8,1037.3622 Z m -4,11 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m 8,0 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -4,1 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z"
+         id="path4210"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="15.999999"
+     inkscape:cx="8.2922739"
+     inkscape:cy="6.6952763"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     units="px"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:bbox-nodes="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:snap-bbox-midpoints="true"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1016"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:object-paths="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:object-nodes="true"
+     inkscape:snap-smooth-nodes="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3336"
+       empspacing="4" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1036.3622)">
+    <g
+       id="g4271"
+       clip-path="url(#clipPath4208)"
+       transform="translate(0,1.8694115e-5)">
+      <rect
+         y="1037.3622"
+         x="0"
+         height="2.0000031"
+         width="16"
+         id="rect4159"
+         style="fill:#ff7070;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="fill:#ffeb70;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4161"
+         width="16"
+         height="2.0000029"
+         x="0"
+         y="1039.3622" />
+      <rect
+         style="fill:#9dff70;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4163"
+         width="16"
+         height="1.9999999"
+         x="0"
+         y="1041.3622" />
+      <rect
+         y="1043.3622"
+         x="0"
+         height="2.0000024"
+         width="16"
+         id="rect4165"
+         style="fill:#70ffb9;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         y="1045.3622"
+         x="0"
+         height="2.0000021"
+         width="16"
+         id="rect4167"
+         style="fill:#70deff;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="fill:#ff70ac;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4169"
+         width="16"
+         height="1.9999987"
+         x="0"
+         y="1049.3622" />
+      <rect
+         style="fill:#9f70ff;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4146"
+         width="16"
+         height="2.0000021"
+         x="0"
+         y="1047.3622" />
+    </g>
+  </g>
+</svg>

+ 0 - 0
scene/resources/default_theme/source/button_group.svg → editor/icons/source/icon_play_button_group.svg


+ 0 - 0
scene/resources/default_theme/source/scroll_bg.svg → editor/icons/source/icon_scroll_bg.svg


+ 0 - 0
scene/resources/default_theme/source/scroll_grabber.svg → editor/icons/source/icon_scroll_grabber.svg


+ 16 - 13
scene/resources/default_theme/source/scroll_grabber_hl.svg → editor/icons/source/icon_scroll_grabber_hl.svg

@@ -14,9 +14,9 @@
    viewBox="0 0 12 11.999999"
    id="svg2"
    version="1.1"
-   inkscape:version="0.92.1 r"
-   sodipodi:docname="scroll_grabber_hl.svg"
-   inkscape:export-filename="/home/djrm/Projects/godot/scene/resources/default_theme/panel_bg.png"
+   inkscape:version="0.92.1 unknown"
+   sodipodi:docname="icon_scroll_grabber_hl.svg"
+   inkscape:export-filename="/mnt/2TB/Development/godot_dev/editor/icons/icon_scroll_grabber_hl.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
   <defs
@@ -29,8 +29,8 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="45.254836"
-     inkscape:cx="1.4412236"
-     inkscape:cy="5.623836"
+     inkscape:cx="3.0874565"
+     inkscape:cy="5.7564185"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
@@ -41,11 +41,11 @@
      inkscape:bbox-paths="true"
      inkscape:bbox-nodes="true"
      inkscape:snap-bbox-edge-midpoints="true"
-     inkscape:window-width="1600"
-     inkscape:window-height="836"
-     inkscape:window-x="0"
-     inkscape:window-y="27"
-     inkscape:window-maximized="1"
+     inkscape:window-width="1097"
+     inkscape:window-height="1076"
+     inkscape:window-x="161"
+     inkscape:window-y="200"
+     inkscape:window-maximized="0"
      inkscape:snap-nodes="false">
     <inkscape:grid
        type="xygrid"
@@ -60,7 +60,7 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
+        <dc:title></dc:title>
       </cc:Work>
     </rdf:RDF>
   </metadata>
@@ -70,10 +70,13 @@
      id="layer1"
      transform="translate(0,-1040.3623)">
     <circle
-       style="opacity:1;fill:#7eff8a;fill-opacity:1;stroke:none;stroke-width:2.24999642;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       style="opacity:1;fill:#f9f9f9;fill-opacity:0.73000002;stroke:none;stroke-width:2.24999642;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        id="path4239"
        cx="6"
        cy="1046.3623"
-       r="2.9999952" />
+       r="2.9999952"
+       inkscape:export-filename="/mnt/2TB/Development/godot_dev/editor/icons/icon_scroll_grabber_hl.png"
+       inkscape:export-xdpi="96"
+       inkscape:export-ydpi="96" />
   </g>
 </svg>

+ 9 - 9
scene/resources/default_theme/source/hslider_grabber.svg → editor/icons/source/icon_slider_grabber.svg

@@ -14,8 +14,8 @@
    viewBox="0 0 16 15.999999"
    id="svg2"
    version="1.1"
-   inkscape:version="0.92.1 r"
-   sodipodi:docname="hslider_grabber.svg"
+   inkscape:version="0.92.1 unknown"
+   sodipodi:docname="icon_slider_grabber.svg"
    inkscape:export-filename="/home/djrm/Projects/godot/scene/resources/default_theme/checked.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
@@ -29,8 +29,8 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="32"
-     inkscape:cx="2.6109686"
-     inkscape:cy="6.3424144"
+     inkscape:cx="3.7828436"
+     inkscape:cy="7.4986644"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
@@ -41,11 +41,11 @@
      inkscape:bbox-paths="true"
      inkscape:bbox-nodes="true"
      inkscape:snap-bbox-edge-midpoints="true"
-     inkscape:window-width="1600"
-     inkscape:window-height="836"
-     inkscape:window-x="0"
-     inkscape:window-y="27"
-     inkscape:window-maximized="1"
+     inkscape:window-width="1195"
+     inkscape:window-height="722"
+     inkscape:window-x="91"
+     inkscape:window-y="633"
+     inkscape:window-maximized="0"
      inkscape:snap-smooth-nodes="true"
      inkscape:object-nodes="true">
     <inkscape:grid

+ 13 - 13
scene/resources/default_theme/source/hslider_grabber_hl.svg → editor/icons/source/icon_slider_grabber_hl.svg

@@ -14,11 +14,11 @@
    viewBox="0 0 16 15.999999"
    id="svg2"
    version="1.1"
-   inkscape:version="0.92.1 r"
-   sodipodi:docname="hslider_grabber_hl.svg"
-   inkscape:export-filename="/home/djrm/Projects/godot/scene/resources/default_theme/checked.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
+   inkscape:version="0.92.1 unknown"
+   sodipodi:docname="icon_slider_grabber_hl.svg"
+   inkscape:export-filename="/mnt/2TB/Development/godot_dev/editor/icons/2x/icon_slider_grabber_hl.png"
+   inkscape:export-xdpi="192"
+   inkscape:export-ydpi="192">
   <defs
      id="defs4" />
   <sodipodi:namedview
@@ -29,8 +29,8 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="32"
-     inkscape:cx="7.0748113"
-     inkscape:cy="6.0432589"
+     inkscape:cx="7.6841863"
+     inkscape:cy="6.0120089"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
@@ -41,11 +41,11 @@
      inkscape:bbox-paths="true"
      inkscape:bbox-nodes="true"
      inkscape:snap-bbox-edge-midpoints="true"
-     inkscape:window-width="1600"
-     inkscape:window-height="836"
-     inkscape:window-x="0"
-     inkscape:window-y="27"
-     inkscape:window-maximized="1"
+     inkscape:window-width="1092"
+     inkscape:window-height="880"
+     inkscape:window-x="92"
+     inkscape:window-y="49"
+     inkscape:window-maximized="0"
      inkscape:snap-smooth-nodes="true"
      inkscape:object-nodes="true">
     <inkscape:grid
@@ -75,6 +75,6 @@
        cy="1044.3623"
        cx="8.0000057"
        id="circle4262"
-       style="fill:#7eff8a;fill-opacity:1;stroke:none;stroke-width:20;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+       style="fill:#f9f9f9;fill-opacity:1;stroke:none;stroke-width:20;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
   </g>
 </svg>

+ 165 - 0
editor/icons/source/icon_spatial_shader.svg

@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_collision_shape.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   sodipodi:docname="icon_spatial_shader.svg">
+  <defs
+     id="defs4">
+    <clipPath
+       id="clipPath4253"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4255"
+         d="m 16.458984,1024.37 a 12.000027,12.000027 0 0 0 -3.564453,0.4004 12.000027,12.000027 0 0 0 -8.4863279,14.6973 12.000027,12.000027 0 0 0 14.6972659,8.4863 12.000027,12.000027 0 0 0 8.486328,-14.6973 12.000027,12.000027 0 0 0 -11.132813,-8.8867 z M 16.25,1029.8212 a 6.5451717,6.5451717 0 0 1 6.072266,4.8476 6.5451717,6.5451717 0 0 1 -4.628907,8.0157 6.5451717,6.5451717 0 0 1 -8.0156246,-4.6289 6.5451717,6.5451717 0 0 1 4.6289066,-8.0157 6.5451717,6.5451717 0 0 1 1.943359,-0.2187 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </clipPath>
+    <clipPath
+       id="clipPath4199"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         d="m 16.5,1025.8622 a 11.8125,10.499999 0 0 0 -11.8125001,10.5 11.8125,10.499999 0 0 0 11.8125001,10.5 11.8125,10.499999 0 0 0 11.8125,-10.5 11.8125,10.499999 0 0 0 -11.8125,-10.5 z m -3.375,3 a 3.375,2.9999997 0 0 1 3.375,3 3.375,2.9999997 0 0 1 -3.375,3 3.375,2.9999997 0 0 1 -3.3750001,-3 3.375,2.9999997 0 0 1 3.3750001,-3 z"
+         id="path4201"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath4280">
+      <g
+         id="g4282"
+         inkscape:label="Layer 1"
+         transform="translate(0,1.1802001e-5)"
+         style="stroke:#fc9c9c;stroke-opacity:0.99607843">
+        <path
+           style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#fc9c9c;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+           d="M 7.9628906,1.0019531 A 1.0001,1.0001 0 0 0 7.5527344,1.1054688 l -6,3 A 1.0001,1.0001 0 0 0 1,5 l 0,6 a 1.0001,1.0001 0 0 0 0.5527344,0.894531 l 6,3 a 1.0001,1.0001 0 0 0 0.8945312,0 l 6.0000004,-3 A 1.0001,1.0001 0 0 0 15,11 L 15,5 A 1.0001,1.0001 0 0 0 14.447266,4.1054688 l -6.0000004,-3 A 1.0001,1.0001 0 0 0 7.9628906,1.0019531 Z M 8,3.1191406 11.763672,5 8,6.8828125 4.2363281,5 8,3.1191406 Z m -5,3.5 4,2 0,3.7636714 -4,-2 0,-3.7636714 z m 10,0 0,3.7636714 -4,2 0,-3.7636714 4,-2 z"
+           transform="translate(0,1036.3622)"
+           id="path4284"
+           inkscape:connector-curvature="0" />
+      </g>
+    </clipPath>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.627417"
+     inkscape:cx="7.8442401"
+     inkscape:cy="13.929239"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     units="px"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:bbox-nodes="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:snap-bbox-midpoints="true"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1016"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:object-paths="false"
+     inkscape:snap-intersection-paths="false"
+     inkscape:object-nodes="false"
+     inkscape:snap-smooth-nodes="false"
+     inkscape:snap-midpoints="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3336" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1036.3622)">
+    <g
+       id="g4271"
+       clip-path="url(#clipPath4280)">
+      <rect
+         y="1037.3622"
+         x="0"
+         height="2.0000031"
+         width="16"
+         id="rect4159"
+         style="fill:#ff7070;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="fill:#ffeb70;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4161"
+         width="16"
+         height="2.0000029"
+         x="0"
+         y="1039.3622" />
+      <rect
+         style="fill:#9dff70;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4163"
+         width="16"
+         height="1.9999999"
+         x="0"
+         y="1041.3622" />
+      <rect
+         y="1043.3622"
+         x="0"
+         height="2.0000024"
+         width="16"
+         id="rect4165"
+         style="fill:#70ffb9;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         y="1045.3622"
+         x="0"
+         height="2.0000021"
+         width="16"
+         id="rect4167"
+         style="fill:#70deff;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="fill:#ff70ac;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4169"
+         width="16"
+         height="1.9999987"
+         x="0"
+         y="1049.3622" />
+      <rect
+         style="fill:#9f70ff;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect4146"
+         width="16"
+         height="2.0000021"
+         x="0"
+         y="1047.3622" />
+    </g>
+  </g>
+</svg>

+ 27 - 21
scene/resources/default_theme/source/scroll_button_down.svg → editor/icons/source/icon_spinbox_updown.svg

@@ -9,16 +9,16 @@
    xmlns="http://www.w3.org/2000/svg"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="12"
-   height="12"
-   viewBox="0 0 12 11.999999"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
    id="svg2"
    version="1.1"
    inkscape:version="0.92.1 r"
-   sodipodi:docname="scroll_button_down.svg"
-   inkscape:export-filename="/home/djrm/Projects/godot/scene/resources/default_theme/panel_bg.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
+   inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_collapse.png"
+   inkscape:export-xdpi="45"
+   inkscape:export-ydpi="45"
+   sodipodi:docname="spinbox_updown.svg">
   <defs
      id="defs4" />
   <sodipodi:namedview
@@ -28,28 +28,30 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="45.254836"
-     inkscape:cx="1.4098045"
-     inkscape:cy="5.764877"
+     inkscape:zoom="16"
+     inkscape:cx="-1.901723"
+     inkscape:cy="9.1326297"
      inkscape:document-units="px"
-     inkscape:current-layer="layer1"
+     inkscape:current-layer="layer1-5"
      showgrid="true"
      units="px"
-     inkscape:object-paths="true"
-     inkscape:snap-intersection-paths="true"
      inkscape:snap-bbox="true"
      inkscape:bbox-paths="true"
      inkscape:bbox-nodes="true"
      inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:snap-bbox-midpoints="false"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
      inkscape:window-width="1600"
      inkscape:window-height="836"
      inkscape:window-x="0"
      inkscape:window-y="27"
-     inkscape:window-maximized="1">
+     inkscape:window-maximized="1"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:object-nodes="true">
     <inkscape:grid
        type="xygrid"
-       id="grid4136"
-       empspacing="4" />
+       id="grid3336" />
   </sodipodi:namedview>
   <metadata
      id="metadata7">
@@ -67,11 +69,15 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer"
      id="layer1"
-     transform="translate(0,-1040.3623)">
+     transform="translate(0,-1036.3622)">
     <path
-       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:0.27450982;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
-       d="m 10.023438,1044.3535 a 1.0001,1.0001 0 0 0 -0.6230474,0.209 L 6,1047.1113 2.5996094,1044.5625 a 1.0001,1.0001 0 1 0 -1.1992188,1.5996 l 4,3 a 1.0001,1.0001 0 0 0 1.1992188,0 l 3.9999996,-3 a 1.0001,1.0001 0 0 0 -0.576171,-1.8086 z"
-       id="path4511"
-       inkscape:connector-curvature="0" />
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#e0e0e0;fill-opacity:0.78431374;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="M 7.984375 1.0019531 A 1.0001 1.0001 0 0 0 7.2929688 1.2929688 L 3.2929688 5.2929688 A 1.0001 1.0001 0 1 0 4.7070312 6.7070312 L 8 3.4140625 L 11.292969 6.7070312 A 1.0001 1.0001 0 1 0 12.707031 5.2929688 L 8.7070312 1.2929688 A 1.0001 1.0001 0 0 0 7.984375 1.0019531 z M 11.990234 8.9863281 A 1.0001 1.0001 0 0 0 11.292969 9.2929688 L 8 12.585938 L 4.7070312 9.2929688 A 1.0001 1.0001 0 0 0 3.9902344 8.9902344 A 1.0001 1.0001 0 0 0 3.2929688 10.707031 L 7.2929688 14.707031 A 1.0001 1.0001 0 0 0 8.7070312 14.707031 L 12.707031 10.707031 A 1.0001 1.0001 0 0 0 11.990234 8.9863281 z "
+       transform="translate(0,1036.3622)"
+       id="path4484" />
+    <g
+       id="layer1-5"
+       inkscape:label="Layer 1"
+       transform="translate(14.210182,-5.3664)" />
   </g>
 </svg>

+ 23 - 24
editor/icons/source/icon_2_d.svg → editor/icons/source/icon_tab_menu.svg

@@ -15,10 +15,10 @@
    id="svg2"
    version="1.1"
    inkscape:version="0.92.1 r"
-   inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_add_track.png"
+   inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_collapse.png"
    inkscape:export-xdpi="45"
    inkscape:export-ydpi="45"
-   sodipodi:docname="icon_2_d.svg">
+   sodipodi:docname="tab_menu.svg">
   <defs
      id="defs4" />
   <sodipodi:namedview
@@ -28,9 +28,9 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="22.627418"
-     inkscape:cx="1.7654173"
-     inkscape:cy="7.2653991"
+     inkscape:zoom="32.000001"
+     inkscape:cx="4.0814179"
+     inkscape:cy="8.4695645"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
@@ -47,7 +47,6 @@
      inkscape:window-x="0"
      inkscape:window-y="27"
      inkscape:window-maximized="1"
-     inkscape:snap-midpoints="true"
      inkscape:snap-smooth-nodes="true"
      inkscape:object-nodes="true">
     <inkscape:grid
@@ -71,23 +70,23 @@
      inkscape:groupmode="layer"
      id="layer1"
      transform="translate(0,-1036.3622)">
-    <path
-       style="fill:none;stroke:#e0e0e0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 2,1040.3622 2,-2 2,2"
-       id="path4485"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccc" />
-    <path
-       style="fill:none;stroke:#e0e0e0;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m 4,1039.3622 v 9 h 9"
-       id="path4487"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccc" />
-    <path
-       sodipodi:nodetypes="ccc"
-       inkscape:connector-curvature="0"
-       id="path4489"
-       d="m 12,1046.3622 2,2 -2,2"
-       style="fill:none;stroke:#e0e0e0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <circle
+       style="fill:#ffffff;fill-opacity:0.39215687;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.35294118"
+       id="path819"
+       cx="8"
+       cy="1038.3622"
+       r="2" />
+    <circle
+       r="2"
+       cy="1044.3622"
+       cx="8"
+       id="circle821"
+       style="fill:#ffffff;fill-opacity:0.39215687;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.35294118" />
+    <circle
+       style="fill:#ffffff;fill-opacity:0.39215687;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.35294118"
+       id="circle823"
+       cx="8"
+       cy="1050.3622"
+       r="2" />
   </g>
 </svg>

+ 137 - 0
editor/icons/source/icon_texture.svg

@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   viewBox="0 0 16 16"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_key.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   sodipodi:docname="icon_image_texture.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="32"
+     inkscape:cx="9.9365814"
+     inkscape:cy="6.4466253"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     units="px"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:bbox-nodes="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:snap-bbox-midpoints="false"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1016"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:object-paths="false"
+     inkscape:snap-intersection-paths="false"
+     inkscape:object-nodes="false"
+     inkscape:snap-smooth-nodes="false">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3336" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1036.3622)">
+    <path
+       style="opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
+       d="M 2 1 A 1 1 0 0 0 1 2 L 1 14 A 1 1 0 0 0 2 15 L 14 15 A 1 1 0 0 0 15 14 L 15 2 A 1 1 0 0 0 14 1 L 2 1 z M 3 3 L 13 3 L 13 11 L 3 11 L 3 3 z "
+       transform="translate(0,1036.3622)"
+       id="rect4156" />
+    <rect
+       y="1043.3622"
+       x="6"
+       height="1"
+       width="2"
+       id="rect4197"
+       style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" />
+    <rect
+       style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
+       id="rect4199"
+       width="2"
+       height="2.0000174"
+       x="6"
+       y="1044.3622" />
+    <rect
+       y="1045.3622"
+       x="4"
+       height="1"
+       width="2"
+       id="rect4201"
+       style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" />
+    <rect
+       style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
+       id="rect4203"
+       width="2"
+       height="2.0000174"
+       x="8"
+       y="1044.3622" />
+    <rect
+       y="1044.3622"
+       x="10"
+       height="2.0000174"
+       width="2"
+       id="rect4205"
+       style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" />
+    <rect
+       style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
+       id="rect4207"
+       width="3"
+       height="2.0000174"
+       x="8"
+       y="1042.3622" />
+    <rect
+       y="1041.3622"
+       x="9"
+       height="1"
+       width="1"
+       id="rect4217"
+       style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843" />
+    <rect
+       style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
+       id="rect4219"
+       width="1"
+       height="1"
+       x="5"
+       y="1044.3622" />
+  </g>
+</svg>

+ 15 - 8
scene/resources/default_theme/source/hseparator.svg → editor/icons/source/icon_tree_arrow_down.svg

@@ -9,16 +9,16 @@
    xmlns="http://www.w3.org/2000/svg"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="8"
-   height="8"
-   viewBox="0 0 8 8"
+   width="12"
+   height="12"
+   viewBox="0 0 12 12"
    id="svg2"
    version="1.1"
    inkscape:version="0.92.1 r"
    inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_collapse.png"
    inkscape:export-xdpi="45"
    inkscape:export-ydpi="45"
-   sodipodi:docname="hseparator.svg">
+   sodipodi:docname="arrow_down.svg">
   <defs
      id="defs4" />
   <sodipodi:namedview
@@ -28,9 +28,9 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="64.000004"
-     inkscape:cx="1.1715704"
-     inkscape:cy="4.26452"
+     inkscape:zoom="22.627417"
+     inkscape:cx="1.7981958"
+     inkscape:cy="7.5815407"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
@@ -69,5 +69,12 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer"
      id="layer1"
-     transform="translate(0,-1044.3622)" />
+     transform="translate(0,-1040.3622)">
+    <path
+       style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.39215687"
+       d="m 3,1045.3622 3,3 3,-3"
+       id="path814"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+  </g>
 </svg>

+ 15 - 8
scene/resources/default_theme/source/vseparator.svg → editor/icons/source/icon_tree_arrow_right.svg

@@ -9,16 +9,16 @@
    xmlns="http://www.w3.org/2000/svg"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="8"
-   height="8"
-   viewBox="0 0 8 8"
+   width="12"
+   height="12"
+   viewBox="0 0 12 12"
    id="svg2"
    version="1.1"
    inkscape:version="0.92.1 r"
    inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_collapse.png"
    inkscape:export-xdpi="45"
    inkscape:export-ydpi="45"
-   sodipodi:docname="vseparator.svg">
+   sodipodi:docname="arrow_right.svg">
   <defs
      id="defs4" />
   <sodipodi:namedview
@@ -28,9 +28,9 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="45.254834"
-     inkscape:cx="5.3201856"
-     inkscape:cy="4.9836785"
+     inkscape:zoom="45.254836"
+     inkscape:cx="4.0845752"
+     inkscape:cy="5.8802612"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
@@ -69,5 +69,12 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer"
      id="layer1"
-     transform="translate(0,-1044.3622)" />
+     transform="translate(0,-1040.3622)">
+    <path
+       style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.39215687"
+       d="m 4,1049.3622 3.0000202,-3 -3.0000202,-3"
+       id="path814"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+  </g>
 </svg>

+ 0 - 0
scene/resources/default_theme/source/unchecked.svg → editor/icons/source/icon_unchecked.svg


+ 0 - 0
scene/resources/default_theme/source/vslider_bg.svg → editor/icons/source/icon_vslider_bg.svg


+ 0 - 0
scene/resources/default_theme/source/vsplit_bg.svg → editor/icons/source/icon_vsplit_bg.svg


+ 0 - 0
scene/resources/default_theme/source/vsplitter.svg → editor/icons/source/icon_vsplitter.svg


+ 1 - 1
editor/io_plugins/editor_texture_import_plugin.cpp

@@ -680,7 +680,7 @@ EditorTextureImportDialog::EditorTextureImportDialog(EditorTextureImportPlugin*
 		};
 
 
-		mode_check[i]=memnew( CheckBox );
+		mode_check[i]=memnew(CheckBox);
 		bg->add_child(mode_check[i]);
 		mode_check[i]->set_text(mode_name[i]);
 		mode_check[i]->connect("pressed",this,"_mode_changed",varray(i));

+ 8 - 12
editor/plugins/animation_player_editor_plugin.cpp

@@ -118,7 +118,14 @@ void AnimationPlayerEditor::_notification(int p_what) {
 
 		blend_editor.next->connect("item_selected", this, "_blend_editor_next_changed");
 
-		// nodename->set_icon(get_icon("AnimationPlayer", "EditorIcons"));
+		/*
+		anim_editor_load->set_normal_texture( get_icon("AnimGet","EditorIcons"));
+		anim_editor_store->set_normal_texture( get_icon("AnimSet","EditorIcons"));
+		anim_editor_load->set_pressed_texture( get_icon("AnimGet","EditorIcons"));
+		anim_editor_store->set_pressed_texture( get_icon("AnimSet","EditorIcons"));
+		anim_editor_load->set_hover_texture( get_icon("AnimGetHl","EditorIcons"));
+		anim_editor_store->set_hover_texture( get_icon("AnimSetHl","EditorIcons"));
+*/
 
 		get_tree()->connect("node_removed", this, "_node_removed");
 	}
@@ -781,10 +788,6 @@ void AnimationPlayerEditor::_update_player() {
 		player->get_animation_list(&animlist);
 
 	animation->clear();
-	if (player)
-		nodename->set_text(player->get_name());
-	else
-		nodename->set_text(TTR("No player selected"));
 
 	add_anim->set_disabled(player == NULL);
 	load_anim->set_disabled(player == NULL);
@@ -1358,14 +1361,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
 	//tool_anim->get_popup()->add_item("Edit Anim Resource",TOOL_PASTE_ANIM);
 	hb->add_child(tool_anim);
 
-	hb->add_child(memnew(VSeparator));
-	nodename_icon = memnew(TextureRect);
-	nodename_icon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
-	hb->add_child(nodename_icon);
-	nodename = memnew(Label);
-	hb->add_child(nodename);
 	pin = memnew(ToolButton);
-	pin->set_tooltip(TTR("Keep this animation selected?"));
 	pin->set_toggle_mode(true);
 	hb->add_child(pin);
 

+ 0 - 2
editor/plugins/animation_player_editor_plugin.h

@@ -85,8 +85,6 @@ class AnimationPlayerEditor : public VBoxContainer {
 	Button *remove_anim;
 	MenuButton *tool_anim;
 	ToolButton *pin;
-	Label *nodename;
-	TextureRect *nodename_icon;
 	SpinBox *frame;
 	LineEdit *scale;
 	LineEdit *name;

+ 2 - 7
editor/plugins/canvas_item_editor_plugin.cpp

@@ -1837,7 +1837,7 @@ void CanvasItemEditor::_viewport_draw() {
 		if (h_scroll->is_visible_in_tree())
 			size.height -= h_scroll->get_size().height;
 
-		get_stylebox("EditorFocus", "EditorStyles")->draw(ci, Rect2(Point2(), size));
+		get_stylebox("Focus", "EditorStyles")->draw(ci, Rect2(Point2(), size));
 	}
 
 	Ref<Texture> lock = get_icon("Lock", "EditorIcons");
@@ -3123,7 +3123,6 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
 	editor_selection->connect("selection_changed", this, "update");
 
 	hb = memnew(HBoxContainer);
-	hb->add_style_override("bg", editor->get_gui_base()->get_stylebox("panel", "PanelContainer"));
 	add_child(hb);
 	hb->set_area_as_parent_rect();
 
@@ -3300,8 +3299,6 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
 	animation_hb->hide();
 
 	key_loc_button = memnew(Button("loc"));
-	key_loc_button = memnew(Button("loc"));
-	key_loc_button->set_flat(true);
 	key_loc_button->set_toggle_mode(true);
 	key_loc_button->set_pressed(true);
 	key_loc_button->set_focus_mode(FOCUS_NONE);
@@ -3310,7 +3307,6 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
 	key_loc_button->connect("pressed", this, "_popup_callback", varray(ANIM_INSERT_POS));
 	animation_hb->add_child(key_loc_button);
 	key_rot_button = memnew(Button("rot"));
-	key_rot_button->set_flat(true);
 	key_rot_button->set_toggle_mode(true);
 	key_rot_button->set_pressed(true);
 	key_rot_button->set_focus_mode(FOCUS_NONE);
@@ -3319,14 +3315,13 @@ CanvasItemEditor::CanvasItemEditor(EditorNode *p_editor) {
 	key_rot_button->connect("pressed", this, "_popup_callback", varray(ANIM_INSERT_ROT));
 	animation_hb->add_child(key_rot_button);
 	key_scale_button = memnew(Button("scl"));
-	key_scale_button->set_flat(true);
 	key_scale_button->set_toggle_mode(true);
 	key_scale_button->set_focus_mode(FOCUS_NONE);
 	key_scale_button->add_color_override("font_color", Color(1, 0.6, 0.6));
 	key_scale_button->add_color_override("font_color_pressed", Color(0.6, 1, 0.6));
 	key_scale_button->connect("pressed", this, "_popup_callback", varray(ANIM_INSERT_SCALE));
 	animation_hb->add_child(key_scale_button);
-	key_insert_button = memnew(ToolButton);
+	key_insert_button = memnew(Button);
 	key_insert_button->set_focus_mode(FOCUS_NONE);
 	key_insert_button->connect("pressed", this, "_popup_callback", varray(ANIM_INSERT_KEY));
 	key_insert_button->set_tooltip(TTR("Insert Keys"));

+ 4 - 5
editor/plugins/script_editor_plugin.cpp

@@ -1375,8 +1375,7 @@ void ScriptEditor::_update_script_colors() {
 			int non_zero_hist_size = (hist_size == 0) ? 1 : hist_size;
 			float v = Math::ease((edit_pass - pass) / float(non_zero_hist_size), 0.4);
 
-			//script_list->set_item_custom_bg_color(i, hot_color.linear_interpolate(cold_color, v));
-			script_list->set_item_custom_font_color(i, hot_color.linear_interpolate(cold_color, v));
+			script_list->set_item_custom_bg_color(i, hot_color.linear_interpolate(cold_color, v));
 		}
 	}
 }
@@ -2113,7 +2112,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
 	script_split->set_split_offset(140);
 
 	tab_container = memnew(TabContainer);
-	tab_container->add_style_override("panel", p_editor->get_gui_base()->get_stylebox("EditorBG", "EditorStyles"));
+	tab_container->add_style_override("panel", p_editor->get_gui_base()->get_stylebox("ScriptPanel", "EditorStyles"));
 	tab_container->set_tabs_visible(false);
 	script_split->add_child(tab_container);
 
@@ -2432,8 +2431,8 @@ ScriptEditorPlugin::ScriptEditorPlugin(EditorNode *p_node) {
 	EDITOR_DEF("text_editor/open_scripts/script_temperature_enabled", true);
 	EDITOR_DEF("text_editor/open_scripts/highlight_current_script", true);
 	EDITOR_DEF("text_editor/open_scripts/script_temperature_history_size", 15);
-	EDITOR_DEF("text_editor/open_scripts/script_temperature_hot_color", Color::html("ff5446"));
-	EDITOR_DEF("text_editor/open_scripts/script_temperature_cold_color", Color::html("647b93"));
+	EDITOR_DEF("text_editor/open_scripts/script_temperature_hot_color", Color(1, 0, 0, 0.3));
+	EDITOR_DEF("text_editor/open_scripts/script_temperature_cold_color", Color(0, 0, 1, 0.3));
 	EDITOR_DEF("text_editor/open_scripts/current_script_background_color", Color(0.81, 0.81, 0.14, 0.63));
 	EDITOR_DEF("text_editor/open_scripts/group_help_pages", true);
 	EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::INT, "text_editor/open_scripts/sort_scripts_by", PROPERTY_HINT_ENUM, "Name,Path"));

+ 6 - 6
editor/plugins/spatial_editor_plugin.cpp

@@ -531,12 +531,12 @@ static int _get_key_modifier(const String &p_property) {
 	return 0;
 }
 
-bool SpatialEditorViewport::_gizmo_select(const Vector2 &p_screenpos, bool p_hilite_only) {
+bool SpatialEditorViewport::_gizmo_select(const Vector2 &p_screenpos, bool p_highlight_only) {
 
 	if (!spatial_editor->is_gizmo_visible())
 		return false;
 	if (get_selected_count() == 0) {
-		if (p_hilite_only)
+		if (p_highlight_only)
 			spatial_editor->select_gizmo_highlight_axis(-1);
 		return false;
 	}
@@ -569,7 +569,7 @@ bool SpatialEditorViewport::_gizmo_select(const Vector2 &p_screenpos, bool p_hil
 
 		if (col_axis != -1) {
 
-			if (p_hilite_only) {
+			if (p_highlight_only) {
 
 				spatial_editor->select_gizmo_highlight_axis(col_axis);
 
@@ -609,7 +609,7 @@ bool SpatialEditorViewport::_gizmo_select(const Vector2 &p_screenpos, bool p_hil
 
 		if (col_axis != -1) {
 
-			if (p_hilite_only) {
+			if (p_highlight_only) {
 
 				spatial_editor->select_gizmo_highlight_axis(col_axis + 3);
 			} else {
@@ -622,7 +622,7 @@ bool SpatialEditorViewport::_gizmo_select(const Vector2 &p_screenpos, bool p_hil
 		}
 	}
 
-	if (p_hilite_only)
+	if (p_highlight_only)
 		spatial_editor->select_gizmo_highlight_axis(-1);
 
 	return false;
@@ -1766,7 +1766,7 @@ void SpatialEditorViewport::_draw() {
 	if (surface->has_focus()) {
 		Size2 size = surface->get_size();
 		Rect2 r = Rect2(Point2(), size);
-		get_stylebox("EditorFocus", "EditorStyles")->draw(surface->get_canvas_item(), r);
+		get_stylebox("Focus", "EditorStyles")->draw(surface->get_canvas_item(), r);
 	}
 
 	RID ci = surface->get_canvas_item();

+ 1 - 1
editor/plugins/spatial_editor_plugin.h

@@ -142,7 +142,7 @@ private:
 	Vector3 _get_screen_to_space(const Vector3 &p_vector3);
 
 	void _select_region();
-	bool _gizmo_select(const Vector2 &p_screenpos, bool p_hilite_only = false);
+	bool _gizmo_select(const Vector2 &p_screenpos, bool p_highlight_only = false);
 
 	float get_znear() const;
 	float get_zfar() const;

+ 1 - 0
editor/project_export.cpp

@@ -754,6 +754,7 @@ ProjectExportDialog::ProjectExportDialog() {
 	settings_vb->add_child(runnable);
 
 	sections = memnew(TabContainer);
+	sections->set_tab_align(TabContainer::ALIGN_LEFT);
 	settings_vb->add_child(sections);
 	sections->set_v_size_flags(SIZE_EXPAND_FILL);
 

+ 6 - 1
editor/project_settings.cpp

@@ -78,7 +78,7 @@ void ProjectSettings::_notification(int p_what) {
 		case NOTIFICATION_ENTER_TREE: {
 			globals_editor->edit(GlobalConfig::get_singleton());
 
-			search_button->set_icon(get_icon("Search", "EditorIcons"));
+			search_button->set_icon(get_icon("Zoom", "EditorIcons"));
 			clear_button->set_icon(get_icon("Close", "EditorIcons"));
 
 			translation_list->connect("button_pressed", this, "_translation_delete");
@@ -106,6 +106,9 @@ void ProjectSettings::_notification(int p_what) {
 		case NOTIFICATION_POPUP_HIDE: {
 			EditorSettings::get_singleton()->set("interface/dialogs/project_settings_bounds", get_rect());
 		} break;
+		case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
+			_update_actions();
+		} break;
 	}
 }
 
@@ -1174,6 +1177,7 @@ ProjectSettings::ProjectSettings(EditorData *p_data) {
 	data = p_data;
 
 	tab_container = memnew(TabContainer);
+	tab_container->set_tab_align(TabContainer::ALIGN_LEFT);
 	add_child(tab_container);
 	//set_child_rect(tab_container);
 
@@ -1415,6 +1419,7 @@ ProjectSettings::ProjectSettings(EditorData *p_data) {
 
 	//translations
 	TabContainer *translations = memnew(TabContainer);
+	translations->set_tab_align(TabContainer::ALIGN_LEFT);
 	translations->set_name(TTR("Localization"));
 	tab_container->add_child(translations);
 

+ 4 - 0
editor/property_editor.cpp

@@ -2692,6 +2692,10 @@ void PropertyEditor::_notification(int p_what) {
 
 		changing = false;
 	}
+
+	if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
+		update_tree();
+	}
 }
 
 TreeItem *PropertyEditor::get_parent_node(String p_path, HashMap<String, TreeItem *> &item_paths, TreeItem *root) {

+ 1 - 2
editor/scene_tree_dock.cpp

@@ -680,8 +680,6 @@ void SceneTreeDock::_notification(int p_what) {
 			button_create_script->set_icon(get_icon("ScriptCreate", "EditorIcons"));
 			button_clear_script->set_icon(get_icon("ScriptRemove", "EditorIcons"));
 
-			filter_icon->set_texture(get_icon("Zoom", "EditorIcons"));
-
 			filter_icon->set_texture(get_icon("Search", "EditorIcons"));
 
 			EditorNode::get_singleton()->get_editor_selection()->connect("selection_changed", this, "_selection_changed");
@@ -1829,6 +1827,7 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor, Node *p_scene_root, EditorSel
 	filter->set_h_size_flags(SIZE_EXPAND_FILL);
 	filter_hbc->add_child(filter);
 	filter_icon = memnew(TextureRect);
+	filter_icon->set_custom_minimum_size(Size2(24 * EDSCALE, 0));
 	filter_hbc->add_child(filter_icon);
 	filter_icon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
 	filter->connect("text_changed", this, "_filter_changed");

+ 22 - 28
editor/script_editor_debugger.cpp

@@ -1019,6 +1019,11 @@ void ScriptEditorDebugger::_notification(int p_what) {
 			}
 
 		} break;
+		case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
+			tabs->add_style_override("panel", editor->get_gui_base()->get_stylebox("DebuggerPanel", "EditorStyles"));
+			tabs->add_style_override("tab_fg", editor->get_gui_base()->get_stylebox("DebuggerTabFG", "EditorStyles"));
+			tabs->add_style_override("tab_bg", editor->get_gui_base()->get_stylebox("DebuggerTabBG", "EditorStyles"));
+		} break;
 	}
 }
 
@@ -1574,9 +1579,10 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) {
 	editor = p_editor;
 
 	tabs = memnew(TabContainer);
-	tabs->add_style_override("panel", editor->get_gui_base()->get_stylebox("EditorPanelDebugger", "EditorStyles"));
-	tabs->add_style_override("tab_fg", editor->get_gui_base()->get_stylebox("EditorTabFGDebugger", "EditorStyles"));
-	tabs->add_style_override("tab_bg", editor->get_gui_base()->get_stylebox("EditorTabBGDebugger", "EditorStyles"));
+	tabs->set_tab_align(TabContainer::ALIGN_LEFT);
+	tabs->add_style_override("panel", editor->get_gui_base()->get_stylebox("DebuggerPanel", "EditorStyles"));
+	tabs->add_style_override("tab_fg", editor->get_gui_base()->get_stylebox("DebuggerTabFG", "EditorStyles"));
+	tabs->add_style_override("tab_bg", editor->get_gui_base()->get_stylebox("DebuggerTabBG", "EditorStyles"));
 	tabs->set_v_size_flags(SIZE_EXPAND_FILL);
 	tabs->set_area_as_parent_rect();
 	add_child(tabs);
@@ -1601,13 +1607,11 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) {
 		hbc->add_child(memnew(VSeparator));
 
 		step = memnew(Button);
-		step->set_flat(true);
 		hbc->add_child(step);
 		step->set_tooltip(TTR("Step Into"));
 		step->connect("pressed", this, "debug_step");
 
 		next = memnew(Button);
-		next->set_flat(true);
 		hbc->add_child(next);
 		next->set_tooltip(TTR("Step Over"));
 		next->connect("pressed", this, "debug_next");
@@ -1615,13 +1619,11 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) {
 		hbc->add_child(memnew(VSeparator));
 
 		dobreak = memnew(Button);
-		dobreak->set_flat(true);
 		hbc->add_child(dobreak);
 		dobreak->set_tooltip(TTR("Break"));
 		dobreak->connect("pressed", this, "debug_break");
 
 		docontinue = memnew(Button);
-		docontinue->set_flat(true);
 		hbc->add_child(docontinue);
 		docontinue->set_tooltip(TTR("Continue"));
 		docontinue->connect("pressed", this, "debug_continue");
@@ -1629,13 +1631,11 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) {
 		//hbc->add_child( memnew( VSeparator) );
 
 		back = memnew(Button);
-		back->set_flat(true);
 		hbc->add_child(back);
 		back->set_tooltip(TTR("Inspect Previous Instance"));
 		back->hide();
 
 		forward = memnew(Button);
-		forward->set_flat(true);
 		hbc->add_child(forward);
 		forward->set_tooltip(TTR("Inspect Next Instance"));
 		forward->hide();
@@ -1798,7 +1798,6 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) {
 		vmem_total->set_custom_minimum_size(Size2(100, 1) * EDSCALE);
 		vmem_hb->add_child(vmem_total);
 		vmem_refresh = memnew(Button);
-		vmem_refresh->set_flat(true);
 		vmem_hb->add_child(vmem_refresh);
 		vmem_vb->add_child(vmem_hb);
 		vmem_refresh->connect("pressed", this, "_video_mem_request");
@@ -1831,35 +1830,30 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) {
 	}
 
 	{ // misc
-
-		GridContainer *grid_cont = memnew(GridContainer);
-		grid_cont->set_h_size_flags(SIZE_EXPAND_FILL);
-		grid_cont->set_name(TTR("Misc"));
-		grid_cont->set_columns(2);
-		tabs->add_child(grid_cont);
-
-		grid_cont->add_child(memnew(Label(TTR("Clicked Control:"))));
+		VBoxContainer *info_left = memnew(VBoxContainer);
+		info_left->set_h_size_flags(SIZE_EXPAND_FILL);
+		info_left->set_name(TTR("Misc"));
+		tabs->add_child(info_left);
 		clicked_ctrl = memnew(LineEdit);
-		grid_cont->add_child(clicked_ctrl);
-
-		grid_cont->add_child(memnew(Label(TTR("Clicked Control Type:"))));
+		info_left->add_margin_child(TTR("Clicked Control:"), clicked_ctrl);
 		clicked_ctrl_type = memnew(LineEdit);
-		grid_cont->add_child(clicked_ctrl_type);
+		info_left->add_margin_child(TTR("Clicked Control Type:"), clicked_ctrl_type);
 
 		live_edit_root = memnew(LineEdit);
-		live_edit_root->set_h_size_flags(SIZE_EXPAND_FILL);
 
 		{
-			grid_cont->add_child(memnew(Label(TTR("Live Edit Root:"))));
-
 			HBoxContainer *lehb = memnew(HBoxContainer);
-			lehb->set_h_size_flags(SIZE_EXPAND_FILL);
-			lehb->add_child(live_edit_root);
+			Label *l = memnew(Label(TTR("Live Edit Root:")));
+			lehb->add_child(l);
+			l->set_h_size_flags(SIZE_EXPAND_FILL);
 			le_set = memnew(Button(TTR("Set From Tree")));
 			lehb->add_child(le_set);
 			le_clear = memnew(Button(TTR("Clear")));
 			lehb->add_child(le_clear);
-			grid_cont->add_child(lehb);
+			info_left->add_child(lehb);
+			MarginContainer *mc = memnew(MarginContainer);
+			mc->add_child(live_edit_root);
+			info_left->add_child(mc);
 			le_set->set_disabled(true);
 			le_clear->set_disabled(true);
 		}

+ 1 - 0
editor/settings_config_dialog.cpp

@@ -300,6 +300,7 @@ EditorSettingsDialog::EditorSettingsDialog() {
 	set_resizable(true);
 
 	tabs = memnew(TabContainer);
+	tabs->set_tab_align(TabContainer::ALIGN_LEFT);
 	add_child(tabs);
 	//set_child_rect(tabs);
 

+ 6 - 6
misc/scripts/svgs_2_pngs.py

@@ -16,7 +16,7 @@ last_svg_data = None
 SCRIPT_FOLDER = dirname(realpath(__file__)) + '/'
 theme_dir_base = SCRIPT_FOLDER + '../../scene/resources/default_theme/'
 theme_dir_source = theme_dir_base + 'source/'
-icons_dir_base = SCRIPT_FOLDER + '../../editor/icons/'
+icons_dir_base = SCRIPT_FOLDER + '../editor/icons/'
 icons_dir_2x = icons_dir_base + '2x/'
 icons_dir_source = icons_dir_base + 'source/'
 
@@ -54,14 +54,14 @@ def export_icons():
         out_icon_names = [name_only]  # export to a png with the same file name
         theme_out_icon_names = []
         # special cases
-        if special_icons.get(name_only):
+        if special_icons.has_key(name_only):
             special_icon = special_icons[name_only]
             if type(special_icon) is dict:
                 if special_icon.get('avoid_self'):
                     out_icon_names = []
-                if special_icon.get('output_names'):
+                if special_icon.has_key('output_names'):
                     out_icon_names += special_icon['output_names']
-                if special_icon.get('theme_output_names'):
+                if special_icon.has_key('theme_output_names'):
                     theme_out_icon_names += special_icon['theme_output_names']
 
         source_path = '%s%s.svg' % (svgs_path, name_only)
@@ -83,10 +83,10 @@ def export_theme():
 
         out_icon_names = [name_only]  # export to a png with the same file name
         # special cases
-        if theme_icons.get(name_only):
+        if theme_icons.has_key(name_only):
             special_icon = theme_icons[name_only]
             if type(special_icon) is dict:
-                if special_icon.get('output_names'):
+                if special_icon.has_key('output_names'):
                     out_icon_names += special_icon['output_names']
 
         source_path = '%s%s.svg' % (svgs_path, name_only)

+ 2 - 2
modules/visual_script/visual_script_editor.cpp

@@ -488,7 +488,7 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
 		}
 
 		if (EditorSettings::get_singleton()->has("editors/visual_script/color_" + node->get_category())) {
-			gnode->set_self_modulate(EditorSettings::get_singleton()->get("editors/visual_script/color_" + node->get_category()));
+			gnode->set_modulate(EditorSettings::get_singleton()->get("editors/visual_script/color_" + node->get_category()));
 		}
 
 		gnode->set_meta("__vnode", node);
@@ -2830,7 +2830,7 @@ void VisualScriptEditor::_node_filter_changed(const String &p_text) {
 void VisualScriptEditor::_notification(int p_what) {
 
 	if (p_what == NOTIFICATION_READY) {
-		node_filter_icon->set_texture(Control::get_icon("Search", "EditorIcons"));
+		node_filter_icon->set_texture(Control::get_icon("Zoom", "EditorIcons"));
 	}
 }
 

+ 26 - 15
scene/gui/button.cpp

@@ -69,48 +69,58 @@ void Button::_notification(int p_what) {
 		RID ci = get_canvas_item();
 		Size2 size = get_size();
 		Color color;
-		Color icon_color = Color(1, 1, 1);
+		Color color_icon(1, 1, 1, 1);
 
 		//print_line(get_text()+": "+itos(is_flat())+" hover "+itos(get_draw_mode()));
 
-		String style_name = "";
+		Ref<StyleBox> style = get_stylebox("normal");
+
 		switch (get_draw_mode()) {
 
 			case DRAW_NORMAL: {
 
-				style_name = "normal";
+				style = get_stylebox("normal");
+				if (!flat)
+					style->draw(ci, Rect2(Point2(0, 0), size));
 				color = get_color("font_color");
-
+				if (has_color("icon_color_normal"))
+					color_icon = get_color("icon_color_normal");
 			} break;
 			case DRAW_PRESSED: {
 
-				style_name = "pressed";
-				if (has_color("font_color_pressed")) {
+				style = get_stylebox("pressed");
+				style->draw(ci, Rect2(Point2(0, 0), size));
+				if (has_color("font_color_pressed"))
 					color = get_color("font_color_pressed");
-					icon_color = color;
-				} else
+				else
 					color = get_color("font_color");
+				if (has_color("icon_color_pressed"))
+					color_icon = get_color("icon_color_pressed");
 
 			} break;
 			case DRAW_HOVER: {
 
-				style_name = "hover";
+				style = get_stylebox("hover");
+				style->draw(ci, Rect2(Point2(0, 0), size));
 				color = get_color("font_color_hover");
+				if (has_color("icon_color_hover"))
+					color_icon = get_color("icon_color_hover");
 
 			} break;
 			case DRAW_DISABLED: {
 
-				style_name = "disabled";
+				style = get_stylebox("disabled");
+				style->draw(ci, Rect2(Point2(0, 0), size));
 				color = get_color("font_color_disabled");
+				if (has_color("icon_color_disabled"))
+					color_icon = get_color("icon_color_disabled");
 
 			} break;
 		}
 
-		if (style_name != "" && !flat) get_stylebox(style_name)->draw(ci, Rect2(Point2(0, 0), size));
-
-		Ref<StyleBox> style = get_stylebox(style_name);
 		if (has_focus()) {
 
+			Ref<StyleBox> style = get_stylebox("focus");
 			style->draw(ci, Rect2(Point2(), size));
 		}
 
@@ -147,8 +157,9 @@ void Button::_notification(int p_what) {
 		if (!_icon.is_null()) {
 
 			int valign = size.height - style->get_minimum_size().y;
-
-			_icon->draw(ci, style->get_offset() + Point2(0, Math::floor((valign - _icon->get_height()) / 2.0)), is_disabled() ? Color(1, 1, 1, 0.4) : icon_color);
+			if (is_disabled())
+				color_icon.a = 0.4;
+			_icon->draw(ci, style->get_offset() + Point2(0, Math::floor((valign - _icon->get_height()) / 2.0)), color_icon);
 		}
 	}
 }

+ 28 - 19
scene/gui/dialogs.cpp

@@ -53,25 +53,34 @@ void WindowDialog::_fix_size() {
 	Size2i viewport_size = get_viewport_rect().size;
 
 	// Windows require additional padding to keep the window chrome visible.
-	Ref<StyleBoxTexture> panel = get_stylebox("panel", "WindowDialog");
-
+	Ref<StyleBox> panel = get_stylebox("panel", "WindowDialog");
+	float top = 0;
+	float left = 0;
+	float bottom = 0;
+	float right = 0;
 	// Check validity, because the theme could contain a different type of StyleBox
-	if (panel.is_valid()) {
-		float top = panel->get_expand_margin_size(MARGIN_TOP);
-		float left = panel->get_expand_margin_size(MARGIN_LEFT);
-		float bottom = panel->get_expand_margin_size(MARGIN_BOTTOM);
-		float right = panel->get_expand_margin_size(MARGIN_RIGHT);
-
-		pos.x = MAX(left, MIN(pos.x, viewport_size.x - size.x - right));
-		pos.y = MAX(top, MIN(pos.y, viewport_size.y - size.y - bottom));
-		set_global_position(pos);
-
-		// Also resize the window to fit if a resize should be possible at all.
-		if (resizable) {
-			size.x = MIN(size.x, viewport_size.x - left - right);
-			size.y = MIN(size.y, viewport_size.y - top - bottom);
-			set_size(size);
-		}
+	if (panel->get_class() == "StyleBoxTexture") {
+		Ref<StyleBoxTexture> panel_texture = panel->cast_to<StyleBoxTexture>();
+		top = panel_texture->get_expand_margin_size(MARGIN_TOP);
+		left = panel_texture->get_expand_margin_size(MARGIN_LEFT);
+		bottom = panel_texture->get_expand_margin_size(MARGIN_BOTTOM);
+		right = panel_texture->get_expand_margin_size(MARGIN_RIGHT);
+	} else if (panel->get_class() == "StyleBoxFlat") {
+		Ref<StyleBoxFlat> panel_flat = panel->cast_to<StyleBoxFlat>();
+		top = panel_flat->_get_additional_border_size(MARGIN_TOP);
+		left = panel_flat->_get_additional_border_size(MARGIN_LEFT);
+		bottom = panel_flat->_get_additional_border_size(MARGIN_BOTTOM);
+		right = panel_flat->_get_additional_border_size(MARGIN_RIGHT);
+	}
+
+	pos.x = MAX(left, MIN(pos.x, viewport_size.x - size.x - right));
+	pos.y = MAX(top, MIN(pos.y, viewport_size.y - size.y - bottom));
+	set_global_position(pos);
+
+	if (resizable) {
+		size.x = MIN(size.x, viewport_size.x - left - right);
+		size.y = MIN(size.y, viewport_size.y - top - bottom);
+		set_size(size);
 	}
 }
 
@@ -200,7 +209,7 @@ void WindowDialog::_notification(int p_what) {
 		case NOTIFICATION_ENTER_TREE: {
 			close_button->set_normal_texture(get_icon("close", "WindowDialog"));
 			close_button->set_pressed_texture(get_icon("close", "WindowDialog"));
-			close_button->set_hover_texture(get_icon("close_hilite", "WindowDialog"));
+			close_button->set_hover_texture(get_icon("close_highlight", "WindowDialog"));
 			close_button->set_anchor(MARGIN_LEFT, ANCHOR_END);
 			close_button->set_begin(Point2(get_constant("close_h_ofs", "WindowDialog"), -get_constant("close_v_ofs", "WindowDialog")));
 		} break;

+ 2 - 2
scene/gui/graph_edit.cpp

@@ -579,7 +579,7 @@ void GraphEdit::_bake_segment2d(CanvasItem *p_where, float p_begin, float p_end,
 
 	if (p_depth >= p_min_depth && (dp < p_tol || p_depth >= p_max_depth)) {
 
-		p_where->draw_line(beg, end, p_color.linear_interpolate(p_to_color, mp), 4, true);
+		p_where->draw_line(beg, end, p_color.linear_interpolate(p_to_color, mp), 2, true);
 		lines++;
 	} else {
 		_bake_segment2d(p_where, p_begin, mp, p_a, p_out, p_b, p_in, p_depth + 1, p_min_depth, p_max_depth, p_tol, p_color, p_to_color, lines);
@@ -598,7 +598,7 @@ void GraphEdit::_draw_cos_line(CanvasItem *p_where, const Vector2 &p_from, const
 	int cp_neg_len = get_constant("bezier_len_neg");
 
 	if (diff > 0) {
-		cp_offset = MIN(cp_len, diff * 0.5);
+		cp_offset = MAX(cp_len, diff * 0.5);
 	} else {
 		cp_offset = MAX(MIN(cp_len - diff, cp_neg_len), -diff * 0.5);
 	}

+ 1 - 17
scene/gui/item_list.cpp

@@ -42,7 +42,6 @@ void ItemList::add_item(const String &p_item, const Ref<Texture> &p_texture, boo
 	item.disabled = false;
 	item.tooltip_enabled = true;
 	item.custom_bg = Color(0, 0, 0, 0);
-	item.custom_font_color = get_color("font_color");
 	items.push_back(item);
 
 	update();
@@ -152,20 +151,6 @@ Color ItemList::get_item_custom_bg_color(int p_idx) const {
 	return items[p_idx].custom_bg;
 }
 
-void ItemList::set_item_custom_font_color(int p_idx, const Color &p_custom_font_color) {
-
-	ERR_FAIL_INDEX(p_idx, items.size());
-
-	items[p_idx].custom_font_color = p_custom_font_color;
-}
-
-Color ItemList::get_item_custom_font_color(int p_idx) const {
-
-	ERR_FAIL_INDEX_V(p_idx, items.size(), Color());
-
-	return items[p_idx].custom_font_color;
-}
-
 void ItemList::set_item_tag_icon(int p_idx, const Ref<Texture> &p_tag_icon) {
 
 	ERR_FAIL_INDEX(p_idx, items.size());
@@ -1032,8 +1017,7 @@ void ItemList::_notification(int p_what) {
 				else
 					max_len = size.x;
 
-				Color font_color_2 = items[i].custom_font_color;
-				Color modulate = items[i].selected ? font_color_selected : font_color_2;
+				Color modulate = items[i].selected ? font_color_selected : font_color;
 				if (items[i].disabled)
 					modulate.a *= 0.5;
 

+ 0 - 4
scene/gui/item_list.h

@@ -62,7 +62,6 @@ private:
 		Variant metadata;
 		String tooltip;
 		Color custom_bg;
-		Color custom_font_color;
 
 		Rect2 rect_cache;
 		Rect2 min_rect_cache;
@@ -145,9 +144,6 @@ public:
 	void set_item_custom_bg_color(int p_idx, const Color &p_custom_bg_color);
 	Color get_item_custom_bg_color(int p_idx) const;
 
-	void set_item_custom_font_color(int p_idx, const Color &p_custom_font_color);
-	Color get_item_custom_font_color(int p_idx) const;
-
 	void select(int p_idx, bool p_single = true);
 	void unselect(int p_idx);
 	bool is_selected(int p_idx) const;

+ 2 - 2
scene/gui/line_edit.cpp

@@ -576,7 +576,7 @@ void LineEdit::_notification(int p_what) {
 
 			RID ci = get_canvas_item();
 
-			Ref<StyleBox> style = has_focus() ? get_stylebox("active") : get_stylebox("normal");
+			Ref<StyleBox> style = get_stylebox("normal");
 			if (!is_editable())
 				style = get_stylebox("read_only");
 
@@ -617,7 +617,7 @@ void LineEdit::_notification(int p_what) {
 			int font_ascent = font->get_ascent();
 
 			Color selection_color = get_color("selection_color");
-			Color font_color = is_editable() ? has_focus() ? get_color("font_color_active") : get_color("font_color") : get_color("font_color_read_only");
+			Color font_color = get_color("font_color");
 			Color font_color_selected = get_color("font_color_selected");
 			Color cursor_color = get_color("cursor_color");
 

+ 1 - 18
scene/gui/option_button.cpp

@@ -56,24 +56,7 @@ void OptionButton::_notification(int p_what) {
 			Size2 size = get_size();
 
 			Point2 ofs(size.width - arrow->get_width() - get_constant("arrow_margin"), int(Math::abs((size.height - arrow->get_height()) / 2)));
-
-			Color arrow_color = get_color("font_color");
-			switch (get_draw_mode()) {
-				case DRAW_NORMAL: {
-					arrow_color = get_color("font_color");
-				} break;
-				case DRAW_PRESSED: {
-					arrow_color = get_color("font_color_pressed");
-				} break;
-				case DRAW_HOVER: {
-					arrow_color = get_color("font_color_hover");
-				} break;
-				case DRAW_DISABLED: {
-					arrow_color = get_color("font_color_disabled");
-				} break;
-			}
-
-			arrow->draw(ci, ofs, arrow_color);
+			arrow->draw(ci, ofs);
 
 		} break;
 	}

+ 11 - 11
scene/gui/scroll_bar.cpp

@@ -151,24 +151,24 @@ void ScrollBar::_gui_input(InputEvent p_event) {
 				double incr_size = orientation == VERTICAL ? incr->get_height() : incr->get_width();
 				double total = orientation == VERTICAL ? get_size().height : get_size().width;
 
-				HiliteStatus new_hilite;
+				HighlightStatus new_highlight;
 
 				if (ofs < decr_size) {
 
-					new_hilite = HILITE_DECR;
+					new_highlight = HIGHLIGHT_DECR;
 
 				} else if (ofs > total - incr_size) {
 
-					new_hilite = HILITE_INCR;
+					new_highlight = HIGHLIGHT_INCR;
 
 				} else {
 
-					new_hilite = HILITE_RANGE;
+					new_highlight = HIGHLIGHT_RANGE;
 				}
 
-				if (new_hilite != hilite) {
+				if (new_highlight != highlight) {
 
-					hilite = new_hilite;
+					highlight = new_highlight;
 					update();
 				}
 			}
@@ -233,10 +233,10 @@ void ScrollBar::_notification(int p_what) {
 
 		RID ci = get_canvas_item();
 
-		Ref<Texture> decr = hilite == HILITE_DECR ? get_icon("decrement_hilite") : get_icon("decrement");
-		Ref<Texture> incr = hilite == HILITE_INCR ? get_icon("increment_hilite") : get_icon("increment");
+		Ref<Texture> decr = highlight == HIGHLIGHT_DECR ? get_icon("decrement_highlight") : get_icon("decrement");
+		Ref<Texture> incr = highlight == HIGHLIGHT_INCR ? get_icon("increment_highlight") : get_icon("increment");
 		Ref<StyleBox> bg = has_focus() ? get_stylebox("scroll_focus") : get_stylebox("scroll");
-		Ref<StyleBox> grabber = (drag.active || hilite == HILITE_RANGE) ? get_stylebox("grabber_hilite") : get_stylebox("grabber");
+		Ref<StyleBox> grabber = (drag.active || highlight == HIGHLIGHT_RANGE) ? get_stylebox("grabber_highlight") : get_stylebox("grabber");
 
 		Point2 ofs;
 
@@ -386,7 +386,7 @@ void ScrollBar::_notification(int p_what) {
 
 	if (p_what == NOTIFICATION_MOUSE_EXIT) {
 
-		hilite = HILITE_NONE;
+		highlight = HIGHLIGHT_NONE;
 		update();
 	}
 }
@@ -784,7 +784,7 @@ void ScrollBar::_bind_methods() {
 ScrollBar::ScrollBar(Orientation p_orientation) {
 
 	orientation = p_orientation;
-	hilite = HILITE_NONE;
+	highlight = HIGHLIGHT_NONE;
 	custom_step = -1;
 	drag_slave = NULL;
 

+ 6 - 6
scene/gui/scroll_bar.h

@@ -39,11 +39,11 @@ class ScrollBar : public Range {
 
 	GDCLASS(ScrollBar, Range);
 
-	enum HiliteStatus {
-		HILITE_NONE,
-		HILITE_DECR,
-		HILITE_RANGE,
-		HILITE_INCR,
+	enum HighlightStatus {
+		HIGHLIGHT_NONE,
+		HIGHLIGHT_DECR,
+		HIGHLIGHT_RANGE,
+		HIGHLIGHT_INCR,
 	};
 
 	static bool focus_by_default;
@@ -52,7 +52,7 @@ class ScrollBar : public Range {
 	Size2 size;
 	float custom_step;
 
-	HiliteStatus hilite;
+	HighlightStatus highlight;
 
 	struct Drag {
 

+ 2 - 2
scene/gui/slider.cpp

@@ -45,7 +45,7 @@ void Slider::_gui_input(InputEvent p_event) {
 		if (mb.button_index == BUTTON_LEFT) {
 
 			if (mb.pressed) {
-				Ref<Texture> grabber = get_icon(mouse_inside || has_focus() ? "grabber_hilite" : "grabber");
+				Ref<Texture> grabber = get_icon(mouse_inside || has_focus() ? "grabber_highlight" : "grabber");
 				grab.pos = orientation == VERTICAL ? mb.y : mb.x;
 				double grab_width = (double)grabber->get_size().width;
 				double grab_height = (double)grabber->get_size().height;
@@ -153,7 +153,7 @@ void Slider::_notification(int p_what) {
 			Size2i size = get_size();
 			Ref<StyleBox> style = get_stylebox("slider");
 			Ref<StyleBox> focus = get_stylebox("focus");
-			Ref<Texture> grabber = get_icon(mouse_inside || has_focus() ? "grabber_hilite" : "grabber");
+			Ref<Texture> grabber = get_icon(mouse_inside || has_focus() ? "grabber_highlight" : "grabber");
 			Ref<Texture> tick = get_icon("tick");
 
 			if (orientation == VERTICAL) {

+ 1 - 6
scene/gui/spin_box.cpp

@@ -194,12 +194,7 @@ void SpinBox::_notification(int p_what) {
 		RID ci = get_canvas_item();
 		Size2i size = get_size();
 
-		Color color = has_focus() ? line_edit->get_color("font_color_active") : line_edit->get_color("font_color");
-		if (!is_editable())
-			color = line_edit->get_color("font_color_read_only");
-		updown->draw(ci, Point2i(size.width - updown->get_width(), (size.height - updown->get_height()) / 2), color);
-
-	} else if (p_what == NOTIFICATION_FOCUS_EXIT) {
+		updown->draw(ci, Point2i(size.width - updown->get_width(), (size.height - updown->get_height()) / 2));
 
 	} else if (p_what == NOTIFICATION_FOCUS_EXIT) {
 

+ 4 - 5
scene/gui/tab_container.cpp

@@ -206,9 +206,6 @@ void TabContainer::_notification(int p_what) {
 					break;
 			}
 
-			// Draw the tab area.
-			panel->draw(canvas, Rect2(0, header_height, size.width, size.height - header_height));
-
 			// Draw all visible tabs.
 			int x = 0;
 			for (int i = 0; i < tab_widths.size(); i++) {
@@ -227,7 +224,7 @@ void TabContainer::_notification(int p_what) {
 
 				// Draw the tab background.
 				int tab_width = tab_widths[i];
-				Rect2 tab_rect(tabs_ofs_cache + x, 2, tab_width, header_height);
+				Rect2 tab_rect(tabs_ofs_cache + x, 0, tab_width, header_height);
 				tab_style->draw(canvas, tab_rect);
 
 				// Draw the tab contents.
@@ -282,6 +279,8 @@ void TabContainer::_notification(int p_what) {
 						Color(1, 1, 1, first_tab_cache > 0 ? 1.0 : 0.5));
 			}
 
+			// Draw the tab area.
+			panel->draw(canvas, Rect2(0, header_height, size.width, size.height - header_height));
 		} break;
 		case NOTIFICATION_THEME_CHANGED: {
 			if (get_tab_count() > 0) {
@@ -660,7 +659,7 @@ TabContainer::TabContainer() {
 	current = 0;
 	previous = 0;
 	mouse_x_cache = 0;
-	align = ALIGN_LEFT;
+	align = ALIGN_CENTER;
 	tabs_visible = true;
 	popup = NULL;
 }

+ 8 - 8
scene/gui/tabs.cpp

@@ -85,7 +85,7 @@ void Tabs::_gui_input(const InputEvent &p_event) {
 
 		Point2 pos(p_event.mouse_motion.x, p_event.mouse_motion.y);
 
-		hilite_arrow = -1;
+		highlight_arrow = -1;
 		if (buttons_visible) {
 
 			Ref<Texture> incr = get_icon("increment");
@@ -94,9 +94,9 @@ void Tabs::_gui_input(const InputEvent &p_event) {
 			int limit = get_size().width - incr->get_width() - decr->get_width();
 
 			if (pos.x > limit + decr->get_width()) {
-				hilite_arrow = 1;
+				highlight_arrow = 1;
 			} else if (pos.x > limit) {
-				hilite_arrow = 0;
+				highlight_arrow = 0;
 			}
 		}
 
@@ -268,8 +268,8 @@ void Tabs::_notification(int p_what) {
 
 			Ref<Texture> incr = get_icon("increment");
 			Ref<Texture> decr = get_icon("decrement");
-			Ref<Texture> incr_hl = get_icon("increment_hilite");
-			Ref<Texture> decr_hl = get_icon("decrement_hilite");
+			Ref<Texture> incr_hl = get_icon("increment_highlight");
+			Ref<Texture> decr_hl = get_icon("decrement_highlight");
 
 			int limit = get_size().width - incr->get_size().width - decr->get_size().width;
 
@@ -385,12 +385,12 @@ void Tabs::_notification(int p_what) {
 				int vofs = (get_size().height - incr->get_size().height) / 2;
 
 				if (offset > 0)
-					draw_texture(hilite_arrow == 0 ? decr_hl : decr, Point2(limit, vofs));
+					draw_texture(highlight_arrow == 0 ? decr_hl : decr, Point2(limit, vofs));
 				else
 					draw_texture(decr, Point2(limit, vofs), Color(1, 1, 1, 0.5));
 
 				if (missing_right)
-					draw_texture(hilite_arrow == 1 ? incr_hl : incr, Point2(limit + decr->get_size().width, vofs));
+					draw_texture(highlight_arrow == 1 ? incr_hl : incr, Point2(limit + decr->get_size().width, vofs));
 				else
 					draw_texture(incr, Point2(limit + decr->get_size().width, vofs), Color(1, 1, 1, 0.5));
 
@@ -677,7 +677,7 @@ Tabs::Tabs() {
 	tab_align = ALIGN_CENTER;
 	rb_hover = -1;
 	rb_pressing = false;
-	hilite_arrow = -1;
+	highlight_arrow = -1;
 
 	cb_hover = -1;
 	cb_pressing = false;

+ 1 - 1
scene/gui/tabs.h

@@ -69,7 +69,7 @@ private:
 
 	int offset;
 	int max_drawn_tab;
-	int hilite_arrow;
+	int highlight_arrow;
 	bool buttons_visible;
 	bool missing_right;
 	Vector<Tab> tabs;

+ 0 - 4
scene/gui/tool_button.cpp

@@ -29,10 +29,6 @@
 /*************************************************************************/
 #include "tool_button.h"
 
-void ToolButton::_notification(int p_what) {
-	// set_self_modulate(get_color("pressed"));
-}
-
 ToolButton::ToolButton() {
 	set_flat(true);
 }

+ 0 - 3
scene/gui/tool_button.h

@@ -37,9 +37,6 @@ class ToolButton : public Button {
 
 public:
 	ToolButton();
-
-protected:
-	void _notification(int p_what);
 };
 
 #endif // TOOL_BUTTON_H

Някои файлове не бяха показани, защото твърде много файлове са промени