]> sigrok.org Git - pulseview.git/blobdiff - pv/toolbars/mainbar.hpp
Add "new session" and "new view" toolbar buttons
[pulseview.git] / pv / toolbars / mainbar.hpp
index 088efa2f73cb6a8597cd6b4ea517bbbe40409a39..d39cb5e412b09a0ba02e4d6a25097b9d4698419e 100644 (file)
@@ -78,9 +78,7 @@ private:
        static const char *SettingSaveDirectory;
 
 public:
-       MainBar(Session &session, pv::MainWindow &main_window,
-               std::string open_file_name = std::string(),
-               std::string open_file_format = std::string());
+       MainBar(Session &session, pv::MainWindow &main_window);
 
        Session &session(void) const;
 
@@ -90,6 +88,13 @@ public:
 
        void reset_device_selector();
 
+       void select_device(std::shared_ptr<devices::Device> device);
+
+       void load_init_file(const std::string &file_name,
+               const std::string &format);
+
+       QAction* action_new_session() const;
+       QAction* action_new_view() const;
        QAction* action_open() const;
        QAction* action_save_as() const;
        QAction* action_save_selection_as() const;
@@ -104,8 +109,6 @@ public:
 private:
        void run_stop();
 
-       void select_device(std::shared_ptr<devices::Device> device);
-
        void select_init_device();
 
        void load_file(QString file_name,
@@ -113,9 +116,6 @@ private:
                const std::map<std::string, Glib::VariantBase> &options =
                        std::map<std::string, Glib::VariantBase>());
 
-       void load_init_file(const std::string &file_name,
-               const std::string &format);
-
        void save_selection_to_file();
 
        void update_sample_rate_selector();
@@ -127,6 +127,8 @@ private:
 
        void session_error(const QString text, const QString info_text);
 
+       QAction *const action_new_session_;
+       QAction *const action_new_view_;
        QAction *const action_open_;
        QAction *const action_save_as_;
        QAction *const action_save_selection_as_;
@@ -149,12 +151,16 @@ private Q_SLOTS:
        void import_file(std::shared_ptr<sigrok::InputFormat> format);
 
        void on_device_selected();
+       void on_device_changed();
        void on_sample_count_changed();
        void on_sample_rate_changed();
        void on_run_stop();
 
        void on_config_changed();
 
+       void on_actionNewSession_triggered();
+       void on_actionNewView_triggered();
+
        void on_actionOpen_triggered();
        void on_actionSaveAs_triggered();
        void on_actionSaveSelectionAs_triggered();
@@ -171,9 +177,15 @@ private Q_SLOTS:
 
        void on_actionViewShowCursors_triggered();
 
+       void on_always_zoom_to_fit_changed(bool state);
+
 protected:
        bool eventFilter(QObject *watched, QEvent *event);
 
+Q_SIGNALS:
+       void new_session();
+       void new_view(Session *session);
+
 private:
        Session &session_;