diff options
author | Nick Mainsbridge <beatroute@iprimus.com.au> | 2008-09-14 10:08:57 +0000 |
---|---|---|
committer | Nick Mainsbridge <beatroute@iprimus.com.au> | 2008-09-14 10:08:57 +0000 |
commit | f1ef1b0069d7fb75a4ec0391823b0230dcb2abfe (patch) | |
tree | 0635683f9c56e7f04bb09ac014d9e370c3346bd2 /gtk2_ardour/editor_route_list.cc | |
parent | 4489fc159f522eb3f9b9bdf668df853d54ed4782 (diff) |
Speed up track resizing, fix disappearing automation controls when automation track has been made minimum size.
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3722 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 473858f8f5..726be7f60a 100644 --- a/gtk2_ardour/editor_route_list.cc +++ b/gtk2_ardour/editor_route_list.cc @@ -104,10 +104,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 (); } @@ -313,11 +313,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; |