]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/logicsignal.hpp
Fix #1596 by making memory management more robust
[pulseview.git] / pv / views / trace / logicsignal.hpp
index b170e2c08d76da930f5b6d482fad9ad1ce4cb6d4..d316fd5de7947ca8934cd4b471b4cfb4ef14877c 100644 (file)
@@ -17,8 +17,8 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_LOGICSIGNAL_HPP
-#define PULSEVIEW_PV_VIEWS_TRACEVIEW_LOGICSIGNAL_HPP
+#ifndef PULSEVIEW_PV_VIEWS_TRACE_LOGICSIGNAL_HPP
+#define PULSEVIEW_PV_VIEWS_TRACE_LOGICSIGNAL_HPP
 
 #include <QCache>
 #include <QColor>
@@ -65,8 +65,6 @@ public:
        static const QColor LowColor;
        static const QColor SamplingPointColor;
 
-       static const QColor SignalColors[10];
-
        static QColor TriggerMarkerBackgroundColor;
        static const int TriggerMarkerPadding;
        static const char* TriggerMarkerIcons[8];
@@ -81,8 +79,8 @@ public:
 
        shared_ptr<pv::data::Logic> logic_data() const;
 
-       virtual void save_settings(QSettings &settings) const;
-       virtual void restore_settings(QSettings &settings);
+       virtual std::map<QString, QVariant> save_settings() const;
+       virtual void restore_settings(std::map<QString, QVariant> settings);
 
        /**
         * Computes the vertical extents of the contents of this row item.
@@ -141,7 +139,6 @@ private Q_SLOTS:
        void on_signal_height_changed(int height);
 
 private:
-       int signal_height_;
        QColor high_fill_color_;
        bool show_sampling_points_, fill_high_areas_;
 
@@ -161,10 +158,15 @@ private:
 
        static QCache<QString, const QIcon> icon_cache_;
        static QCache<QString, const QPixmap> pixmap_cache_;
+
+       // ---------------------------------------------------------------------------
+       // Note: Make sure to update save_settings() and restore_settings() when
+       //       adding a trace-configurable variable here
+       int signal_height_;
 };
 
 } // namespace trace
 } // namespace views
 } // namespace pv
 
-#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_LOGICSIGNAL_HPP
+#endif // PULSEVIEW_PV_VIEWS_TRACE_LOGICSIGNAL_HPP