Fix repeated toggling of visual state (zoom to region for example), fix zoom to region with width and height.

git-svn-id: svn://localhost/ardour2/branches/3.0@3998 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Nick Mainsbridge 2008-10-22 18:24:30 +00:00
parent 6dce8160cf
commit 33d02c7902
2 changed files with 3 additions and 7 deletions

View File

@ -4537,6 +4537,7 @@ Editor::use_visual_state (VisualState& vs)
set_zoom_focus (vs.zoom_focus);
reposition_and_zoom (vs.leftmost_frame, vs.frames_per_unit);
zoomed_to_region = vs.zoomed_to_region;
for (list<TAVState>::iterator i = vs.track_states.begin(); i != vs.track_states.end(); ++i) {
TrackViewList::iterator t;

View File

@ -1729,7 +1729,6 @@ Editor::temporal_zoom_region (bool both_axes)
nframes64_t end = 0;
RegionSelection rs;
set<TimeAxisView*> tracks;
double top_y_position = DBL_MAX;
get_regions_for_action (rs);
@ -1748,10 +1747,6 @@ Editor::temporal_zoom_region (bool both_axes)
}
tracks.insert (&((*i)->get_time_axis_view()));
if ((*i)->get_time_axis_view().y_position < top_y_position) {
top_y_position = (*i)->get_time_axis_view().y_position;
}
}
/* now comes an "interesting" hack ... make sure we leave a little space
@ -1796,7 +1791,7 @@ Editor::temporal_zoom_region (bool both_axes)
temporal_zoom_by_frame (start, end, "zoom to region");
if (both_axes) {
uint32_t per_track_height = (uint32_t) floor ((canvas_height - 10.0) / tracks.size());
uint32_t per_track_height = (uint32_t) floor ((canvas_height - canvas_timebars_vsize - 10.0) / tracks.size());
/* set visible track heights appropriately */
@ -1817,7 +1812,7 @@ Editor::temporal_zoom_region (bool both_axes)
no_route_list_redisplay = false;
redisplay_route_list ();
vertical_adjustment.set_value (std::max (top_y_position - 5.0, 0.0));
vertical_adjustment.set_value (0.0);
no_save_visual = false;
}