From 8097b8c762e1543d6abbecfeb91b3f64ba36ec1f Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 16 Oct 2014 13:31:20 -0400 Subject: [PATCH] add action and menu entry for "reattach all tearoffs". So far only does the transport tearoff --- gtk2_ardour/ardour.menus.in | 1 + gtk2_ardour/ardour_ui.h | 13 +++++++------ gtk2_ardour/ardour_ui2.cc | 6 ++++++ gtk2_ardour/ardour_ui_ed.cc | 2 ++ 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in index 066420be88..6ff7e18f48 100644 --- a/gtk2_ardour/ardour.menus.in +++ b/gtk2_ardour/ardour.menus.in @@ -337,6 +337,7 @@ + diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index cc00b0a16b..51bc6dd117 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -112,10 +112,6 @@ class NSM_Client; class LevelMeterHBox; class GUIObjectState; -namespace Gtkmm2ext { - class TearOff; -} - namespace ARDOUR { class ControlProtocolInfo; class IO; @@ -126,6 +122,10 @@ namespace ARDOUR { class ProcessThread; } +namespace Gtkmm2ext { + class TearOff; +} + class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr { public: @@ -380,10 +380,11 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr std::list _midi_tracer_windows; - /* Transport Control */ - void detach_tearoff (Gtk::Box* parent, Gtk::Widget* contents); void reattach_tearoff (Gtk::Box* parent, Gtk::Widget* contents, int32_t order); + void reattach_all_tearoffs (); + + /* Transport Control */ Gtkmm2ext::TearOff* transport_tearoff; Gtk::Frame transport_frame; diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index fd85f4fb1c..d5923411fe 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -480,6 +480,12 @@ ARDOUR_UI::reattach_tearoff (Box* b, Widget* w, int32_t n) b->reorder_child (*w, n); } +void +ARDOUR_UI::reattach_all_tearoffs () +{ + if (transport_tearoff) transport_tearoff->put_it_back(); +} + void ARDOUR_UI::soloing_changed (bool onoff) { diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 278f2dba5a..a65114da46 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -200,6 +200,8 @@ ARDOUR_UI::install_actions () ActionManager::register_action (common_actions, X_("toggle-editor-mixer"), _("Toggle Editor+Mixer"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_editor_mixer)); ActionManager::register_toggle_action (common_actions, X_("toggle-meterbridge"), S_("Window|Meterbridge"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_meterbridge)); + ActionManager::register_action (common_actions, X_("reattach-all-tearoffs"), _("Reattach All Tearoffs"), sigc::mem_fun (*this, &ARDOUR_UI::reattach_all_tearoffs)); + act = ActionManager::register_action (common_actions, X_("NewMIDITracer"), _("MIDI Tracer"), sigc::mem_fun(*this, &ARDOUR_UI::new_midi_tracer_window)); ActionManager::session_sensitive_actions.push_back (act); ActionManager::register_action (common_actions, X_("Chat"), _("Chat"), sigc::mem_fun(*this, &ARDOUR_UI::launch_chat));