From 52d3c2216d469f0b8898442e8622bba2a2cbff87 Mon Sep 17 00:00:00 2001 From: nick_m Date: Wed, 1 Feb 2017 23:50:42 +1100 Subject: more inconsistent menu item fiddling. --- gtk2_ardour/editor_ops.cc | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 20992d881a..251233a433 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -5743,22 +5743,17 @@ Editor::toggle_region_lock_style () return; } - bool have_position_lock_style_audio = false; - bool have_position_lock_style_music = false; - for (list::const_iterator i = rs.begin(); i != rs.end(); ++i) { - if ((*i)->region()->position_lock_style() == MusicTime) { - have_position_lock_style_music = true; - } else { - have_position_lock_style_audio = true; - } - } - bool const inconsistent = have_position_lock_style_audio && have_position_lock_style_music; + Glib::RefPtr a = Glib::RefPtr::cast_dynamic (_region_actions->get_action("toggle-region-lock-style")); + vector proxies = a->get_proxies(); + CheckMenuItem* cmi = dynamic_cast (proxies.front()); + + assert (cmi); begin_reversible_command (_("toggle region lock style")); for (RegionSelection::iterator i = rs.begin(); i != rs.end(); ++i) { (*i)->region()->clear_changes (); - PositionLockStyle const ns = ((*i)->region()->position_lock_style() == AudioTime && !inconsistent) ? MusicTime : AudioTime; + PositionLockStyle const ns = ((*i)->region()->position_lock_style() == AudioTime && !cmi->get_inconsistent()) ? MusicTime : AudioTime; (*i)->region()->set_position_lock_style (ns); _session->add_command (new StatefulDiffCommand ((*i)->region())); } -- cgit v1.2.3