diff options
-rw-r--r-- | gtk2_ardour/ardour_ui2.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/editor.cc | 16 | ||||
-rw-r--r-- | gtk2_ardour/editor.h | 5 | ||||
-rw-r--r-- | gtk2_ardour/public_editor.h | 3 |
4 files changed, 22 insertions, 6 deletions
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 1bf5115b8d..9456a11b64 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -112,9 +112,9 @@ ARDOUR_UI::setup_windows () top_packer.pack_start (menu_bar_base, false, false); #endif - top_packer.pack_start (transport_frame, false, false); + editor->add_toplevel_menu (top_packer); - editor->add_toplevel_controls (top_packer); + editor->add_transport_frame (transport_frame); setup_transport(); diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 534ce86342..ad920683b8 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -802,12 +802,24 @@ Editor::button_settings () const } void -Editor::add_toplevel_controls (Container& cont) +Editor::add_toplevel_menu (Container& cont) { vpacker.pack_start (cont, false, false); cont.show_all (); } +void +Editor::add_transport_frame (Container& cont) +{ + if(ARDOUR::Profile->get_mixbus()) { + global_vpacker.pack_start (cont, false, false); + global_vpacker.reorder_child (cont, 0); + cont.show_all (); + } else { + vpacker.pack_start (cont, false, false); + } +} + bool Editor::get_smart_mode () const { @@ -3023,7 +3035,7 @@ Editor::setup_toolbar () if (!ARDOUR::Profile->get_trx()) { hbox->pack_start (snap_box, false, false); - if (!Profile->get_small_screen()) { + if ( !Profile->get_small_screen() || Profile->get_mixbus() ) { hbox->pack_start (*nudge_box, false, false); } else { ARDOUR_UI::instance()->editor_transport_box().pack_start (*nudge_box, false, false); diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index d3d240611a..4a62d3a0cb 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -277,7 +277,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD void export_range (); void export_region (); - void add_toplevel_controls (Gtk::Container&); + void add_transport_frame (Gtk::Container&); + void add_toplevel_menu (Gtk::Container&); Gtk::HBox& get_status_bar_packer() { return status_bar_hpacker; } void set_zoom_focus (Editing::ZoomFocus); @@ -969,6 +970,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD std::vector<ARDOUR::framepos_t> region_boundary_cache; void build_region_boundary_cache (); + Gtk::HBox toplevel_hpacker; + Gtk::HBox top_hbox; Gtk::HBox bottom_hbox; diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index 17d43e0bf4..4b3c83ffb1 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -238,7 +238,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi virtual void export_range () = 0; virtual void register_actions () = 0; - virtual void add_toplevel_controls (Gtk::Container&) = 0; + virtual void add_transport_frame (Gtk::Container&) = 0; + virtual void add_toplevel_menu (Gtk::Container&) = 0; virtual void set_zoom_focus (Editing::ZoomFocus) = 0; virtual Editing::ZoomFocus get_zoom_focus () const = 0; virtual framecnt_t get_current_zoom () const = 0; |