summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2017-02-01 23:50:42 +1100
committernick_m <mainsbridge@gmail.com>2017-02-04 22:57:36 +1100
commit52d3c2216d469f0b8898442e8622bba2a2cbff87 (patch)
treefaba8c58b2404d4fe46284db7318892145c9cb35 /gtk2_ardour
parent1cfa6bd69fc83420db228cfcc23970f798edf78b (diff)
more inconsistent menu item fiddling.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_ops.cc17
1 files changed, 6 insertions, 11 deletions
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<RegionView*>::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<ToggleAction> a = Glib::RefPtr<ToggleAction>::cast_dynamic (_region_actions->get_action("toggle-region-lock-style"));
+ vector<Widget*> proxies = a->get_proxies();
+ CheckMenuItem* cmi = dynamic_cast<CheckMenuItem*> (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()));
}