]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/signal.cpp
Make new views take over the main view's signal settings
[pulseview.git] / pv / views / trace / signal.cpp
index 0c0cde05e18aa4d9d9f5cab9b748743b7fbffc7c..b770dee3acadd0d5a45cf38a323850aeed7bb665 100644 (file)
@@ -90,14 +90,34 @@ shared_ptr<data::SignalBase> Signal::base() const
 
 void Signal::save_settings(QSettings &settings) const
 {
-       (void)settings;
+       std::map<QString, QVariant> settings_map = save_settings();
+
+       for (auto& entry : settings_map)
+               settings.setValue(entry.first, entry.second);
+}
+
+std::map<QString, QVariant> Signal::save_settings() const
+{
+       return std::map<QString, QVariant>();
 }
 
 void Signal::restore_settings(QSettings &settings)
+{
+       std::map<QString, QVariant> settings_map;
+
+       QStringList keys = settings.allKeys();
+       for (int i = 0; i < keys.size(); i++)
+               settings_map[keys.at(i)] = settings.value(keys.at(i));
+
+       restore_settings(settings_map);
+}
+
+void Signal::restore_settings(std::map<QString, QVariant> settings)
 {
        (void)settings;
 }
 
+
 void Signal::paint_back(QPainter &p, ViewItemPaintParams &pp)
 {
        if (base_->enabled())