From 83ce9d4be300e158207d971e4e0f6d72cb77a470 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 6 Sep 2007 02:23:40 +0000 Subject: [PATCH] don't mess with signal order keys, ever git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2423 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_route_list.cc | 2 +- gtk2_ardour/mixer_ui.cc | 17 ++++++++++++++--- gtk2_ardour/mixer_ui.h | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc index 44806f0263..ba17495e60 100644 --- a/gtk2_ardour/editor_route_list.cc +++ b/gtk2_ardour/editor_route_list.cc @@ -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 = (*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; diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 8648574600..7f7717e00f 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -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 = (*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 a, boost::shared_ptr 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()); } }; diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index 6f5c382876..14884bfeed 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -78,6 +78,8 @@ class Mixer_UI : public Gtk::Window RouteRedirectSelection& selection() { return _selection; } + static const char* get_order_key(); + private: ARDOUR::Session *session;