X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Ftoolbars%2Fmainbar.hpp;h=a47288c736c022b415e5cece48fd9bb81ac68197;hp=088efa2f73cb6a8597cd6b4ea517bbbe40409a39;hb=f4ce3e772e3dad5b59f1ab27a6a3c01fdbfb8e1d;hpb=0f8f8c180b32413177f3940ea6f216d1cbadf09b diff --git a/pv/toolbars/mainbar.hpp b/pv/toolbars/mainbar.hpp index 088efa2f..a47288c7 100644 --- a/pv/toolbars/mainbar.hpp +++ b/pv/toolbars/mainbar.hpp @@ -35,6 +35,7 @@ #include #include +#include #include #include #include @@ -54,9 +55,15 @@ namespace pv { class MainWindow; class Session; +namespace views { +namespace TraceView { +class View; +} +} + namespace toolbars { -class MainBar : public QToolBar +class MainBar : public pv::views::trace::StandardBar { Q_OBJECT @@ -78,11 +85,8 @@ 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()); - - Session &session(void) const; + MainBar(Session &session, QWidget *parent, + pv::views::TraceView::View *view); void update_device_list(); @@ -90,32 +94,19 @@ public: void reset_device_selector(); + QAction* action_new_view() const; QAction* action_open() const; QAction* action_save_as() const; QAction* action_save_selection_as() const; QAction* action_connect() const; - QAction* action_quit() const; - QAction* action_view_zoom_in() const; - QAction* action_view_zoom_out() const; - QAction* action_view_zoom_fit() const; - QAction* action_view_zoom_one_to_one() const; - QAction* action_view_show_cursors() const; + + void session_error(const QString text, const QString info_text); private: void run_stop(); - void select_device(std::shared_ptr device); - void select_init_device(); - void load_file(QString file_name, - std::shared_ptr format = nullptr, - const std::map &options = - std::map()); - - void load_init_file(const std::string &file_name, - const std::string &format); - void save_selection_to_file(); void update_sample_rate_selector(); @@ -125,23 +116,15 @@ private: void commit_sample_rate(); void commit_sample_count(); - void session_error(const QString text, const QString info_text); - + QAction *const action_new_view_; QAction *const action_open_; QAction *const action_save_as_; QAction *const action_save_selection_as_; QAction *const action_connect_; - QAction *const action_view_zoom_in_; - QAction *const action_view_zoom_out_; - QAction *const action_view_zoom_fit_; - QAction *const action_view_zoom_one_to_one_; - QAction *const action_view_show_cursors_; private Q_SLOTS: void show_session_error(const QString text, const QString info_text); - void capture_state_changed(int state); - void add_decoder(srd_decoder *decoder); void export_file(std::shared_ptr format, @@ -149,33 +132,31 @@ private Q_SLOTS: void import_file(std::shared_ptr format); void on_device_selected(); + void on_device_changed(); + void on_capture_state_changed(int state); void on_sample_count_changed(); void on_sample_rate_changed(); - void on_run_stop(); void on_config_changed(); + void on_actionNewView_triggered(); + void on_actionOpen_triggered(); void on_actionSaveAs_triggered(); void on_actionSaveSelectionAs_triggered(); void on_actionConnect_triggered(); - void on_actionViewZoomIn_triggered(); - - void on_actionViewZoomOut_triggered(); - - void on_actionViewZoomFit_triggered(); - - void on_actionViewZoomOneToOne_triggered(); - - void on_actionViewShowCursors_triggered(); - protected: + void add_toolbar_widgets(); + bool eventFilter(QObject *watched, QEvent *event); +Q_SIGNALS: + void new_view(Session *session); + private: - Session &session_; + QToolButton *open_button_, *save_button_; pv::widgets::DeviceToolButton device_selector_; @@ -192,15 +173,8 @@ private: bool sample_count_supported_; - QIcon icon_red_; - QIcon icon_green_; - QIcon icon_grey_; - QToolButton run_stop_button_; - QAction *run_stop_button_action_; - - QToolButton menu_button_; - #ifdef ENABLE_DECODE + QToolButton *add_decoder_button_; QMenu *const menu_decoders_add_; #endif };