3434#include " core/input/input.h"
3535#include " core/io/resource_saver.h"
3636#include " core/os/keyboard.h"
37+ #include " editor/docks/editor_dock_manager.h"
3738#include " editor/docks/filesystem_dock.h"
3839#include " editor/editor_node.h"
3940#include " editor/editor_string_names.h"
4041#include " editor/editor_undo_redo_manager.h"
41- #include " editor/gui/editor_bottom_panel.h"
4242#include " editor/gui/editor_file_dialog.h"
4343#include " editor/settings/editor_command_palette.h"
4444#include " editor/settings/editor_settings.h"
4545#include " editor/themes/editor_scale.h"
4646#include " editor/themes/editor_theme_manager.h"
47+ #include " scene/gui/box_container.h"
4748#include " scene/gui/separator.h"
4849#include " scene/main/timer.h"
4950#include " scene/resources/font.h"
@@ -1111,7 +1112,7 @@ void EditorAudioBuses::_rebuild_buses() {
11111112
11121113EditorAudioBuses *EditorAudioBuses::register_editor () {
11131114 EditorAudioBuses *audio_buses = memnew (EditorAudioBuses);
1114- EditorNode::get_bottom_panel ()->add_item ( TTRC ( " Audio " ), audio_buses, ED_SHORTCUT_AND_COMMAND ( " bottom_panels/toggle_audio_bottom_panel " , TTRC ( " Toggle Audio Bottom Panel " ), KeyModifierMask::ALT | Key::A) );
1115+ EditorDockManager::get_singleton ()->add_dock ( audio_buses);
11151116 return audio_buses;
11161117}
11171118
@@ -1158,16 +1159,6 @@ void EditorAudioBuses::_notification(int p_what) {
11581159 }
11591160
11601161 _update_file_label_size ();
1161-
1162- // Setting `the split_offset` value once to the minimum value required to display the entire contents of the `EditorAudioBuses`.
1163- // This is used instead of setting a custom_minimum_size or similar, as this may cause the panel to be outside the window (see GH-26835).
1164- // If `EditorAudioBuses` is selected when starting the editor, this code will be executed first and then the saved layout will load.
1165- if (use_default_editor_size) {
1166- use_default_editor_size = false ;
1167- int offset = EditorNode::get_bottom_panel ()->get_combined_minimum_size ().y + get_combined_minimum_size ().y ;
1168- offset += Object::cast_to<Control>(bus_hb->get_child (0 ))->get_combined_minimum_size ().y ; // Master audio bus always exists.
1169- EditorNode::get_singleton ()->set_center_split_offset (-offset);
1170- }
11711162 } break ;
11721163 }
11731164}
@@ -1336,8 +1327,17 @@ void EditorAudioBuses::_bind_methods() {
13361327}
13371328
13381329EditorAudioBuses::EditorAudioBuses () {
1330+ set_name (TTRC (" Audio" ));
1331+ set_icon_name (" AudioStreamPlayer" );
1332+ set_dock_shortcut (ED_SHORTCUT_AND_COMMAND (" bottom_panels/toggle_audio_bottom_panel" , TTRC (" Toggle Audio Dock" ), KeyModifierMask::ALT | Key::A));
1333+ set_default_slot (DockConstants::DOCK_SLOT_BOTTOM);
1334+ set_available_layouts (EditorDock::DOCK_LAYOUT_HORIZONTAL | EditorDock::DOCK_LAYOUT_FLOATING);
1335+
1336+ VBoxContainer *main_vb = memnew (VBoxContainer);
1337+ add_child (main_vb);
1338+
13391339 top_hb = memnew (HBoxContainer);
1340- add_child (top_hb);
1340+ main_vb-> add_child (top_hb);
13411341
13421342 edited_path = ResourceUID::ensure_path (GLOBAL_GET (" audio/buses/default_bus_layout" ));
13431343
@@ -1390,15 +1390,15 @@ EditorAudioBuses::EditorAudioBuses() {
13901390 bus_scroll = memnew (ScrollContainer);
13911391 bus_scroll->set_v_size_flags (SIZE_EXPAND_FILL);
13921392 bus_scroll->set_custom_minimum_size (Size2 (0 , 40 * EDSCALE));
1393- add_child (bus_scroll);
1393+ main_vb-> add_child (bus_scroll);
13941394 bus_hb = memnew (HBoxContainer);
13951395 bus_hb->set_v_size_flags (SIZE_EXPAND_FILL);
13961396 bus_scroll->add_child (bus_hb);
13971397
13981398 save_timer = memnew (Timer);
13991399 save_timer->set_wait_time (0.8 );
14001400 save_timer->set_one_shot (true );
1401- add_child (save_timer);
1401+ main_vb-> add_child (save_timer);
14021402 save_timer->connect (" timeout" , callable_mp (this , &EditorAudioBuses::_server_save));
14031403
14041404 set_v_size_flags (SIZE_EXPAND_FILL);
@@ -1418,7 +1418,7 @@ EditorAudioBuses::EditorAudioBuses() {
14181418}
14191419
14201420void EditorAudioBuses::open_layout (const String &p_path) {
1421- EditorNode::get_bottom_panel ()-> make_item_visible ( this );
1421+ make_visible ( );
14221422
14231423 const String path = ResourceUID::ensure_path (p_path);
14241424
0 commit comments