]> sigrok.org Git - pulseview.git/blobdiff - pv/globalsettings.hpp
Introduce "default div height" setting
[pulseview.git] / pv / globalsettings.hpp
index 1b6560f99bfa4d1a451ae3e11b01731f4141224c..317805a72f3ddc1ff5fb4fb5828048ebdaa6bdfd 100644 (file)
 #include <functional>
 #include <map>
 
+#include <glib.h>
+
 #include <QSettings>
 #include <QString>
 #include <QVariant>
 
+using std::function;
+using std::map;
+using std::multimap;
+
 namespace pv {
 
 class GlobalSettings : public QSettings
@@ -34,16 +40,22 @@ class GlobalSettings : public QSettings
        Q_OBJECT
 
 public:
-       static const QString Key_View_AlwaysZoomToFit;
+       static const QString Key_View_ZoomToFitDuringAcq;
+       static const QString Key_View_ZoomToFitAfterAcq;
        static const QString Key_View_ColouredBG;
        static const QString Key_View_StickyScrolling;
        static const QString Key_View_ShowSamplingPoints;
+       static const QString Key_View_ShowAnalogMinorGrid;
+       static const QString Key_View_DefaultDivHeight;
+       static const QString Key_Dec_InitialStateConfigurable;
 
 public:
        GlobalSettings();
 
+       void set_defaults_where_needed();
+
        static void register_change_handler(const QString key,
-               std::function<void(QVariant)> cb);
+               function<void(QVariant)> cb);
 
        void setValue(const QString& key, const QVariant& value);
 
@@ -65,11 +77,15 @@ public:
         */
        void undo_tracked_changes();
 
+       static void store_gvariant(QSettings &settings, GVariant *v);
+
+       static GVariant* restore_gvariant(QSettings &settings);
+
 private:
-       static std::multimap< QString, std::function<void(QVariant)> > callbacks_;
+       static multimap< QString, function<void(QVariant)> > callbacks_;
 
        static bool tracking_;
-       static std::map<QString, QVariant> tracked_changes_;
+       static map<QString, QVariant> tracked_changes_;
 };
 
 } // namespace pv