when tabbing between track/bus name fields, skip rec-enabled tracks to avoid an annoying halt to the motion
git-svn-id: svn://localhost/ardour2/branches/3.0@9925 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
af7ba3347c
commit
75fc3a82f8
@ -563,13 +563,25 @@ TimeAxisView::name_entry_key_release (GdkEventKey* ev)
|
||||
name_entry_changed ();
|
||||
TrackViewList const & allviews = _editor.get_track_views ();
|
||||
TrackViewList::const_iterator i = find (allviews.begin(), allviews.end(), this);
|
||||
|
||||
if (ev->keyval == GDK_Tab) {
|
||||
if (i != allviews.end()) {
|
||||
do {
|
||||
if (++i == allviews.end()) {
|
||||
return true;
|
||||
}
|
||||
} while((*i)->hidden());
|
||||
|
||||
RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*>(*i);
|
||||
|
||||
if (rtav && rtav->route()->record_enabled()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(*i)->hidden()) {
|
||||
break;
|
||||
}
|
||||
|
||||
} while (true);
|
||||
}
|
||||
} else {
|
||||
if (i != allviews.begin()) {
|
||||
@ -577,13 +589,27 @@ TimeAxisView::name_entry_key_release (GdkEventKey* ev)
|
||||
if (i == allviews.begin()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
--i;
|
||||
} while ((*i)->hidden());
|
||||
|
||||
RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*>(*i);
|
||||
|
||||
if (rtav && rtav->route()->record_enabled()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(*i)->hidden()) {
|
||||
break;
|
||||
}
|
||||
|
||||
} while (true);
|
||||
}
|
||||
}
|
||||
|
||||
(*i)->name_entry.grab_focus();
|
||||
_editor.ensure_time_axis_view_is_visible (**i);
|
||||
|
||||
if ((i != allviews.end()) && (*i != this) && !(*i)->hidden()) {
|
||||
(*i)->name_entry.grab_focus();
|
||||
_editor.ensure_time_axis_view_is_visible (**i);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user