diff options
author | Carl Hetherington <carl@carlh.net> | 2007-05-10 11:53:35 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2007-05-10 11:53:35 +0000 |
commit | aa3bb18b173fdd8bc7f9611f3dbe52e36cfe6215 (patch) | |
tree | 15217bff4c9ed78a865967850c6e0c9c417c0dfd /gtk2_ardour/editor_selection.cc | |
parent | 4342f2aeb0510ec272144c9523663df3ba0c38af (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.cc | 56 |
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); } |