diff options
author | Daniel J. Ramirez <djrmuv@gmail.com> | 2017-08-10 18:07:24 -0500 |
---|---|---|
committer | Daniel J. Ramirez <djrmuv@gmail.com> | 2017-08-10 18:07:24 -0500 |
commit | 9b413333409dd354fa72084795bdafdf1c228ef2 (patch) | |
tree | a6083ea327ac3591bb28f240a33d87cbeb8db669 | |
parent | 81dde2687f2f80f5f365a02d68913322d35e9be1 (diff) |
Fixes to buses editor
Fixed unselectable bus
Added bus options button
-rw-r--r-- | editor/editor_audio_buses.cpp | 34 | ||||
-rw-r--r-- | editor/editor_audio_buses.h | 2 | ||||
-rw-r--r-- | editor/icons/2x/icon_GUI_mini_tab_menu.png | bin | 0 -> 206 bytes | |||
-rw-r--r-- | editor/icons/icon_GUI_mini_tab_menu.png | bin | 0 -> 139 bytes | |||
-rw-r--r-- | editor/icons/source/icon_GUI_mini_tab_menu.svg | 93 | ||||
-rw-r--r-- | scene/gui/tree.cpp | 2 |
6 files changed, 120 insertions, 11 deletions
diff --git a/editor/editor_audio_buses.cpp b/editor/editor_audio_buses.cpp index 219f05ef95..993429a5a4 100644 --- a/editor/editor_audio_buses.cpp +++ b/editor/editor_audio_buses.cpp @@ -51,6 +51,8 @@ void EditorAudioBus::_notification(int p_what) { mute->set_icon(get_icon("AudioBusMute", "EditorIcons")); bypass->set_icon(get_icon("AudioBusBypass", "EditorIcons")); + bus_options->set_icon(get_icon("GuiMiniTabMenu", "EditorIcons")); + prev_active = true; update_bus(); set_process(true); @@ -620,15 +622,26 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses) { buses = p_buses; updating_bus = false; + set_tooltip(TTR("Audio Bus, Drag and Drop to rearrange.")); + VBoxContainer *vb = memnew(VBoxContainer); add_child(vb); set_v_size_flags(SIZE_EXPAND_FILL); + HBoxContainer *head = memnew(HBoxContainer); track_name = memnew(LineEdit); - vb->add_child(track_name); + head->add_child(track_name); track_name->connect("text_entered", this, "_name_changed"); track_name->connect("focus_exited", this, "_name_focus_exit"); + track_name->set_h_size_flags(SIZE_EXPAND_FILL); + + bus_options = memnew(MenuButton); + bus_options->set_h_size_flags(SIZE_SHRINK_END); + bus_options->set_tooltip(TTR("Bus options")); + head->add_child(bus_options); + + vb->add_child(head); HBoxContainer *hbc = memnew(HBoxContainer); vb->add_child(hbc); @@ -636,24 +649,18 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses) { solo = memnew(ToolButton); solo->set_toggle_mode(true); solo->set_tooltip(TTR("Solo")); - solo->add_color_override("font_color_pressed", Color(0.2, 0.9, 0.2)); - solo->add_color_override("font_color_hover", Color(0.6, 0.9, 0.6)); solo->set_focus_mode(FOCUS_NONE); solo->connect("pressed", this, "_solo_toggled"); hbc->add_child(solo); mute = memnew(ToolButton); mute->set_toggle_mode(true); mute->set_tooltip(TTR("Mute")); - mute->add_color_override("font_color_pressed", Color(0.9, 0.2, 0.2)); - mute->add_color_override("font_color_hover", Color(0.9, 0.6, 0.6)); mute->set_focus_mode(FOCUS_NONE); mute->connect("pressed", this, "_mute_toggled"); hbc->add_child(mute); bypass = memnew(ToolButton); bypass->set_toggle_mode(true); bypass->set_tooltip(TTR("Bypass")); - bypass->add_color_override("font_color_pressed", Color(0.9, 0.9, 0.2)); - bypass->add_color_override("font_color_hover", Color(0.9, 0.9, 0.6)); bypass->set_focus_mode(FOCUS_NONE); bypass->connect("pressed", this, "_bypass_toggled"); hbc->add_child(bypass); @@ -689,7 +696,7 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses) { effects = memnew(Tree); effects->set_hide_root(true); - effects->set_custom_minimum_size(Size2(0, 90) * EDSCALE); + effects->set_custom_minimum_size(Size2(0, 100) * EDSCALE); effects->set_hide_folding(true); vb->add_child(effects); effects->connect("item_edited", this, "_effect_edited"); @@ -698,6 +705,8 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses) { effects->set_drag_forwarding(this); effects->connect("item_rmb_selected", this, "_effect_rmb"); effects->set_allow_rmb_select(true); + effects->set_single_select_cell_editing_only_when_already_selected(true); + effects->set_focus_mode(FOCUS_CLICK); send = memnew(OptionButton); send->set_clip_text(true); @@ -726,7 +735,7 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses) { effect_options->set_item_icon(effect_options->get_item_count() - 1, icon); } - delete_popup = memnew(PopupMenu); + delete_popup = bus_options->get_popup(); delete_popup->add_item("Duplicate"); delete_popup->add_item("Delete"); add_child(delete_popup); @@ -1069,6 +1078,7 @@ EditorAudioBuses::EditorAudioBuses() { add = memnew(Button); top_hb->add_child(add); add->set_text(TTR("Add Bus")); + add->set_tooltip(TTR("Create a new Bus Layout.")); add->connect("pressed", this, "_add_bus"); @@ -1076,21 +1086,25 @@ EditorAudioBuses::EditorAudioBuses() { load = memnew(Button); load->set_text(TTR("Load")); + load->set_tooltip(TTR("Load an existing Bus Layout.")); top_hb->add_child(load); load->connect("pressed", this, "_load_layout"); save_as = memnew(Button); save_as->set_text(TTR("Save As")); + save_as->set_tooltip(TTR("Save this Bus Layout to a file.")); top_hb->add_child(save_as); save_as->connect("pressed", this, "_save_as_layout"); _default = memnew(Button); - _default->set_text(TTR("Default")); + _default->set_text(TTR("Load Default")); + _default->set_tooltip(TTR("Load the default Bus Layout.")); top_hb->add_child(_default); _default->connect("pressed", this, "_load_default_layout"); _new = memnew(Button); _new->set_text(TTR("Create")); + _new->set_tooltip(TTR("Create a new Bus Layout.")); top_hb->add_child(_new); _new->connect("pressed", this, "_new_layout"); diff --git a/editor/editor_audio_buses.h b/editor/editor_audio_buses.h index f5bf464fd0..ef7f5e0adf 100644 --- a/editor/editor_audio_buses.h +++ b/editor/editor_audio_buses.h @@ -35,6 +35,7 @@ #include "scene/gui/box_container.h" #include "scene/gui/button.h" #include "scene/gui/line_edit.h" +#include "scene/gui/menu_button.h" #include "scene/gui/option_button.h" #include "scene/gui/panel.h" #include "scene/gui/panel_container.h" @@ -57,6 +58,7 @@ class EditorAudioBus : public PanelContainer { Ref<Texture> disabled_vu; LineEdit *track_name; + MenuButton *bus_options; VSlider *slider; TextureProgress *vu_l; TextureProgress *vu_r; diff --git a/editor/icons/2x/icon_GUI_mini_tab_menu.png b/editor/icons/2x/icon_GUI_mini_tab_menu.png Binary files differnew file mode 100644 index 0000000000..8c3aa73aaf --- /dev/null +++ b/editor/icons/2x/icon_GUI_mini_tab_menu.png diff --git a/editor/icons/icon_GUI_mini_tab_menu.png b/editor/icons/icon_GUI_mini_tab_menu.png Binary files differnew file mode 100644 index 0000000000..1dc793de1a --- /dev/null +++ b/editor/icons/icon_GUI_mini_tab_menu.png diff --git a/editor/icons/source/icon_GUI_mini_tab_menu.svg b/editor/icons/source/icon_GUI_mini_tab_menu.svg new file mode 100644 index 0000000000..65d71e86a0 --- /dev/null +++ b/editor/icons/source/icon_GUI_mini_tab_menu.svg @@ -0,0 +1,93 @@ +<?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="6" + height="16" + viewBox="0 0 6 16" + id="svg2" + version="1.1" + inkscape:version="0.92+devel unknown" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_collapse.png" + inkscape:export-xdpi="45" + inkscape:export-ydpi="45" + sodipodi:docname="icon_GUI_mini_tab_menu.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="5.71687" + inkscape:cy="8.5207578" + 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:snap-smooth-nodes="true" + inkscape:object-nodes="true" + inkscape:document-rotation="0"> + <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)"> + <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="3" + cy="1038.3622" + r="2" /> + <circle + r="2" + cy="1044.3622" + cx="3" + 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="3" + cy="1050.3622" + r="2" /> + </g> +</svg> diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 0ce29b7472..dc525712b6 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -1478,7 +1478,7 @@ void Tree::select_single_item(TreeItem *p_selected, TreeItem *p_current, int p_c if (!r_in_range && &selected_cell == &c) { - if (!selected_cell.selected) { + if (!selected_cell.selected || force_select_on_already_selected) { selected_cell.selected = true; |