]> sigrok.org Git - pulseview.git/blobdiff - main.cpp
Fix #971: Allow saving/restoring of session setups
[pulseview.git] / main.cpp
index 4bd6388e1051fd506d99ae24f19fa5d43704346f..28c0a41f6da1e6800413e20b67f79ea9f3c617ca 100644 (file)
--- a/main.cpp
+++ b/main.cpp
 #include <getopt.h>
 #include <vector>
 
+#ifdef ENABLE_FLOW
+#include <gstreamermm.h>
+#include <libsigrokflow/libsigrokflow.hpp>
+#endif
+
 #include <libsigrokcxx/libsigrokcxx.hpp>
 
 #include <QCheckBox>
@@ -54,6 +59,7 @@
 #include "pv/logging.hpp"
 #include "pv/mainwindow.hpp"
 #include "pv/session.hpp"
+#include "pv/util.hpp"
 
 #ifdef ANDROID
 #include <libsigrokandroidutils/libsigrokandroidutils.h>
@@ -168,6 +174,14 @@ int main(int argc, char *argv[])
        bool do_scan = true;
        bool show_version = false;
 
+#ifdef ENABLE_FLOW
+       // Initialise gstreamermm. Must be called before any other GLib stuff.
+       Gst::init();
+
+       // Initialize libsigrokflow. Must be called after Gst::init().
+       Srf::init();
+#endif
+
        Application a(argc, argv);
 
 #ifdef ANDROID
@@ -254,9 +268,12 @@ int main(int argc, char *argv[])
        for (int i = 0; i < argc; i++)
                open_files.emplace_back(argv[i]);
 
+       qRegisterMetaType<pv::util::Timestamp>("util::Timestamp");
+       qRegisterMetaType<uint64_t>("uint64_t");
+
        // Prepare the global settings since logging needs them early on
        pv::GlobalSettings settings;
-       settings.save_default_palette();
+       settings.save_internal_defaults();
        settings.set_defaults_where_needed();
        settings.apply_theme();
 
@@ -316,7 +333,7 @@ int main(int argc, char *argv[])
                        if (open_files.empty())
                                w.add_default_session();
                        else
-                               for (string open_file : open_files)
+                               for (string& open_file : open_files)
                                        w.add_session_with_file(open_file, open_file_format);
 
 #ifdef ENABLE_SIGNALS