summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_selection.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2007-05-10 11:53:35 +0000
committerCarl Hetherington <carl@carlh.net>2007-05-10 11:53:35 +0000
commitaa3bb18b173fdd8bc7f9611f3dbe52e36cfe6215 (patch)
tree15217bff4c9ed78a865967850c6e0c9c417c0dfd /gtk2_ardour/editor_selection.cc
parent4342f2aeb0510ec272144c9523663df3ba0c38af (diff)
Re-work main right-click context menu to operate on the selection, and remove some confusion about what region(s) will be affected by menu selections.
git-svn-id: svn://localhost/ardour2/trunk@1831 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_selection.cc')
-rw-r--r--gtk2_ardour/editor_selection.cc56
1 files changed, 10 insertions, 46 deletions
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index d1ba1dcf8e..3f3edfe65b 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -582,43 +582,6 @@ Editor::set_selected_regionview_from_region_list (boost::shared_ptr<Region> regi
commit_reversible_command () ;
}
-bool
-Editor::set_selected_regionview_from_map_event (GdkEventAny* ev, StreamView* sv, boost::weak_ptr<Region> weak_r)
-{
- RegionView* rv;
- boost::shared_ptr<Region> r (weak_r.lock());
-
- if (!r) {
- return true;
- }
-
- boost::shared_ptr<AudioRegion> ar;
-
- if ((ar = boost::dynamic_pointer_cast<AudioRegion> (r)) == 0) {
- return true;
- }
-
- if ((rv = sv->find_view (ar)) == 0) {
- return true;
- }
-
- /* don't reset the selection if its something other than
- a single other region.
- */
-
- if (selection->regions.size() > 1) {
- return true;
- }
-
- begin_reversible_command (_("set selected regions"));
-
- selection->set (rv);
-
- commit_reversible_command () ;
-
- return true;
-}
-
void
Editor::track_selection_changed ()
{
@@ -685,16 +648,17 @@ Editor::point_selection_changed ()
}
}
+/** Select everything in the selected tracks
+ * @param Selection operation to apply.
+ */
void
-Editor::select_all_in_track (Selection::Operation op)
+Editor::select_all_in_selected_tracks (Selection::Operation op)
{
list<Selectable *> touched;
- if (!clicked_routeview) {
- return;
+ for (TrackSelection::iterator i = selection->tracks.begin(); i != selection->tracks.end(); ++i) {
+ (*i)->get_selectables (0, max_frames, 0, DBL_MAX, touched);
}
-
- clicked_routeview->get_selectables (0, max_frames, 0, DBL_MAX, touched);
switch (op) {
case Selection::Toggle:
@@ -741,16 +705,16 @@ Editor::select_all (Selection::Operation op)
commit_reversible_command ();
}
+/** Invert the selection in the selected tracks */
void
-Editor::invert_selection_in_track ()
+Editor::invert_selection_in_selected_tracks ()
{
list<Selectable *> touched;
- if (!clicked_routeview) {
- return;
+ for (TrackSelection::iterator i = selection->tracks.begin(); i != selection->tracks.end(); ++i) {
+ (*i)->get_inverted_selectables (*selection, touched);
}
- clicked_routeview->get_inverted_selectables (*selection, touched);
selection->set (touched);
}