From 273d2ab9d492fc6855302b69b7219a95f77644aa Mon Sep 17 00:00:00 2001 From: "Daniel J. Ramirez" Date: Mon, 7 Aug 2017 21:55:24 -0500 Subject: [PATCH] Several ui improvements (mostly margins) Improved colors Added some missing icons --- editor/animation_editor.cpp | 27 +++-- editor/editor_audio_buses.cpp | 12 +- editor/editor_log.cpp | 9 +- editor/editor_plugin_settings.cpp | 9 +- editor/editor_profiler.cpp | 7 +- editor/editor_themes.cpp | 6 +- editor/filesystem_dock.cpp | 1 - .../icons/2x/icon_audio_stream_player_3_d.png | Bin 0 -> 763 bytes editor/icons/2x/icon_bus_vu_frozen.png | Bin 1673 -> 1945 bytes editor/icons/2x/icon_connect.png | Bin 251 -> 876 bytes editor/icons/2x/icon_native_script.png | Bin 0 -> 698 bytes editor/icons/icon_audio_stream_player_3_d.png | Bin 0 -> 433 bytes editor/icons/icon_bus_vu_frozen.png | Bin 868 -> 925 bytes editor/icons/icon_connect.png | Bin 170 -> 445 bytes editor/icons/icon_native_script.png | Bin 0 -> 392 bytes .../source/icon_audio_stream_player_3_d.svg | 114 ++++++++++++++++++ editor/icons/source/icon_bus_vu_frozen.svg | 17 +-- ...tive_script.svg => icon_native_script.svg} | 0 editor/project_settings_editor.cpp | 17 +-- editor/property_editor.cpp | 25 ++-- editor/scene_tree_editor.cpp | 6 +- editor/script_editor_debugger.cpp | 19 +-- editor/script_editor_debugger.h | 2 +- 23 files changed, 187 insertions(+), 84 deletions(-) create mode 100644 editor/icons/2x/icon_audio_stream_player_3_d.png create mode 100644 editor/icons/2x/icon_native_script.png create mode 100644 editor/icons/icon_audio_stream_player_3_d.png create mode 100644 editor/icons/icon_native_script.png create mode 100644 editor/icons/source/icon_audio_stream_player_3_d.svg rename editor/icons/source/{icon_g_d_native_script.svg => icon_native_script.svg} (100%) diff --git a/editor/animation_editor.cpp b/editor/animation_editor.cpp index 45da365695..3675948b1d 100644 --- a/editor/animation_editor.cpp +++ b/editor/animation_editor.cpp @@ -1091,11 +1091,11 @@ 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("light_color_1", "Editor"); - Color timecolor = get_color("dark_color_2", "Editor"); + Color sepcolor = Color(1, 1, 1, 0.2); + Color timecolor = Color(1, 1, 1, 0.2); 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 invalid_path_color = get_color("error_color", "Editor"); Color track_select_color = get_color("highlight_color", "Editor"); Ref remove_icon = get_icon("Remove", "EditorIcons"); @@ -1156,11 +1156,12 @@ void AnimationKeyEditor::_track_editor_draw() { int settings_limit = size.width - right_separator_ofs; int name_limit = settings_limit * name_column_ratio; - 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); + Color linecolor = Color(1, 1, 1, 0.2); + te->draw_line(ofs + Point2(name_limit, 0), ofs + Point2(name_limit, size.height), linecolor); + te->draw_line(ofs + Point2(settings_limit, 0), ofs + Point2(settings_limit, size.height), linecolor); 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); + te->draw_line(ofs + Point2(0, h), ofs + Point2(size.width, h), linecolor); // draw time float keys_from; @@ -1180,7 +1181,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 = get_color("light_color_1", "Editor"); + Color notimecol = get_color("dark_color_2", "Editor"); { @@ -1276,7 +1277,7 @@ void AnimationKeyEditor::_track_editor_draw() { if ((sc / step) != (prev_sc / step) || (prev_sc < 0 && sc >= 0)) { int scd = sc < 0 ? prev_sc : sc; - te->draw_line(ofs + Point2(name_limit + i, 0), ofs + Point2(name_limit + i, h), color); + te->draw_line(ofs + Point2(name_limit + i, 0), ofs + Point2(name_limit + i, h), linecolor); te->draw_string(font, ofs + Point2(name_limit + i + 3, (h - font->get_height()) / 2 + font->get_ascent()).floor(), String::num((scd - (scd % step)) / double(SC_ADJ), decimals), sub ? color_time_dec : color_time_sec, zoomw - i); } } @@ -1335,7 +1336,7 @@ void AnimationKeyEditor::_track_editor_draw() { te->draw_line(ofs + Point2(0, y + h), ofs + Point2(size.width, y + h), sepcolor); Point2 icon_ofs = ofs + Point2(size.width, y + (h - remove_icon->get_height()) / 2).floor(); - icon_ofs.y += 4; + icon_ofs.y += 4 * EDSCALE; /* icon_ofs.x-=remove_icon->get_width(); @@ -1353,7 +1354,7 @@ void AnimationKeyEditor::_track_editor_draw() { */ track_ofs[0] = size.width - icon_ofs.x; icon_ofs.x -= down_icon->get_width(); - te->draw_texture(down_icon, icon_ofs); + te->draw_texture(down_icon, icon_ofs - Size2(0, 4 * EDSCALE)); int wrap_type = animation->track_get_interpolation_loop_wrap(idx) ? 1 : 0; icon_ofs.x -= hsep; @@ -1366,7 +1367,7 @@ void AnimationKeyEditor::_track_editor_draw() { track_ofs[1] = size.width - icon_ofs.x; icon_ofs.x -= down_icon->get_width(); - te->draw_texture(down_icon, icon_ofs); + te->draw_texture(down_icon, icon_ofs - Size2(0, 4 * EDSCALE)); int interp_type = animation->track_get_interpolation_type(idx); ERR_CONTINUE(interp_type < 0 || interp_type >= 3); @@ -1385,7 +1386,7 @@ void AnimationKeyEditor::_track_editor_draw() { icon_ofs.x -= hsep; icon_ofs.x -= down_icon->get_width(); - te->draw_texture(down_icon, icon_ofs); + te->draw_texture(down_icon, icon_ofs - Size2(0, 4 * EDSCALE)); icon_ofs.x -= hsep; icon_ofs.x -= cont_icon[umode]->get_width(); @@ -3745,7 +3746,7 @@ AnimationKeyEditor::AnimationKeyEditor() { history = EditorNode::get_singleton()->get_editor_history(); ec = memnew(Control); - ec->set_custom_minimum_size(Size2(0, 150)); + ec->set_custom_minimum_size(Size2(0, 150) * EDSCALE); add_child(ec); ec->set_v_size_flags(SIZE_EXPAND_FILL); diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index 08b093aecb..219f05ef95 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -1061,20 +1061,19 @@ EditorAudioBuses::EditorAudioBuses() { top_hb = memnew(HBoxContainer); add_child(top_hb); + file = memnew(ToolButton); + file->set_text("default_bus_layout.tres"); + top_hb->add_child(file); + file->connect("pressed", this, "_select_layout"); + add = memnew(Button); top_hb->add_child(add); - ; add->set_text(TTR("Add Bus")); add->connect("pressed", this, "_add_bus"); top_hb->add_spacer(); - file = memnew(ToolButton); - file->set_text("default_bus_layout.tres"); - top_hb->add_child(file); - file->connect("pressed", this, "_select_layout"); - load = memnew(Button); load->set_text(TTR("Load")); top_hb->add_child(load); @@ -1096,6 +1095,7 @@ EditorAudioBuses::EditorAudioBuses() { _new->connect("pressed", this, "_new_layout"); bus_scroll = memnew(ScrollContainer); + bus_scroll->add_style_override("panel", memnew(StyleBoxEmpty)); bus_scroll->set_v_size_flags(SIZE_EXPAND_FILL); bus_scroll->set_enable_h_scroll(true); bus_scroll->set_enable_v_scroll(false); diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index addffd6ea3..5ada5f9095 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -168,15 +168,10 @@ EditorLog::EditorLog() { HBoxContainer *hb = memnew(HBoxContainer); vb->add_child(hb); title = memnew(Label); - title->set_text(TTR(" Output:")); + title->set_text(TTR("Output:")); title->set_h_size_flags(SIZE_EXPAND_FILL); hb->add_child(title); - //pd = memnew( PaneDrag ); - //hb->add_child(pd); - //pd->connect("dragged",this,"_dragged"); - //pd->set_default_cursor_shape(Control::CURSOR_MOVE); - clearbutton = memnew(Button); hb->add_child(clearbutton); clearbutton->set_text(TTR("Clear")); @@ -184,7 +179,7 @@ EditorLog::EditorLog() { ec = memnew(Control); vb->add_child(ec); - ec->set_custom_minimum_size(Size2(0, 180)); + ec->set_custom_minimum_size(Size2(0, 180) * EDSCALE); ec->set_v_size_flags(SIZE_EXPAND_FILL); pc = memnew(PanelContainer); diff --git a/editor/editor_plugin_settings.cpp b/editor/editor_plugin_settings.cpp index 63bee33092..712a3ac001 100644 --- a/editor/editor_plugin_settings.cpp +++ b/editor/editor_plugin_settings.cpp @@ -193,15 +193,16 @@ EditorPluginSettings::EditorPluginSettings() { plugin_list->set_column_expand(1, false); plugin_list->set_column_expand(2, false); plugin_list->set_column_expand(3, false); - plugin_list->set_column_min_width(1, 100); - plugin_list->set_column_min_width(2, 250); - plugin_list->set_column_min_width(3, 80); + plugin_list->set_column_min_width(1, 100 * EDSCALE); + plugin_list->set_column_min_width(2, 250 * EDSCALE); + plugin_list->set_column_min_width(3, 80 * EDSCALE); plugin_list->set_hide_root(true); plugin_list->connect("item_edited", this, "_plugin_activity_changed"); - MarginContainer *mc = memnew(MarginContainer); + VBoxContainer *mc = memnew(VBoxContainer); mc->add_child(plugin_list); mc->set_v_size_flags(SIZE_EXPAND_FILL); + mc->set_h_size_flags(SIZE_EXPAND_FILL); add_child(mc); diff --git a/editor/editor_profiler.cpp b/editor/editor_profiler.cpp index 64cf275c3a..78bc99caae 100644 --- a/editor/editor_profiler.cpp +++ b/editor/editor_profiler.cpp @@ -129,10 +129,11 @@ String EditorProfiler::_get_time_as_text(Metric &m, float p_time, int p_calls) { Color EditorProfiler::_get_color_from_signature(const StringName &p_signature) const { + Color bc = get_color("error_color", "Editor"); double rot = ABS(double(p_signature.hash()) / double(0x7FFFFFFF)); Color c; - c.set_hsv(rot, 1, 1); - return c; + c.set_hsv(rot, bc.get_s(), bc.get_v()); + return c.linear_interpolate(get_color("base_color", "Editor"), 0.07); } void EditorProfiler::_item_edited() { @@ -387,7 +388,6 @@ void EditorProfiler::_update_frame() { if (plot_sigs.has(m.categories[i].signature)) { category->set_checked(0, true); - category->set_custom_bg_color(0, Color(0, 0, 0)); category->set_custom_color(0, _get_color_from_signature(m.categories[i].signature)); } @@ -411,7 +411,6 @@ void EditorProfiler::_update_frame() { if (plot_sigs.has(it.signature)) { item->set_checked(0, true); - item->set_custom_bg_color(0, Color(0, 0, 0)); item->set_custom_color(0, _get_color_from_signature(it.signature)); } } diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index 807aed4267..156f00f6a3 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -163,7 +163,7 @@ Ref create_editor_theme() { theme->set_color("light_color_1", "Editor", light_color_1); theme->set_color("light_color_2", "Editor", light_color_2); - Color success_color = highlight_color.linear_interpolate(Color(0, 1, .8), 0.8); + Color success_color = highlight_color.linear_interpolate(Color(.6, 1, .6), 0.8); Color warning_color = highlight_color.linear_interpolate(Color(1, 1, .2), 0.8); Color error_color = highlight_color.linear_interpolate(Color(1, .2, .2), 0.8); theme->set_color("success_color", "Editor", success_color); @@ -382,12 +382,12 @@ Ref create_editor_theme() { theme->set_stylebox("SceneTabBG", "EditorStyles", make_empty_stylebox(6, 5, 6, 5)); theme->set_icon("close", "Tabs", title_hl_close_icon); - // Separatos (no separatos) + // Separators (no separators) theme->set_stylebox("separator", "HSeparator", make_line_stylebox(separator_color, border_width)); theme->set_stylebox("separator", "VSeparator", make_line_stylebox(separator_color, border_width, 0, true)); // Debugger - Ref style_panel_debugger = make_flat_stylebox(dark_color_2, 0, 4, 0, 0); + Ref style_panel_debugger = make_flat_stylebox(dark_color_2, 4, 4, 4, 4); theme->set_stylebox("DebuggerPanel", "EditorStyles", style_panel_debugger); Ref style_tab_fg_debugger = make_flat_stylebox(dark_color_2, 10, 5, 10, 5); diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 77ca1a5145..7e90098044 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -1737,7 +1737,6 @@ FileSystemDock::FileSystemDock(EditorNode *p_editor) { file_list_vb->set_v_size_flags(SIZE_EXPAND_FILL); path_hb = memnew(HBoxContainer); - path_hb->add_child(memnew(Control)); file_list_vb->add_child(path_hb); button_back = memnew(ToolButton); diff --git a/editor/icons/2x/icon_audio_stream_player_3_d.png b/editor/icons/2x/icon_audio_stream_player_3_d.png new file mode 100644 index 0000000000000000000000000000000000000000..917719f54b95404217a82d734e1e214249121ebb GIT binary patch literal 763 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 E0Aq@F{r~^~ delta 1639 zcmbQq-^n|{w4Tk*)5S5QV$R#S8@ppdMUL%%pVQ?4f;R%0#F|minm)+o7;f0$s^I#qPRux=?EKxm z%=_S7w(?9jDd?| znY(<5M#HC&3uX#EHNGuxG(O}%nDg`=!$OuM328=wy*|B6%b8g9t=!(Q9%68=`ton- zW=(~rZ%j!{Kldj5)u?Y!bd+Ga_KMSlYmN-7{QnP&CW{COa;^zh$lyw{e&A_gc)Mk< zLlV=m{_pZ?{rfTd_d4`+b})R&kqdO3*ED}#DaQ?N7M`X{Z}w_W z-J_79uVAq8>Nh44yXh8FjTSFi@J8aSvepV8#|C$mgb9jg@2w4RNb*Xke)Hr;!^yCF zEd3pA63ee#=+;%r%KG%l|B!n7+>7-|Mb42`5!FIcx_ahM)GSmc9CbZr;D?u! z5BrHdp3vdNe}89GXP53d#l(eaAur@PB7X6RE>6FX_H%}!MTc$v-AZ2}AZom!eu1S*+`Ojc?Xt>R%MURa+3tv4*idh& zpY5h>&$&}G)?|UxFLstMr)!tJoFT(H-`4g;%ZxrR&X)(@W^0#(uzls02Vr-Xh(54g^mQ>qqg-HK?NL@su6;jh_cJG@onI=dAz&IBviCq(q1Sm!HLWib zSV}{LY@_1>CMVU;Ai)^$yVM>a}@Q$1IAFKd`4d|<*J zha9WB`7EM2YU0;dmk;Vck*0_01`?%(d(6~Qw zVy^HjR=1;PXKk%=bez}JT-m;0XL9qUb6a1ni9B;MC+6pxTiweNUcT(F&$GPnJWOBX zL~wz{d!LS4Vw6oXrl@=8#Ew<8#+I!%1;D@gdZQg|FMfh2V zXH_~rSQ&F-wm~`1>B7oJQ?5NWtmhvsd*3Rm5n;E!c~i3g!C$T}L3}pNivk}!)vTzy zpm<7I>GHX!r#yA09Qwp`yJK>MghlFNv((^#iA-#vXEm1X4&`D>KN~V*Q{?`Rj+l8D z5-j%J;_P*`~l@_1$!l& zaM^YG*3FWxmEtd^7_YvbuYbZNY4(mBEBC+5|Eq17=PKUsV_;xl@O1TaS?83{1OUtN B?8*QD diff --git a/editor/icons/2x/icon_connect.png b/editor/icons/2x/icon_connect.png index e3f4b8fd1232ee5b9db43eab975e62ef594a2fc9..2a36b1716a7b81b81b301e4b5cb93d34a101f43f 100644 GIT binary patch delta 836 zcmey(_=atQX+5)|r;B4qMC;qI^V!1DBLB|Kojs##tJcCRvr?8BF6COJ_lti=rBau@ zV2S3g6&>~mTBRKe_3w7rRr25E_;fGWCBV_8aH)depGJ?w8D~s##nkk4w4~DC6(%a1 zU-!IyBRu8?KU>kh_jii-&3O{THsknvzARN1#|^DB^_e`Fe=yW1$QwpU%$zAe{Y zaZ$!Oo*(<{*%FS5q#vL8(@SZh#q^UY$Ld-e*8>eeHh*4Ulibj|QH8^dfyojzTUl8sSo<>X{! z{(Ram(c!!_C^BOG_3uWXIqQ{P^?UA|?4wrx{oA*?Il|1mBHc$_tmfKrJ>Y5JbKV!b z`f8bvd1s_##(~d!wmNmZX5jKY+WBuw?(YZwk{8}J>MuRTzN5TN>S))(cGPF^}z?2 z3KY5)U0=L-adhdz0F6C?UT;}GcrL!2C^0WHG{@|_!}6e4ZUQXsB}Vhl?^jq9?DpX`Z8tS|o>^U^EDhYv9D{7G=|vgApad6GFoYpKocl8BCK zx4t??#jZt@&A{+zpDot~7SwLz|=ynO%h?d3<= zW=Vbf{=MGp%Pk+CJN*y$m8S2@F1pnlIrGn*d3i$fp7U}j+R8CUWO?K-o$@;UGm})i zyxN5G&)p9h#IQfGXAovkoALAh&J4T$N`?dB9h-Eu?|oRclYxPO!PC{xWt~$(69Cy; Bi{}6U delta 206 zcmaFE_M35nX+6URPZ!6Kh}O5$_VO|r^0>)s=-I)w#dslmCI4*4(}Y=PHGrEEud4zG|8s)7WLLF?oLD)-OFROHDrf zEV}$ei_s>>+&zYQ>6F>7hrZvsU~z#}Tp`a{_mbrYYrcrkozvV;$`&x*ReN~9r13qI z_=20P;rsqD$G^PDs_wc*Vq?R#TXGU=!V`jaU5VO$Ku}_BtHtN1d?7PbUA-nmvN13) OFnGH9xvX&vB diff --git a/editor/icons/2x/icon_native_script.png b/editor/icons/2x/icon_native_script.png new file mode 100644 index 0000000000000000000000000000000000000000..31cc130867c3704fd6ac02ee7e4a57cb0f00548f GIT binary patch literal 698 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlJ8 z@;zM~Ln2zAPTk)v>?m@4zp?d0E&ez8i9$j=%RJL7qpHJY=0tFmC6$Vq{o|kai#-#WzL5@O0Xsp#?oNyZ$xoeVA|k_W_< zs$T#8_p_vL=JHvFpIJio-(N3$k()tQ>DI=thVL3v4k$BBb@|2oz|Q!+x90YlKNnu~ z>3H3I@WITWSA53z*)~jD;>QqkHOl@htH-i6le6aaDKZ@YW@>4w&TuYst-9I!D?%!) z`8v-k&#pB+^T+P?9S#PDzQ=bCW!#!BDro$ErjQ%M_0npm4t8&r9pS65S`{-hILI6? zH;g*(ntbBS?`=y&9lUn(p046j{KZgq*dT`gaKYS}HKGt24Bsm zOP}~;M;B|R-Y&f>pLzHD-^~nmMw_!=x;k|%w&=UhXt646wFzSax6-4YEvvWIC9V2e z`=86${@iC4hP7K6y#8<>GN{Qt?Hc%H)r$F2`&0Ip_{``{+x+u%*!>KXI-x+thE4T{ zm$shL-f;HFrdR)e^31s;RaVXLV6wm?gRVu*Zi@}CUyZqvF6Lm>Cwu&6QSA3>&W4$G zpYpXS%w4NESE&U^MvYhs;9 zEz|bSn?KJT@ONpA+b$-3@r$Ex$^wUl!Uo-M+8*5$a;Pi+cqO!?SzKo40m-i9ma89X zI1j9y@~;0~&f+T@<0~vzN=8;QRoKM*U|!(Fu;Oi`RQJbC_DuIC)%|#Jd-a5MzotE% z&*<2!(Rz4dgSfXo=dNwFD_thp`ADt2QmOLbSKd_pp3Jq@ZLP@>h0z)bS1x~*HlHl{E9*nfl(R=wlS0~qtR2p(AK{^mW)T(n9>-mn}vcH7Zf>g+!K@Xg0QxE7w; m`gToIR(y)qAFlt`tlN`oZZl0i9m&AJz~JfX=d#Wzp$Pyj^1$T) literal 0 HcmV?d00001 diff --git a/editor/icons/icon_bus_vu_frozen.png b/editor/icons/icon_bus_vu_frozen.png index 1a6ca6e76710158b3f9a8936bc04880546a70f48..4e9b8f4b4bb3d2b13e18cc64b7f1297f74b89129 100644 GIT binary patch delta 884 zcmaFDHkW;ZS$&YFi(^Pe8J_wW?bSLsx#JgBVia_Q~1I&bgOo93=JkFZugfAj9-&#%f}|2y~h z&il``^WIyE|G4j6xA#WSe{56=Az7Ua0a`J$;H zU#H_Dx5}5OE(V_&p#l{mmmb#tUi@vD)WYy`9gn>U@gn@9eKr!jg2(z;UR{05yK)FwENP;Y9vEJ1Nd2 zoz$kP%F~NP5@iIWnH2drj?2|^nz+d*mL`0D#MZXjJKFwRip62>D~)HThOo{Gtrrj% zwVF5W*%UENs|_nBeLK<FCCla!s_<9;Ok5u+4H9v+@zZv^m9D~ zxO&oCWcr<~{w=ZEp4L=ybbVN1obk+-*0dboK4q(^d&6 zADQ#nM!=7smo=?q$-QgWO19h-JffN~NAI*l@&N&-^V_zVOqyu3CqPz@x!2I2V{O=_ zU}+=2Ts_9cR+E-Hl?HZAc*@$pGvM#6!m_?AS;fq)Pl}(sl+4vV%cwjlD)z>tf3_1A zHg$_v?VIYjNRV;SRo2VzCQg_bZOgSXea)71m9BX+<1?SUXXI}w7XG%{AmGcDJ0Y!e zf@gcXTb)n*{Bi!0d0DHLEbf(DoGbQzqEwtc!;*{pCM~#gk%@tUfx*+&&t;ucLK6T4 CNvezh delta 827 zcmbQs{)BCUS-qsEi(^Pe)+Wmwp_e&xUu?>LQdenzW48zb1+OT_9^ zTj^l&=fQF*M}~JdZS{p6ITn>Fe`+dt@{pz5N~|UStyZZ(&cCt|&uf3I=+j7O4#f;X#Xows~a?)@2>YwzEP zv-`Y-ProkU_IKa-7|xp7+fLheyb|WRdB^U4+P@ngmoHwHv1i*>rEsS}^)h}A^?9|S z<(Vu6;VFU3lq3DF`PUara{r>mu|qp3GRN}cmCs8S?r2({x9-$Ceje`M4i$#=IRTD4 zii5W6pHsPUMQx9L`R%UrYblS2Nk_;9g7;la13eO!$b ztdwVpoKAmfdcIc5By~ym>7tPI!-wPq&edO2p3so&oxSOGQ(1i7E2qcP6(@6TR9%=9 zywEVwrJkcb?V|GE^VU;LoIYQekohE&yEV=3(~q4!*>YxQxS93^yzR4@_U^K`j*I&j z4weG%rPiM&?2G#;`G4_Zx0bFoD}A~COj?$D#=zQn$I?5cOB`Hmw^tS}xmGCcv_&Uf zXN9}JJcs?HWlN;y#!pRt5;$vqM8;f?SyfA(UAn1IQMhEAiRWxCU)9ieSJHN=e{B%( reyOj*`e4}tqupCXpXA)L|}Tf6@|6`Ym{q~Wl>>Z}gj`@qWpI*)pdV8(q?VZo> z9^U!<;QzKYLZN?o-Z0lb=-f&b%c$+?t33Yi^Z=KC)?7iaE##L^svgZ0dPswhY%D1okMEl8bBx~i5*xYq zGa@B_aEhdFzPY??_uR5`a~X5%6U--{+;d}w!u<31E8j~iePa2+D$=a5qT|GwGxv_) z-Sg+LL+Jd~S@EIOtD=g|-DS8MVaMX3HhH>X{T980(F)u)0u##_F2CF&na$d8G2=>a zWm$BmcS~XgcMRiwvFAtsynb}{lXU1-mMgADo_(%7T3x^K?4N%R%#$`v4cV7nBF@0g Pz`)??>gTe~DWM4fT0Oazr;B5VMQ?I~M8<&*-wy|y+3)f2@EA)g9^4? zX+g0c=1*{&kzKH}A>)8kS5i*mfkOuz=1eYR?Aq%Pq>%La(1YGqbsiobqa8V}Y&&8m fu$iWCFfc6Z60hX1{A|F$z`)??>gTe~DWM4f*CsDE diff --git a/editor/icons/icon_native_script.png b/editor/icons/icon_native_script.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4fe06704495dea1058863b034d45dd8aa535de GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG z+IqS;hFJ72o$Tv($WY*Ded{`lCe46|%m_*GH9hm3Rb-sQi^MzS#SPx|a*NA22%iaY z-odC7vnB7B`qC*LkGy9sGtR%aCo}4Y`jvGp9T7{XFjTzH-G2M8*2k=u2QAG7Cf3=^ zTf1AMRL=GHxt)#|9esQn8168u9|-i>&m8p|=xl6--f4JBF;+0Wxm4tW$ zzhX^Z?}e-Rj@*}-K^N6(_ST>f9H?q;l=eV|y#UTosTjvKw!D;~_@ zW{7&d%rK45VD{NrQLo?6$zB_3rMv0cI@Vsp&nEBYXrEjB*+FZQf6P+823L;6O;Ky} zs`lRV&)hO+vb9BkSFEWNZ^P?F&wDn16q*{eyih(YcJet_KfMi~^FuPW-(Ej;vM%HM vzuqFd{(7%)s$=gKIFzz8rtiDx57wd`4TnA2Tc + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/editor/icons/source/icon_bus_vu_frozen.svg b/editor/icons/source/icon_bus_vu_frozen.svg index 0324076402..40577a1a77 100644 --- a/editor/icons/source/icon_bus_vu_frozen.svg +++ b/editor/icons/source/icon_bus_vu_frozen.svg @@ -15,7 +15,7 @@ viewBox="0 0 16 128" id="svg2" version="1.1" - inkscape:version="0.92.1 r" + inkscape:version="0.92+devel unknown" inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_vu_empty.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" @@ -56,8 +56,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="5.6568543" - inkscape:cx="9.4951314" - inkscape:cy="71.853257" + inkscape:cx="14.809902" + inkscape:cy="65.349668" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -69,8 +69,8 @@ inkscape:snap-bbox-midpoints="true" inkscape:snap-object-midpoints="true" inkscape:snap-center="true" - inkscape:window-width="1600" - inkscape:window-height="836" + inkscape:window-width="1920" + inkscape:window-height="1016" inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" @@ -78,7 +78,8 @@ inkscape:snap-intersection-paths="false" inkscape:object-nodes="false" inkscape:snap-smooth-nodes="false" - inkscape:snap-midpoints="false"> + inkscape:snap-midpoints="false" + inkscape:document-rotation="0"> image/svg+xml - + @@ -102,7 +103,7 @@ id="layer1" transform="translate(0,-924.3622)"> diff --git a/editor/icons/source/icon_g_d_native_script.svg b/editor/icons/source/icon_native_script.svg similarity index 100% rename from editor/icons/source/icon_g_d_native_script.svg rename to editor/icons/source/icon_native_script.svg diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 6238cad14d..019ed47e81 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -1534,14 +1534,14 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { VBoxContainer *vbc = memnew(VBoxContainer); input_base->add_child(vbc); - vbc->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 5); - vbc->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, 5); - vbc->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 5); - vbc->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 5); + vbc->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 0); + vbc->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, 0); + vbc->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 0); + vbc->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 0); l = memnew(Label); vbc->add_child(l); - l->set_position(Point2(6, 5)); + l->set_position(Point2(6, 5) * EDSCALE); l->set_text(TTR("Action:")); hbc = memnew(HBoxContainer); @@ -1632,6 +1632,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { //translations TabContainer *translations = memnew(TabContainer); + translations->add_style_override("panel", memnew(StyleBoxEmpty)); translations->set_tab_align(TabContainer::ALIGN_LEFT); translations->set_name(TTR("Localization")); tab_container->add_child(translations); @@ -1648,7 +1649,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { Button *addtr = memnew(Button(TTR("Add.."))); addtr->connect("pressed", this, "_translation_file_open"); thb->add_child(addtr); - MarginContainer *tmc = memnew(MarginContainer); + VBoxContainer *tmc = memnew(VBoxContainer); tvb->add_child(tmc); tmc->set_v_size_flags(SIZE_EXPAND_FILL); translation_list = memnew(Tree); @@ -1672,7 +1673,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { Button *addtr = memnew(Button(TTR("Add.."))); addtr->connect("pressed", this, "_translation_res_file_open"); thb->add_child(addtr); - MarginContainer *tmc = memnew(MarginContainer); + VBoxContainer *tmc = memnew(VBoxContainer); tvb->add_child(tmc); tmc->set_v_size_flags(SIZE_EXPAND_FILL); translation_remap = memnew(Tree); @@ -1694,7 +1695,7 @@ ProjectSettingsEditor::ProjectSettingsEditor(EditorData *p_data) { addtr->connect("pressed", this, "_translation_res_option_file_open"); translation_res_option_add_button = addtr; thb->add_child(addtr); - tmc = memnew(MarginContainer); + tmc = memnew(VBoxContainer); tvb->add_child(tmc); tmc->set_v_size_flags(SIZE_EXPAND_FILL); translation_remap_options = memnew(Tree); diff --git a/editor/property_editor.cpp b/editor/property_editor.cpp index a3a10c6c5a..0777b6950e 100644 --- a/editor/property_editor.cpp +++ b/editor/property_editor.cpp @@ -45,7 +45,6 @@ #include "pair.h" #include "print_string.h" #include "project_settings.h" -#include "project_settings.h" #include "property_selector.h" #include "scene/gui/label.h" #include "scene/main/viewport.h" @@ -321,7 +320,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: CheckBox *c = checks20[0]; c->set_text("True"); - checks20gc->set_position(Vector2(4, 4)); + checks20gc->set_position(Vector2(4, 4) * EDSCALE); c->set_pressed(v); c->show(); @@ -434,14 +433,14 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: } else if (hint == PROPERTY_HINT_EXP_EASING) { - easing_draw->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 5); - easing_draw->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 5); - easing_draw->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 5); - easing_draw->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, 30); - type_button->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 3); - type_button->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 3); - type_button->set_anchor_and_margin(MARGIN_TOP, ANCHOR_END, 25); - type_button->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, 7); + easing_draw->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 5 * EDSCALE); + easing_draw->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 5 * EDSCALE); + easing_draw->set_anchor_and_margin(MARGIN_TOP, ANCHOR_BEGIN, 5 * EDSCALE); + easing_draw->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, 30 * EDSCALE); + type_button->set_anchor_and_margin(MARGIN_LEFT, ANCHOR_BEGIN, 3 * EDSCALE); + type_button->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 3 * EDSCALE); + type_button->set_anchor_and_margin(MARGIN_TOP, ANCHOR_END, 25 * EDSCALE); + type_button->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, 7 * EDSCALE); type_button->set_text(TTR("Preset..")); type_button->get_popup()->clear(); type_button->get_popup()->add_item(TTR("Linear"), EASING_LINEAR); @@ -524,7 +523,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: action_buttons[0]->set_anchor(MARGIN_TOP, ANCHOR_END); action_buttons[0]->set_anchor(MARGIN_RIGHT, ANCHOR_END); action_buttons[0]->set_anchor(MARGIN_BOTTOM, ANCHOR_END); - action_buttons[0]->set_begin(Point2(70, button_margin - 5)); + action_buttons[0]->set_begin(Point2(70 * EDSCALE, button_margin - 5 * EDSCALE)); action_buttons[0]->set_end(Point2(margin, margin)); action_buttons[0]->set_text(TTR("Close")); action_buttons[0]->show(); @@ -872,7 +871,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: break; menu->clear(); - menu->set_size(Size2(1, 1)); + menu->set_size(Size2(1, 1) * EDSCALE); if (p_name == "script" && hint_text == "Script" && owner->cast_to()) { menu->add_icon_item(get_icon("Script", "EditorIcons"), TTR("New Script"), OBJ_MENU_NEW_SCRIPT); @@ -921,7 +920,7 @@ bool CustomPropertyEditor::edit(Object *p_owner, const String &p_name, Variant:: if (!RES(v).is_null()) { - menu->add_icon_item(get_icon("EditResource", "EditorIcons"), "Edit", OBJ_MENU_EDIT); + menu->add_icon_item(get_icon("Edit", "EditorIcons"), "Edit", OBJ_MENU_EDIT); menu->add_icon_item(get_icon("Del", "EditorIcons"), "Clear", OBJ_MENU_CLEAR); menu->add_icon_item(get_icon("Duplicate", "EditorIcons"), "Make Unique", OBJ_MENU_MAKE_UNIQUE); RES r = v; diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 390d13e64e..94ef712c25 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -185,19 +185,19 @@ bool SceneTreeEditor::_add_nodes(Node *p_node, TreeItem *p_parent) { if (part_of_subscene) { //item->set_selectable(0,marked_selectable); - item->set_custom_color(0, Color(0.8, 0.4, 0.20)); + item->set_custom_color(0, get_color("error_color", "Editor").linear_interpolate(get_color("warning_color", "Editor"), 0.4)); } else if (marked.has(p_node)) { item->set_selectable(0, marked_selectable); - item->set_custom_color(0, Color(0.8, 0.1, 0.10)); + item->set_custom_color(0, get_color("error_color", "Editor")); } else if (!marked_selectable && !marked_children_selectable) { Node *node = p_node; while (node) { if (marked.has(node)) { item->set_selectable(0, false); - item->set_custom_color(0, Color(0.8, 0.1, 0.10)); + item->set_custom_color(0, get_color("error_color", "Editor")); break; } node = node->get_parent(); diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp index f4ed430d3d..b8c531bbce 100644 --- a/editor/script_editor_debugger.cpp +++ b/editor/script_editor_debugger.cpp @@ -637,7 +637,6 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da } else if (p_msg == "profile_sig") { //cache a signature - print_line("SIG: " + String(Variant(p_data))); profiler_signature[p_data[1]] = p_data[0]; } else if (p_msg == "profile_frame" || p_msg == "profile_total") { @@ -796,8 +795,9 @@ void ScriptEditorDebugger::_performance_draw() { r.position += graph_sb->get_offset(); r.size -= graph_sb->get_minimum_size(); int pi = which[i]; - Color c = Color(0.7, 0.9, 0.5); + Color c = get_color("success_color", "Editor"); c.set_hsv(Math::fmod(c.get_h() + pi * 0.7654, 1), c.get_s(), c.get_v()); + //c = c.linear_interpolate(get_color("base_color", "Editor"), 0.9); c.a = 0.8; perf_draw->draw_string(graph_font, r.position + Point2(0, graph_font->get_ascent()), perf_items[pi]->get_text(0), c, r.size.x); @@ -848,6 +848,8 @@ void ScriptEditorDebugger::_notification(int p_what) { error_stack->connect("item_selected", this, "_error_stack_selected"); vmem_refresh->set_icon(get_icon("Reload", "EditorIcons")); + reason->add_color_override("font_color", get_color("error_color", "Editor")); + } break; case NOTIFICATION_PROCESS: { @@ -1615,13 +1617,10 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) { HBoxContainer *hbc = memnew(HBoxContainer); vbc->add_child(hbc); - reason = memnew(LineEdit); + reason = memnew(Label); reason->set_text(""); - reason->set_editable(false); hbc->add_child(reason); - reason->add_color_override("font_color", Color(1, 0.4, 0.0, 0.8)); reason->set_h_size_flags(SIZE_EXPAND_FILL); - //reason->set_clip_text(true); hbc->add_child(memnew(VSeparator)); @@ -1647,8 +1646,6 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) { docontinue->set_tooltip(TTR("Continue")); docontinue->connect("pressed", this, "debug_continue"); - //hbc->add_child( memnew( VSeparator) ); - back = memnew(Button); hbc->add_child(back); back->set_tooltip(TTR("Inspect Previous Instance")); @@ -1690,10 +1687,6 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) { breaked = false; tabs->add_child(dbg); - //tabs->move_child(vbc,0); - - hbc = memnew(HBoxContainer); - vbc->add_child(hbc); } { //errors @@ -1821,7 +1814,7 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) { vmem_vb->add_child(vmem_hb); vmem_refresh->connect("pressed", this, "_video_mem_request"); - MarginContainer *vmmc = memnew(MarginContainer); + VBoxContainer *vmmc = memnew(VBoxContainer); vmem_tree = memnew(Tree); vmem_tree->set_v_size_flags(SIZE_EXPAND_FILL); vmem_tree->set_h_size_flags(SIZE_EXPAND_FILL); diff --git a/editor/script_editor_debugger.h b/editor/script_editor_debugger.h index 907c267d49..d255d73167 100644 --- a/editor/script_editor_debugger.h +++ b/editor/script_editor_debugger.h @@ -89,7 +89,7 @@ class ScriptEditorDebugger : public Control { TabContainer *tabs; - LineEdit *reason; + Label *reason; ScriptEditorDebuggerVariables *variables; Button *step;