diff options
author | Nick Mainsbridge <beatroute@iprimus.com.au> | 2008-09-17 19:04:16 +0000 |
---|---|---|
committer | Nick Mainsbridge <beatroute@iprimus.com.au> | 2008-09-17 19:04:16 +0000 |
commit | dca4543c133a0d522b3df86c5f741e66d04e9e6c (patch) | |
tree | 91d3ae7d6c9a81b305536c3051026923d8028f30 /gtk2_ardour/editor_route_list.cc | |
parent | e6ea8872766fd1246c56302c3cea69de9ea97fe6 (diff) |
Fix track height, partial merge of recent 2.0 updates (speed up track resizing, fix disappearing automation controls), rework layers and groups on canvas.
git-svn-id: svn://localhost/ardour2/branches/3.0@3744 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_route_list.cc')
-rw-r--r-- | gtk2_ardour/editor_route_list.cc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc index 64e6660a5a..f2b8456fd9 100644 --- a/gtk2_ardour/editor_route_list.cc +++ b/gtk2_ardour/editor_route_list.cc @@ -150,10 +150,10 @@ Editor::handle_gui_changes (const string & what, void *src) ENSURE_GUI_THREAD(bind (mem_fun(*this, &Editor::handle_gui_changes), what, src)); if (what == "track_height") { - /* make tracks change height while it happens, instead + /* Optional :make tracks change height while it happens, instead of on first-idle */ - track_canvas->update_now (); + //track_canvas->update_now (); redisplay_route_list (); } @@ -364,11 +364,14 @@ Editor::redisplay_route_list () full_canvas_height = position; - /* make sure the cursors stay on top of every newly added track */ - - cursor_group->raise_to_top (); - - //reset_scrolling_region (); + vertical_adjustment.set_upper (position + canvas_timebars_vsize); + if ((vertical_adjustment.get_value() + canvas_height) > vertical_adjustment.get_upper()) { + /* + We're increasing the size of the canvas while the bottom is visible. + We scroll down to keep in step with the controls layout. + */ + vertical_adjustment.set_value (position + canvas_timebars_vsize - canvas_height); + } if (Config->get_sync_all_route_ordering() && !ignore_route_list_reorder) { ignore_route_order_sync = true; |