Fix #236 by introducing "zoom-to-fit when acquisition stops" option
[pulseview.git] / pv / globalsettings.cpp
index 0eff1915d15ed5d151b4d1eb364d40247231c532..7fd1249cfd5d4fd525251ea03dca6b58186f76ff 100644 (file)
@@ -26,6 +26,7 @@ using std::multimap;
 namespace pv {
 
 const QString GlobalSettings::Key_View_AlwaysZoomToFit = "View_AlwaysZoomToFit";
+const QString GlobalSettings::Key_View_ZoomToFitAfterAcq = "View_ZoomToFitAfterAcq";
 const QString GlobalSettings::Key_View_ColouredBG = "View_ColouredBG";
 const QString GlobalSettings::Key_View_StickyScrolling = "View_StickyScrolling";
 const QString GlobalSettings::Key_View_ShowSamplingPoints = "View_ShowSamplingPoints";
@@ -42,6 +43,21 @@ GlobalSettings::GlobalSettings() :
        beginGroup("Settings");
 }
 
+void GlobalSettings::set_defaults_where_needed()
+{
+       // Enable zoom-to-fit after acquisition by default
+       if (!contains(Key_View_ZoomToFitAfterAcq))
+               setValue(Key_View_ZoomToFitAfterAcq, true);
+
+       // Enable coloured trace backgrounds by default
+       if (!contains(Key_View_ColouredBG))
+               setValue(Key_View_ColouredBG, true);
+
+       // Enable showing sampling points by default
+       if (!contains(Key_View_ShowSamplingPoints))
+               setValue(Key_View_ShowSamplingPoints, true);
+}
+
 void GlobalSettings::register_change_handler(const QString key,
        function<void(QVariant)> cb)
 {