Simplify treeview resync

The session marks itself as modified when the order-key
changes and also ensure_stripable_sort_order.
This commit is contained in:
Robin Gareus 2022-01-26 03:18:37 +01:00
parent 729ff35faf
commit 7623834421
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
1 changed files with 5 additions and 14 deletions

View File

@ -802,7 +802,6 @@ Mixer_UI::sync_presentation_info_from_treeview ()
DEBUG_TRACE (DEBUG::OrderKeys, "mixer sync presentation info from treeview\n"); DEBUG_TRACE (DEBUG::OrderKeys, "mixer sync presentation info from treeview\n");
TreeModel::Children::iterator ri; TreeModel::Children::iterator ri;
bool change = false;
PresentationInfo::order_t master_key = _session->master_order_key (); PresentationInfo::order_t master_key = _session->master_order_key ();
PresentationInfo::order_t order = 0; PresentationInfo::order_t order = 0;
@ -828,26 +827,16 @@ Mixer_UI::sync_presentation_info_from_treeview ()
} }
#endif #endif
stripable->presentation_info().set_hidden (!visible);
// leave master where it is. // leave master where it is.
if (order == master_key) { if (order == master_key) {
++order; ++order;
} }
if (order != stripable->presentation_info().order()) { stripable->presentation_info().set_hidden (!visible);
stripable->set_presentation_order (order); stripable->set_presentation_order (order);
change = true;
}
++order; ++order;
} }
change |= _session->ensure_stripable_sort_order ();
if (change) {
DEBUG_TRACE (DEBUG::OrderKeys, "... notify PI change from mixer GUI\n");
_session->set_dirty();
}
} }
void void
@ -1558,11 +1547,13 @@ Mixer_UI::track_list_delete (const Gtk::TreeModel::Path&)
*/ */
DEBUG_TRACE (DEBUG::OrderKeys, "mixer UI treeview row deleted\n"); DEBUG_TRACE (DEBUG::OrderKeys, "mixer UI treeview row deleted\n");
sync_presentation_info_from_treeview ();
if (_route_deletion_in_progress) { if (_route_deletion_in_progress) {
redisplay_track_list (); redisplay_track_list ();
} else {
sync_presentation_info_from_treeview ();
} }
} }
void void