summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2021-04-25 17:29:34 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2021-04-25 12:33:20 -0700
commitbd6b714be102b272725d61f8675c2cff322479e7 (patch)
tree9749cc50e1881295d9a8ebc06e96e5d139da12b5
parent757eeced782b5ccfc2555c2e1f9af8bb525dd267 (diff)
downloadsubsurface-bd6b714be102b272725d61f8675c2cff322479e7.tar.gz
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>
-rw-r--r--desktop-widgets/printer.cpp3
-rw-r--r--profile-widget/profilewidget2.cpp2
-rw-r--r--subsurface-mobile-main.cpp1
3 files changed, 1 insertions, 5 deletions
diff --git a/desktop-widgets/printer.cpp b/desktop-widgets/printer.cpp
index 5a26ad66d..3c4a21010 100644
--- a/desktop-widgets/printer.cpp
+++ b/desktop-widgets/printer.cpp
@@ -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);
diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp
index b82de0d9e..b980dd739 100644
--- a/profile-widget/profilewidget2.cpp
+++ b/profile-widget/profilewidget2.cpp
@@ -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();
diff --git a/subsurface-mobile-main.cpp b/subsurface-mobile-main.cpp
index 0020116da..a23974154 100644
--- a/subsurface-mobile-main.cpp
+++ b/subsurface-mobile-main.cpp
@@ -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