]> sigrok.org Git - pulseview.git/blobdiff - pv/mainwindow.h
SigSession: Replaced do { } while(0) with { }
[pulseview.git] / pv / mainwindow.h
index 0f1449d34fad15f1b9de897f6d685c4930bb452f..b9fc3e0e3dc77b8c488b5269ac568a3fd9d21e12 100644 (file)
 #define PULSEVIEW_PV_MAINWINDOW_H
 
 #include <list>
-
-#include <boost/weak_ptr.hpp>
+#include <memory>
 
 #include <QMainWindow>
 
 #include "sigsession.h"
 
+struct srd_decoder;
+
 class QVBoxLayout;
 
 namespace pv {
@@ -60,25 +61,27 @@ public:
 private:
        void setup_ui();
 
+       void save_ui_settings();
+
+       void restore_ui_settings();
+
        void session_error(const QString text, const QString info_text);
 
        /**
-        * Updates the device list in the sampling bar, and updates the
-        * selection.
-        * @param selected_device The device to select, or NULL if the
-        * first device in the device list should be selected.
+        * Updates the device list in the sampling bar
         */
-       void update_device_list(
-               struct sr_dev_inst *selected_device = NULL);
+       void update_device_list();
 
-private slots:
-       void load_file(QString file_name);
+       void closeEvent(QCloseEvent *event);
 
+private Q_SLOTS:
+       void load_file(QString file_name);
 
        void show_session_error(
                const QString text, const QString info_text);
 
        void on_actionOpen_triggered();
+       void on_actionSaveAs_triggered();
        void on_actionQuit_triggered();
 
        void on_actionConnect_triggered();
@@ -102,6 +105,18 @@ private slots:
        void capture_state_changed(int state);
 
 private:
+       /**
+        * Name of the setting used to remember the directory
+        * containing the last file that was opened.
+        */
+       static const char *SettingOpenDirectory;
+
+       /**
+        * Name of the setting used to remember the directory
+        * containing the last file that was saved.
+        */
+       static const char *SettingSaveDirectory;
+
        DeviceManager &_device_manager;
 
        SigSession _session;