Make member variable underscores a suffix instead of a prefix
[pulseview.git] / pv / mainwindow.h
index ca4475024d97f9b33e5e4fdc985c4ea3e797f004..94a6c42eab08bf0e0b0994448c02a4eb7c1864a7 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,27 +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();
 
-       static gint decoder_name_cmp(gconstpointer a, gconstpointer b);
+       void closeEvent(QCloseEvent *event);
 
-private slots:
+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();
@@ -104,16 +105,28 @@ private slots:
        void capture_state_changed(int state);
 
 private:
-       DeviceManager &_device_manager;
+       /**
+        * 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;
+       SigSession session_;
 
-       pv::view::View *_view;
+       pv::view::View *view_;
 
-       QWidget *_central_widget;
-       QVBoxLayout *_vertical_layout;
+       QWidget *central_widget_;
+       QVBoxLayout *vertical_layout_;
 
-       toolbars::SamplingBar *_sampling_bar;
+       toolbars::SamplingBar *sampling_bar_;
 };
 
 } // namespace pv