X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fmainwindow.h;h=41c55ba5ca9c11f2d6282c497831c9ad83985d4f;hb=7db87de3cf2079f49ad395fba3a0b16f2b0f8ce5;hp=b4b64f779de1419ac4686defedd67566c942aa5c;hpb=7dd093df9796d08c9b15d494eeeb0f8cd3570591;p=pulseview.git diff --git a/pv/mainwindow.h b/pv/mainwindow.h index b4b64f77..41c55ba5 100644 --- a/pv/mainwindow.h +++ b/pv/mainwindow.h @@ -22,26 +22,24 @@ #define PULSEVIEW_PV_MAINWINDOW_H #include - -#include +#include #include -#include #include "sigsession.h" -class QAction; -class QMenuBar; -class QMenu; +struct srd_decoder; + class QVBoxLayout; -class QStatusBar; -class QToolBar; -class QWidget; namespace pv { class DeviceManager; +namespace device { +class DevInst; +} + namespace toolbars { class ContextBar; class SamplingBar; @@ -51,6 +49,10 @@ namespace view { class View; } +namespace widgets { +class DecoderMenu; +} + class MainWindow : public QMainWindow { Q_OBJECT @@ -66,18 +68,11 @@ private: 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 setup_add_decoders(QMenu *parent); - -private slots: +private Q_SLOTS: void load_file(QString file_name); @@ -85,6 +80,7 @@ private slots: const QString text, const QString info_text); void on_actionOpen_triggered(); + void on_actionSaveAs_triggered(); void on_actionQuit_triggered(); void on_actionConnect_triggered(); @@ -93,51 +89,43 @@ private slots: void on_actionViewZoomOut_triggered(); + void on_actionViewZoomFit_triggered(); + + void on_actionViewZoomOneToOne_triggered(); + void on_actionViewShowCursors_triggered(); void on_actionAbout_triggered(); - void device_selected(); - - void add_decoder(QObject *action); + void add_decoder(srd_decoder *decoder); void run_stop(); void capture_state_changed(int state); - void view_selection_changed(); - 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; pv::view::View *_view; - QMenuBar *_menu_bar; - QMenu *_menu_file; - QAction *_action_open; - QAction *_action_connect; - QAction *_action_quit; - - QMenu *_menu_view; - QAction *_action_view_zoom_in; - QAction *_action_view_zoom_out; - QAction *_action_view_show_cursors; - - QMenu *_menu_decoders; - QMenu *_menu_decoders_add; - QSignalMapper _decoders_add_mapper; - - QMenu *_menu_help; - QAction *_action_about; - QWidget *_central_widget; QVBoxLayout *_vertical_layout; - QToolBar *_toolbar; toolbars::SamplingBar *_sampling_bar; - toolbars::ContextBar *_context_bar; }; } // namespace pv