diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-10-16 13:31:20 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-10-16 13:44:36 -0400 |
commit | 8097b8c762e1543d6abbecfeb91b3f64ba36ec1f (patch) | |
tree | 1c11b9b8f617c04458ecce6999ec4ffa2efd3825 /gtk2_ardour | |
parent | 697097219158bd159cc459529500d4700c32604e (diff) |
add action and menu entry for "reattach all tearoffs".
So far only does the transport tearoff
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour.menus.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 13 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui2.cc | 6 | ||||
-rw-r--r-- | 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 @@ <menuitem action='ToggleMaximalEditor'/> <menuitem action='ToggleMaximalMixer'/> <menuitem action='KeepTearoffs'/> + <menuitem action='reattach-all-tearoffs'/> <separator/> 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<MidiTracer*> _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 @@ -481,6 +481,12 @@ ARDOUR_UI::reattach_tearoff (Box* b, Widget* w, int32_t n) } void +ARDOUR_UI::reattach_all_tearoffs () +{ + if (transport_tearoff) transport_tearoff->put_it_back(); +} + +void ARDOUR_UI::soloing_changed (bool onoff) { if (solo_alert_button.get_active() != 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)); |