profile: display arbitrary dive

So far the profile operated on the global displayed_dive. Instead,
take the dive to be displayed as a parameter to the plotDive()
functions.

This is necessary if we want to have multiple concurrent
profile objects. Think for example for printing or for mobile
where multiple dive objects are active at the same time.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-01-28 14:24:38 +01:00 committed by Dirk Hohndel
parent 36f0ba9abe
commit 2789bb05b1
9 changed files with 121 additions and 131 deletions

View file

@ -38,7 +38,7 @@ void Printer::putProfileImage(const QRect &profilePlaceholder, const QRect &view
int y = profilePlaceholder.y() - viewPort.y();
// use the placeHolder and the viewPort position to calculate the relative position of the dive profile.
QRect pos(x, y, profilePlaceholder.width(), profilePlaceholder.height());
profile->plotDive(dive, true, true);
profile->plotDive(dive, 0, true, true);
if (!printOptions.color_selected) {
QImage image(pos.width(), pos.height(), QImage::Format_ARGB32);
@ -193,7 +193,7 @@ void Printer::render(int pages)
qPrefDisplay::set_animation_speed(animationOriginal);
//replot the dive after returning the settings
profile->plotDive(current_dive, true, true);
profile->plotDive(current_dive, dc_number, true, true);
}
//value: ranges from 0 : 100 and shows the progress of the templating engine