Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37570322
en ru br
Репозитории ALT

Группа :: Обучение
Пакет: OpenBoard

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: 0008-background-grid-size-save.patch
Скачать


From 3e8cbb62abe4c8a39efdfd7d6d08c5796c4f4726 Mon Sep 17 00:00:00 2001
From: Evgeniy Kukhtinov <neurofreak@altlinux.org>
Date: Tue, 11 Oct 2022 17:48:17 +0300
Subject: [PATCH 08/10] background-grid-size-save
---
 src/board/UBBoardController.cpp |  8 +++++++-
 src/core/UBSettings.cpp         | 10 ++++++++++
 src/core/UBSettings.h           |  2 ++
 src/gui/UBBackgroundPalette.cpp |  3 ++-
 4 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp
index 21b2b86..b4d1c82 100644
--- a/src/board/UBBoardController.cpp
+++ b/src/board/UBBoardController.cpp
@@ -178,6 +178,10 @@ void UBBoardController::initBackgroundGridSize()
 
     //qDebug() << "dpi: " << dpi;
 
+    int gridSize;
+
+    if(UBSettings::settings()->backgroundGridSize()==-1)
+    {
     // The display manager isn't initialized yet so we have to just assume the control view is on the main display
     qreal screenY = desktop->screenGeometry(mControlView).height();
     qreal documentY = mActiveScene->nominalSize().height();
@@ -185,7 +189,9 @@ void UBBoardController::initBackgroundGridSize()
 
     //qDebug() << "resolution ratio: " << resolutionRatio;
 
-    int gridSize = (resolutionRatio * 10. * dpi) / UBGeometryUtils::inchSize;
+    gridSize = (resolutionRatio * 10. * dpi) / UBGeometryUtils::inchSize;
+    } else
+        gridSize = UBSettings::settings()->backgroundGridSize();
 
     UBSettings::settings()->crossSize = gridSize;
     UBSettings::settings()->defaultCrossSize = gridSize;
diff --git a/src/core/UBSettings.cpp b/src/core/UBSettings.cpp
index 6a196fc..b368ac0 100644
--- a/src/core/UBSettings.cpp
+++ b/src/core/UBSettings.cpp
@@ -870,6 +870,16 @@ void UBSettings::setPageBackground(UBPageBackground background)
     setValue("Board/PageBackground", val);
 }
 
+void UBSettings::setBackgroundGridSize(int value)
+{
+    crossSize = value;
+    setValue("Board/BackgroundGridSize", value);
+}
+
+int UBSettings::backgroundGridSize()
+{
+    return value("Board/BackgroundGridSize", -1).toInt();
+}
 
 void UBSettings::setPenPressureSensitive(bool sensitive)
 {
diff --git a/src/core/UBSettings.h b/src/core/UBSettings.h
index fdca53c..0d81dc4 100644
--- a/src/core/UBSettings.h
+++ b/src/core/UBSettings.h
@@ -94,6 +94,8 @@ class UBSettings : public QObject
         UBPageBackground pageBackground();
         void setDarkBackground(bool isDarkBackground);
         void setPageBackground(UBPageBackground background);
+        void setBackgroundGridSize(int value);
+        int backgroundGridSize();
 
         // Stylus palette related
         bool isStylusPaletteVisible();
diff --git a/src/gui/UBBackgroundPalette.cpp b/src/gui/UBBackgroundPalette.cpp
index b975b33..3c4910c 100644
--- a/src/gui/UBBackgroundPalette.cpp
+++ b/src/gui/UBBackgroundPalette.cpp
@@ -169,7 +169,8 @@ void UBBackgroundPalette::showEvent(QShowEvent* event)
 void UBBackgroundPalette::sliderValueChanged(int value)
 {
     UBApplication::boardController->activeScene()->setBackgroundGridSize(value);
-    UBSettings::settings()->crossSize = value; // since this function is called (indirectly, by refresh) when we switch scenes, the settings will always have the current scene's cross size.
+    UBSettings::settings()->setBackgroundGridSize(value);
+    //UBSettings::settings()->crossSize = value; // since this function is called (indirectly, by refresh) when we switch scenes, the settings will always have the current scene's cross size.
 }
 
 void UBBackgroundPalette::defaultBackgroundGridSize()
-- 
2.25.4
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin