profile: ignore animation-speed setting when printing

When printing, the animation speed was set to 0 by the
caller and later reset to the original value. Instead of
modifying global state, set it internally (in the profile-code)
to zero when in print mode.

This is another small step in making the printing independent
from the shown profile.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-04-25 17:29:34 +02:00 committed by Dirk Hohndel
parent 757eeced78
commit bd6b714be1
3 changed files with 1 additions and 5 deletions

View file

@ -128,7 +128,6 @@ void Printer::render(int pages)
// keep original preferences
ProfileWidget2 *profile = MainWindow::instance()->graphics;
int profileFrameStyle = profile->frameStyle();
int animationOriginal = qPrefDisplay::animation_speed();
double fontScale = profile->getFontPrintScale();
double printFontScale = 1.0;
@ -136,7 +135,6 @@ void Printer::render(int pages)
profile->setFrameStyle(QFrame::NoFrame);
profile->setPrintMode(true, !printOptions.color_selected);
profile->setToolTipVisibile(false);
qPrefDisplay::set_animation_speed(0);
// render the Qwebview
QPainter painter;
@ -190,7 +188,6 @@ void Printer::render(int pages)
profile->setFontPrintScale(fontScale);
profile->setToolTipVisibile(true);
profile->resize(originalSize);
qPrefDisplay::set_animation_speed(animationOriginal);
//replot the dive after returning the settings
profile->plotDive(current_dive, dc_number, true);

View file

@ -555,7 +555,7 @@ void ProfileWidget2::plotDive(const struct dive *dIn, int dcIn, bool doClearPict
return;
// special handling when switching from empty state
animSpeed = instant || currentState == EMPTY ? 0 : qPrefDisplay::animation_speed();
animSpeed = instant || currentState == EMPTY || printMode ? 0 : qPrefDisplay::animation_speed();
// restore default zoom level
resetZoom();

View file

@ -83,7 +83,6 @@ int main(int argc, char **argv)
set_filename(NULL);
// some hard coded settings
qPrefDisplay::set_animation_speed(0); // we render the profile to pixmap, no animations
qPrefCloudStorage::set_save_password_local(true);
// always show the divecomputer reported ceiling in red