X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Ftoolbars%2Fmainbar.hpp;h=bc0c2dfdd528c11c6bfba37c499ae5078ab7cfeb;hp=95959e1757212ae7d45738a60cdf649ddee9f02a;hb=97378470ded88af84edaa0f1063d10d834475665;hpb=fd22c71c1a9cc470b53c71c0ee131a4b2d645f80 diff --git a/pv/toolbars/mainbar.hpp b/pv/toolbars/mainbar.hpp index 95959e17..bc0c2dfd 100644 --- a/pv/toolbars/mainbar.hpp +++ b/pv/toolbars/mainbar.hpp @@ -14,15 +14,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * along with this program; if not, see . */ #ifndef PULSEVIEW_PV_TOOLBARS_MAINBAR_HPP #define PULSEVIEW_PV_TOOLBARS_MAINBAR_HPP -#include - +#include #include #include @@ -35,17 +33,20 @@ #include #include +#include #include #include #include +using std::shared_ptr; + namespace sigrok { class Device; class InputFormat; class OutputFormat; } -Q_DECLARE_METATYPE(std::shared_ptr) +Q_DECLARE_METATYPE(shared_ptr) class QAction; @@ -54,9 +55,15 @@ namespace pv { class MainWindow; class Session; +namespace views { +namespace trace { +class View; +} +} + namespace toolbars { -class MainBar : public QToolBar +class MainBar : public pv::views::trace::StandardBar { Q_OBJECT @@ -78,9 +85,8 @@ private: static const char *SettingSaveDirectory; public: - MainBar(Session &session, pv::MainWindow &main_window); - - Session &session(void) const; + MainBar(Session &session, QWidget *parent, + pv::views::trace::View *view); void update_device_list(); @@ -92,15 +98,9 @@ public: QAction* action_open() const; QAction* action_save_as() const; QAction* action_save_selection_as() const; + QAction* action_restore_setup() const; + QAction* action_save_setup() 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(); @@ -120,26 +120,20 @@ private: QAction *const action_open_; QAction *const action_save_as_; QAction *const action_save_selection_as_; + QAction *const action_restore_setup_; + QAction *const action_save_setup_; 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, + void export_file(shared_ptr format, bool selection_only = false); - void import_file(std::shared_ptr format); + void import_file(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(); @@ -151,28 +145,24 @@ private Q_SLOTS: void on_actionSaveAs_triggered(); void on_actionSaveSelectionAs_triggered(); - void on_actionConnect_triggered(); - - void on_actionViewZoomIn_triggered(); - - void on_actionViewZoomOut_triggered(); + void on_actionSaveSetup_triggered(); + void on_actionRestoreSetup_triggered(); - void on_actionViewZoomFit_triggered(); - - void on_actionViewZoomOneToOne_triggered(); - - void on_actionViewShowCursors_triggered(); + void on_actionConnect_triggered(); - void on_always_zoom_to_fit_changed(bool state); + void on_add_decoder_clicked(); protected: + void add_toolbar_widgets(); + bool eventFilter(QObject *watched, QEvent *event); Q_SIGNALS: void new_view(Session *session); + void show_decoder_selector(Session *session); private: - Session &session_; + QToolButton *open_button_, *save_button_; pv::widgets::DeviceToolButton device_selector_; @@ -190,7 +180,7 @@ private: bool sample_count_supported_; #ifdef ENABLE_DECODE - QMenu *const menu_decoders_add_; + QToolButton *add_decoder_button_; #endif };