summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-09-30 14:43:13 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-09-30 14:43:13 -0400
commitedee09bce00b2d49de1039b5a5a21a211611c992 (patch)
treed9162acb734d7bf94a060dca69735ed02b1e55d3
parent71343e835aad84288d86f02fc5a3afdd4d1942d9 (diff)
parent71f6f982e312adfa426533e9a99b21a28d3d3e3e (diff)
Merge branch 'chaot4-fix_track_list_context_menu'
-rw-r--r--gtk2_ardour/editor_routes.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index 7e5747a8df..d79039db09 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -490,7 +490,7 @@ EditorRoutes::build_menu ()
items.push_back (MenuElem (_("Hide All Audio Busses"), sigc::mem_fun (*this, &EditorRoutes::hide_all_audiobus)));
items.push_back (MenuElem (_("Show All Midi Tracks"), sigc::mem_fun (*this, &EditorRoutes::show_all_miditracks)));
items.push_back (MenuElem (_("Hide All Midi Tracks"), sigc::mem_fun (*this, &EditorRoutes::hide_all_miditracks)));
- items.push_back (MenuElem (_("Show Tracks With Regions Under Playhead"), sigc::mem_fun (*this, &EditorRoutes::show_tracks_with_regions_at_playhead)));
+ items.push_back (MenuElem (_("Only Show Tracks With Regions Under Playhead"), sigc::mem_fun (*this, &EditorRoutes::show_tracks_with_regions_at_playhead)));
}
void
@@ -1118,17 +1118,20 @@ EditorRoutes::set_all_audio_midi_visibility (int tracks, bool yn)
if ((atv = dynamic_cast<AudioTimeAxisView*>(tv)) != 0) {
switch (tracks) {
case 0:
+ atv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
break;
case 1:
if (atv->is_audio_track()) {
+ atv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
}
break;
case 2:
if (!atv->is_audio_track()) {
+ atv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
}
break;
@@ -1137,11 +1140,13 @@ EditorRoutes::set_all_audio_midi_visibility (int tracks, bool yn)
else if ((mtv = dynamic_cast<MidiTimeAxisView*>(tv)) != 0) {
switch (tracks) {
case 0:
+ mtv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
break;
case 3:
if (mtv->is_midi_track()) {
+ mtv->set_marked_for_display (yn);
(*i)[_columns.visible] = yn;
}
break;
@@ -1725,6 +1730,14 @@ EditorRoutes::show_tracks_with_regions_at_playhead ()
TreeModel::Children rows = _model->children ();
for (TreeModel::Children::iterator i = rows.begin(); i != rows.end(); ++i) {
TimeAxisView* tv = (*i)[_columns.tv];
- (*i)[_columns.visible] = (show.find (tv) != show.end());
+ bool to_show = (show.find (tv) != show.end());
+
+ tv->set_marked_for_display (to_show);
+ (*i)[_columns.visible] = to_show;
}
+
+ /* force route order keys catch up with visibility changes
+ */
+
+ sync_order_keys_from_treeview ();
}