Use LV2_SUPPORT define instead of HAVE_SLV2.
[ardour.git] / gtk2_ardour / time_axis_view.cc
index 3ac5fc6c3856210784442654fed761423ba8d553..c2774d5e4fbf77def5cf55c900b1e64560ad6db3 100644 (file)
@@ -75,6 +75,7 @@ PBD::Signal1<void,TimeAxisView*> TimeAxisView::CatchDeletion;
 TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* rent, Canvas& /*canvas*/)
        : AxisView (sess)
        , controls_table (2, 8)
+       , _controls_padding_table (3, 3)
        , _size_menu (0)
        , _y_position (0)
        , _editor (ed)
@@ -134,7 +135,6 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
        name_hbox.show ();
 
        controls_table.set_size_request (200);
-       controls_table.set_border_width (2);
        controls_table.set_row_spacings (0);
        controls_table.set_col_spacings (0);
        controls_table.set_homogeneous (true);
@@ -161,7 +161,16 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
 
        HSeparator* separator = manage (new HSeparator());
 
-       controls_vbox.pack_start (controls_table, false, false);
+       /* Use a rather hacky extra table so that we can control the space above/below and
+        * left/right of the controls_table separately.  This in turn is so that we can
+        * shrink the vertical space when the track is at its minimum height.
+        */
+       _controls_padding_table.set_row_spacings (2);
+       _controls_padding_table.set_col_spacings (0);
+       _controls_padding_table.attach (controls_table, 1, 2, 1, 2);
+       _controls_padding_table.show ();
+       
+       controls_vbox.pack_start (_controls_padding_table, false, false);
        controls_vbox.pack_end (resizer_box, false, false);
        controls_vbox.show ();
 
@@ -617,11 +626,9 @@ TimeAxisView::conditionally_add_to_selection ()
 void
 TimeAxisView::popup_display_menu (guint32 when)
 {
-       if (display_menu == 0) {
-               build_display_menu ();
-       }
-
        conditionally_add_to_selection ();
+
+       build_display_menu ();
        display_menu->popup (1, when);
 }
 
@@ -1356,9 +1363,11 @@ TimeAxisView::get_child_list ()
 void
 TimeAxisView::build_size_menu ()
 {
-       if (_size_menu) {
+       if (_size_menu && _size_menu->gobj ()) {
                return;
        }
+
+       delete _size_menu;
        
        using namespace Menu_Helpers;