X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftime_axis_view.cc;h=380b4b4c5691216642f00916a45f8fb7825c4b9d;hb=5c4f7313ef3f5f56dbc5777a0f78061c5472b29e;hp=ef9403456912c6ce1dda10487ca039199a68a316;hpb=53b07c0fa4ff84b094a863637d5cb054f9a29878;p=ardour.git diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index ef94034569..380b4b4c56 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -428,9 +428,13 @@ TimeAxisView::set_heights (uint32_t h) } void -TimeAxisView::set_height_enum (Height h) +TimeAxisView::set_height_enum (Height h, bool apply_to_selection) { - set_height (preset_height (h)); + if (apply_to_selection) { + _editor.get_selection().tracks.foreach_time_axis (boost::bind (&TimeAxisView::set_height_enum, _1, h, false)); + } else { + set_height (preset_height (h)); + } } void @@ -613,11 +617,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); } @@ -1352,9 +1354,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; @@ -1362,10 +1366,10 @@ TimeAxisView::build_size_menu () _size_menu->set_name ("ArdourContextMenu"); MenuList& items = _size_menu->items(); - items.push_back (MenuElem (_("Largest"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightLargest))); - items.push_back (MenuElem (_("Larger"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightLarger))); - items.push_back (MenuElem (_("Large"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightLarge))); - items.push_back (MenuElem (_("Normal"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightNormal))); - items.push_back (MenuElem (_("Smaller"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightSmaller))); - items.push_back (MenuElem (_("Small"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightSmall))); + items.push_back (MenuElem (_("Largest"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightLargest, true))); + items.push_back (MenuElem (_("Larger"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightLarger, true))); + items.push_back (MenuElem (_("Large"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightLarge, true))); + items.push_back (MenuElem (_("Normal"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightNormal, true))); + items.push_back (MenuElem (_("Smaller"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightSmaller, true))); + items.push_back (MenuElem (_("Small"), sigc::bind (sigc::mem_fun (*this, &TimeAxisView::set_height_enum), HeightSmall, true))); }