add tearoff reattach for the editor
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 16 Oct 2014 17:43:07 +0000 (13:43 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 16 Oct 2014 17:44:36 +0000 (13:44 -0400)
gtk2_ardour/ardour_ui2.cc
gtk2_ardour/editor.cc
gtk2_ardour/editor.h
gtk2_ardour/public_editor.h

index d5923411fe92303b9997d7d938e79f9a563ebf9f..6d03cbebad4e662ee9c64f29552f25f6267d5f03 100644 (file)
@@ -484,6 +484,7 @@ void
 ARDOUR_UI::reattach_all_tearoffs ()
 {
        if (transport_tearoff) transport_tearoff->put_it_back();
+       if (editor) editor->reattach_all_tearoffs ();
 }
 
 void
index 2859954742fff9504201a753b1fceb1452116a63..694dfbf14938d9c7e93d973a62d067873774f85d 100644 (file)
@@ -4069,6 +4069,14 @@ Editor::update_tearoff_visibility()
        }
 }
 
+void
+Editor::reattach_all_tearoffs ()
+{
+       if (_mouse_mode_tearoff) _mouse_mode_tearoff->put_it_back ();
+       if (_tools_tearoff) _tools_tearoff->put_it_back ();
+       if (_zoom_tearoff) _zoom_tearoff->put_it_back ();
+}
+
 void
 Editor::maximise_editing_space ()
 {
index e07ab4b80ada399d5dea5c3af291da809bec3849..ff244e730bb6912ceefb33f0e8eb723b6761dc8d 100644 (file)
@@ -369,6 +369,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void restore_editing_space();
 
        void update_tearoff_visibility();
+       void reattach_all_tearoffs ();
 
        void reset_x_origin (framepos_t);
        void reset_x_origin_to_follow_playhead ();
index 4b3c83ffb10be26aeb315a5fb9bb32bfae07ad65..53e0b6052313cfbd7abfacb501c0ffd3a83fa0cb 100644 (file)
@@ -290,6 +290,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
        virtual void maximise_editing_space () = 0;
        virtual void restore_editing_space () = 0;
        virtual void update_tearoff_visibility () = 0;
+       virtual void reattach_all_tearoffs () = 0;
        virtual framepos_t get_preferred_edit_position (bool ignore_playhead = false, bool from_context_menu = false) = 0;
        virtual void toggle_meter_updating() = 0;
        virtual void split_regions_at (framepos_t, RegionSelection&) = 0;