enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
[ardour.git] / gtk2_ardour / editor_selection.cc
index 64d17f9ae5dbfde993a8dcff9fd9132ab72db2e4..c5ba764af8a5f32d11389edc005b47615f07b393 100644 (file)
@@ -43,7 +43,7 @@
 #include "midi_region_view.h"
 #include "sfdb_ui.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace std;
 using namespace ARDOUR;
@@ -621,7 +621,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
                                if (press) {
 
                                        if (selection->selected (clicked_routeview)) {
-                                               get_equivalent_regions (clicked_regionview, all_equivalent_regions, ARDOUR::Properties::select.property_id);
+                                               get_equivalent_regions (clicked_regionview, all_equivalent_regions, ARDOUR::Properties::group_select.property_id);
                                        } else {
                                                all_equivalent_regions.push_back (clicked_regionview);
                                        }
@@ -639,7 +639,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
 
                case Selection::Set:
                        if (!selection->selected (clicked_regionview)) {
-                               get_equivalent_regions (clicked_regionview, all_equivalent_regions, ARDOUR::Properties::select.property_id);
+                               get_equivalent_regions (clicked_regionview, all_equivalent_regions, ARDOUR::Properties::group_select.property_id);
                                selection->set (all_equivalent_regions);
                                commit = true;
                        } else {
@@ -649,7 +649,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
                                else {
                                        if (selection->regions.size() > 1) {
                                                /* collapse region selection down to just this one region (and its equivalents) */
-                                               get_equivalent_regions(clicked_regionview, all_equivalent_regions, ARDOUR::Properties::select.property_id);
+                                               get_equivalent_regions(clicked_regionview, all_equivalent_regions, ARDOUR::Properties::group_select.property_id);
                                                selection->set(all_equivalent_regions);
                                                commit = true;
                                        }
@@ -791,7 +791,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
 
                                        RouteTimeAxisView* closest = 0;
                                        int distance = INT_MAX;
-                                       int key = rtv->route()->order_key ();
+                                       int key = rtv->route()->presentation_info().order ();
 
                                        for (RegionSelection::iterator x = selection->regions.begin(); x != selection->regions.end(); ++x) {
 
@@ -806,7 +806,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
                                                        if (result.second) {
                                                                /* newly added to already_in_selection */
 
-                                                               int d = artv->route()->order_key ();
+                                                               int d = artv->route()->presentation_info().order ();
 
                                                                d -= key;
 
@@ -822,7 +822,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
 
                                                /* now add all tracks between that one and this one */
 
-                                               int okey = closest->route()->order_key ();
+                                               int okey = closest->route()->presentation_info().order ();
 
                                                if (okey > key) {
                                                        swap (okey, key);
@@ -832,7 +832,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
                                                        RouteTimeAxisView* artv = dynamic_cast<RouteTimeAxisView*>(*x);
                                                        if (artv && artv != rtv) {
 
-                                                               int k = artv->route()->order_key ();
+                                                               int k = artv->route()->presentation_info().order ();
 
                                                                if (k >= okey && k <= key) {
 
@@ -962,6 +962,7 @@ Editor::track_selection_changed ()
        }
 
        RouteNotificationListPtr routes (new RouteNotificationList);
+       StripableNotificationListPtr stripables (new StripableNotificationList);
 
        for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
 
@@ -985,6 +986,7 @@ Editor::track_selection_changed ()
                        RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*> (*i);
                        if (rtav) {
                                routes->push_back (rtav->route());
+                               stripables->push_back (rtav->route());
                        }
                }
        }
@@ -993,7 +995,7 @@ Editor::track_selection_changed ()
 
        /* notify control protocols */
 
-       ControlProtocol::TrackSelectionChanged (routes);
+       ControlProtocol::StripableSelectionChanged (stripables);
 
        if (sfbrowser && _session && !_session->deletion_in_progress()) {
                uint32_t audio_track_cnt = 0;
@@ -1086,7 +1088,6 @@ Editor::sensitize_all_region_actions (bool s)
 void
 Editor::sensitize_the_right_region_actions ()
 {
-
        RegionSelection rs = get_regions_from_selection_and_entered ();
        sensitize_all_region_actions (!rs.empty ());
 
@@ -1371,11 +1372,15 @@ Editor::region_selection_changed ()
        _regions->block_change_connection (false);
        editor_regions_selection_changed_connection.block(false);
 
-       if (!_all_region_actions_sensitized) {
-               /* This selection change might have changed what region actions
-                  are allowed, so sensitize them all in case a key is pressed.
-               */
-               sensitize_all_region_actions (true);
+       if (selection->regions.empty()) {
+               sensitize_all_region_actions (false);
+       } else {
+               if (!_all_region_actions_sensitized) {
+                       /* This selection change might have changed what region actions
+                          are allowed, so sensitize them all in case a key is pressed.
+                       */
+                       sensitize_all_region_actions (true);
+               }
        }
 
        if (_session && !_session->transport_rolling() && !selection->regions.empty()) {
@@ -1564,7 +1569,7 @@ Editor::select_all_within (framepos_t start, framepos_t end, double top, double
 
        if (preserve_if_selected && op != Selection::Toggle) {
                list<Selectable*>::iterator i = found.begin();
-               while (i != found.end() && (*i)->get_selected()) {
+               while (i != found.end() && (*i)->selected()) {
                        ++i;
                }