summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-03-02 02:59:44 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-03-02 02:59:44 +0000
commit865f4db12ea5fe4897a6e5399f0397d9325c0763 (patch)
treeec2a6a2454a6ff10a8a899ff85979fc514701448 /gtk2_ardour/editor_ops.cc
parent786028a20a2a83bbcc2eebe457353b221d57d10a (diff)
use entered track for fit-tracks if in internal edit mode and no tracks or regions are selected
git-svn-id: svn://localhost/ardour2/branches/3.0@9027 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc22
1 files changed, 16 insertions, 6 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index bcb1fd5f4a..d6e3761f3f 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -6221,12 +6221,22 @@ Editor::fit_selected_tracks ()
/* no selected tracks - use tracks with selected regions */
- for (RegionSelection::iterator r = selection->regions.begin(); r != selection->regions.end(); ++r) {
- tvl.push_back (&(*r)->get_time_axis_view ());
- }
-
- if (!tvl.empty()) {
- fit_tracks (tvl);
+ if (!selection->regions.empty()) {
+ for (RegionSelection::iterator r = selection->regions.begin(); r != selection->regions.end(); ++r) {
+ tvl.push_back (&(*r)->get_time_axis_view ());
+ }
+
+ if (!tvl.empty()) {
+ fit_tracks (tvl);
+ }
+ } else if (internal_editing()) {
+ /* no selected tracks, or regions, but in internal edit mode, so follow the mouse and use
+ the entered track
+ */
+ if (entered_track) {
+ tvl.push_back (entered_track);
+ fit_tracks (tvl);
+ }
}
}
}