don't mess with signal order keys, ever
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 6 Sep 2007 02:23:40 +0000 (02:23 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 6 Sep 2007 02:23:40 +0000 (02:23 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2423 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor_route_list.cc
gtk2_ardour/mixer_ui.cc
gtk2_ardour/mixer_ui.h

index 44806f0263d098465cfc973478f084d6c0210106..ba17495e60bc30c0bfd03d11d4058459a3a05e09 100644 (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;
index 86485746003c90a083a043d13c1739d57a0eb340..7f7717e00f76adb3299ba8a7c03b0ecb0f8531a1 100644 (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());
     }
 };
 
index 6f5c38287627c2e9f77a9defaf81e84085803106..14884bfeedb6cd1be03bb59b413fbc29367b8133 100644 (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;