don't mess with signal order keys, ever

git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2423 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2007-09-06 02:23:40 +00:00
parent 222a85ca10
commit 83ce9d4be3
3 changed files with 17 additions and 4 deletions

View file

@ -211,7 +211,7 @@ Editor::sync_order_keys ()
for (ri = rows.begin(); ri != rows.end(); ++ri) {
TimeAxisView* tv = (*ri)[route_display_columns.tv];
boost::shared_ptr<Route> route = (*ri)[route_display_columns.route];
neworder[route->order_key (X_("signal"))] = tv->old_order_key ();
neworder[route->order_key (X_("editor"))] = tv->old_order_key ();
}
ignore_route_list_reorder = true;

View file

@ -335,6 +335,17 @@ Mixer_UI::remove_strip (MixerStrip* strip)
}
}
const char*
Mixer_UI::get_order_key()
{
if (Config->get_sync_all_route_ordering()) {
return X_("editor");
} else {
return X_("signal");
}
}
void
Mixer_UI::sync_order_keys ()
{
@ -353,7 +364,7 @@ Mixer_UI::sync_order_keys ()
for (ri = rows.begin(); ri != rows.end(); ++ri) {
boost::shared_ptr<Route> route = (*ri)[track_columns.route];
MixerStrip* strip = (*ri)[track_columns.strip];
neworder[route->order_key (X_("signal"))] = strip->old_order_key ();
neworder[route->order_key (get_order_key())] = strip->old_order_key ();
}
ignore_route_reorder = true;
@ -653,7 +664,7 @@ Mixer_UI::redisplay_track_list ()
strip->set_marked_for_display (true);
if (!ignore_route_reorder) {
strip->route()->set_order_key (N_("signal"), order);
strip->route()->set_order_key (get_order_key(), order);
}
strip->set_old_order_key (order);
@ -700,7 +711,7 @@ Mixer_UI::redisplay_track_list ()
struct SignalOrderRouteSorter {
bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
/* use of ">" forces the correct sort order */
return a->order_key ("signal") < b->order_key ("signal");
return a->order_key (Mixer_UI::get_order_key()) < b->order_key (Mixer_UI::get_order_key());
}
};

View file

@ -78,6 +78,8 @@ class Mixer_UI : public Gtk::Window
RouteRedirectSelection& selection() { return _selection; }
static const char* get_order_key();
private:
ARDOUR::Session *session;