freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2-demos] veeki-gsoc-experimental ecff19a: Preserve zoom level a


From: Veeki Yadav
Subject: [freetype2-demos] veeki-gsoc-experimental ecff19a: Preserve zoom level and pixel size on mode change.
Date: Thu, 22 Aug 2019 07:16:12 -0400 (EDT)

branch: veeki-gsoc-experimental
commit ecff19a29337523343f97e09a2bf064c7899b0c9
Author: gevic <address@hidden>
Commit: gevic <address@hidden>

    Preserve zoom level and pixel size on mode change.
    
    Store zoom level and pixel size, use QSettings class to preserve
    it on mode change.
---
 src/ftinspect/maingui.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++----
 src/ftinspect/maingui.hpp |  4 +++-
 2 files changed, 46 insertions(+), 5 deletions(-)

diff --git a/src/ftinspect/maingui.cpp b/src/ftinspect/maingui.cpp
index 97ad118..01e5b74 100644
--- a/src/ftinspect/maingui.cpp
+++ b/src/ftinspect/maingui.cpp
@@ -33,7 +33,7 @@ MainGUI::MainGUI()
   createMenus();
   createStatusBar();
 
-  readSettings();
+  //readSettings();
 
   setUnifiedTitleAndToolBarOnMac(true);
 }
@@ -846,6 +846,7 @@ MainGUI::mmViewRender()
 void
 MainGUI::comparatorViewRender()
 {
+  writeSettings();
     // Basic definition
   FT_Size size;
 
@@ -1027,13 +1028,13 @@ MainGUI::comparatorViewRender()
   {
     zoomSpinBox->setValue(1);
   }
-
 }
 
 
 void
 MainGUI::gridViewRender()
 {
+  writeSettings();
   if (gridView->isChecked())
   {
     if (currentRenderAllItem)
@@ -1148,6 +1149,7 @@ MainGUI::gammaChange()
 void
 MainGUI::renderAll()
 {
+  writeSettings();
   kerningDegreeComboBoxx->setEnabled(false);
   kerningModeComboBoxx->setEnabled(false);
   stroke_Slider->setEnabled(false);
@@ -1594,6 +1596,8 @@ MainGUI::zoom()
 
   glyphView->setTransform(transform);
   drawGlyph();
+
+  readSettings();
 }
 
 
@@ -2577,7 +2581,22 @@ MainGUI::setDefaults()
 void
 MainGUI::readSettings()
 {
-  QSettings settings;
+
+  if (allGlyphs->isChecked())
+  {
+    settings.setValue("ZoomGlyph", zoomSpinBox->value());
+    settings.setValue("dpiGlyph", sizeDoubleSpinBox->value());
+  }
+  if (comparatorView->isChecked())
+  {
+    settings.setValue("ZoomComp", zoomSpinBox->value());
+    settings.setValue("dpiComp", sizeDoubleSpinBox->value());
+  }
+  if (gridView->isChecked())
+  {
+    settings.setValue("ZoomGrid", zoomSpinBox->value());
+    settings.setValue("dpiGrid", sizeDoubleSpinBox->value());
+  }
 //  QPoint pos = settings.value("pos", QPoint(200, 200)).toPoint();
 //  QSize size = settings.value("size", QSize(400, 400)).toSize();
 //  resize(size);
@@ -2588,7 +2607,27 @@ MainGUI::readSettings()
 void
 MainGUI::writeSettings()
 {
-  QSettings settings;
+  if (allGlyphs->isChecked())
+  {
+    int zoomGlyph = settings.value("ZoomGlyph", 19).toInt();
+    int dpiGlyph = settings.value("dpiGlyph", 20).toInt();
+    zoomSpinBox->setValue(zoomGlyph);
+    sizeDoubleSpinBox->setValue(dpiGlyph);
+  }
+  if (comparatorView->isChecked())
+  {
+    int zoomComp = settings.value("ZoomComp", 19).toInt();
+    int dpiComp = settings.value("dpiComp", 20).toInt();
+    zoomSpinBox->setValue(zoomComp);
+    sizeDoubleSpinBox->setValue(dpiComp);
+  }
+  if (gridView->isChecked())
+  {
+    int zoomGrid = settings.value("ZoomGrid", 19).toInt();
+    int dpiGrid = settings.value("dpiGrid", 20).toInt();
+    zoomSpinBox->setValue(zoomGrid);
+    sizeDoubleSpinBox->setValue(dpiGrid);
+  }
 //  settings.setValue("pos", pos());
 //  settings.setValue("size", size());
 }
diff --git a/src/ftinspect/maingui.hpp b/src/ftinspect/maingui.hpp
index 0080e11..b3e3c76 100644
--- a/src/ftinspect/maingui.hpp
+++ b/src/ftinspect/maingui.hpp
@@ -46,6 +46,7 @@
 #include <QVariant>
 #include <QVBoxLayout>
 #include <QRadioButton>
+#include <QSettings>
 
 #include <ft2build.h>
 #include FT_LCD_FILTER_H
@@ -71,11 +72,12 @@ public:
   void setDefaults();
   void update(Engine*);
   QStringList files;
-  
+
   // modes count
   int comparatorCount = 0;
   int renderAllCount = 0;
   int arg = 0;
+  QSettings settings;
 
   friend class Engine;
   friend FT_Error faceRequester(FTC_FaceID,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]