From ad9d8d7930388699ac6652ae8bc2a5f13f7aae1e Mon Sep 17 00:00:00 2001 From: miltolstoy Date: Fri, 23 Oct 2020 20:25:44 +0300 Subject: [PATCH] logic: remember graph zoom level on restart (issue #801) (#1099) --- src/lib/settings/ApplicationSettings.cpp | 10 ++++++++++ src/lib/settings/ApplicationSettings.h | 3 +++ src/lib_gui/qt/graphics/QtGraphicsView.cpp | 6 +++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/lib/settings/ApplicationSettings.cpp b/src/lib/settings/ApplicationSettings.cpp index 1be13ccd7..be6fca3b9 100644 --- a/src/lib/settings/ApplicationSettings.cpp +++ b/src/lib/settings/ApplicationSettings.cpp @@ -678,6 +678,16 @@ void ApplicationSettings::setLastFilepickerLocation(const FilePath& path) setValue("user/last_filepicker_location", path.wstr()); } +float ApplicationSettings::getGraphZoomLevel() const +{ + return getValue("user/graph_zoom_level", 1.0f); +} + +void ApplicationSettings::setGraphZoomLevel(float zoomLevel) +{ + setValue("user/graph_zoom_level", zoomLevel); +} + int ApplicationSettings::getPluginPort() const { return getValue("network/plugin_port", 6666); diff --git a/src/lib/settings/ApplicationSettings.h b/src/lib/settings/ApplicationSettings.h index bb51211db..4cc4d6546 100644 --- a/src/lib/settings/ApplicationSettings.h +++ b/src/lib/settings/ApplicationSettings.h @@ -181,6 +181,9 @@ class ApplicationSettings: public Settings FilePath getLastFilepickerLocation() const; void setLastFilepickerLocation(const FilePath& path); + float getGraphZoomLevel() const; + void setGraphZoomLevel(float zoomLevel); + // network int getPluginPort() const; void setPluginPort(const int pluginPort); diff --git a/src/lib_gui/qt/graphics/QtGraphicsView.cpp b/src/lib_gui/qt/graphics/QtGraphicsView.cpp index 18659f9ce..581d268bb 100644 --- a/src/lib_gui/qt/graphics/QtGraphicsView.cpp +++ b/src/lib_gui/qt/graphics/QtGraphicsView.cpp @@ -37,7 +37,7 @@ QtGraphicsView::QtGraphicsView(GraphFocusHandler* focusHandler, QWidget* parent) : QGraphicsView(parent) , m_focusHandler(focusHandler) - , m_zoomFactor(1.0f) + , m_zoomFactor(ApplicationSettings::getInstance()->getGraphZoomLevel()) , m_appZoomFactor(1.0f) , m_zoomInButtonSpeed(20.0f) , m_zoomOutButtonSpeed(-20.0f) @@ -835,6 +835,10 @@ void QtGraphicsView::setZoomFactor(float zoomFactor) { m_zoomFactor = zoomFactor; + std::shared_ptr settings = ApplicationSettings::getInstance(); + settings->setGraphZoomLevel(zoomFactor); + settings->save(); + m_zoomState->setText(QString::number(int(m_zoomFactor * 100)) + "%"); updateTransform();