X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_routes.cc;h=851b04faed517c308c16951c619a68d7ff8ed279;hb=6fdd3f47ac9a6151b829bb39422988d5da3dda2d;hp=7e5747a8df40b6714f5d807f14e37ca56e0b22ae;hpb=71343e835aad84288d86f02fc5a3afdd4d1942d9;p=ardour.git diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc index 7e5747a8df..851b04faed 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(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(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 (); }