summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-10-16 13:31:20 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-10-16 13:44:36 -0400
commit8097b8c762e1543d6abbecfeb91b3f64ba36ec1f (patch)
tree1c11b9b8f617c04458ecce6999ec4ffa2efd3825
parent697097219158bd159cc459529500d4700c32604e (diff)
add action and menu entry for "reattach all tearoffs".
So far only does the transport tearoff
-rw-r--r--gtk2_ardour/ardour.menus.in1
-rw-r--r--gtk2_ardour/ardour_ui.h13
-rw-r--r--gtk2_ardour/ardour_ui2.cc6
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc2
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));