X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdialogs%2Fsettings.hpp;h=f68b31dd69cbff058079224dcae6e7de084fabdc;hp=20c4f91552b184d004ed61642f8d96e13b950c04;hb=fb64180193664005567570724d52b685913e15ed;hpb=bf9f12687c8d43422455cbdc27ec1cc5d4305149 diff --git a/pv/dialogs/settings.hpp b/pv/dialogs/settings.hpp index 20c4f915..f68b31dd 100644 --- a/pv/dialogs/settings.hpp +++ b/pv/dialogs/settings.hpp @@ -20,26 +20,73 @@ #ifndef PULSEVIEW_PV_SETTINGS_HPP #define PULSEVIEW_PV_SETTINGS_HPP +#include #include +#include +#include +#include +#include namespace pv { + +class DeviceManager; + namespace dialogs { +class PageListWidget; + class Settings : public QDialog { Q_OBJECT public: - Settings(QWidget *parent = 0); + Settings(DeviceManager &device_manager, QWidget *parent = nullptr); + + void create_pages(); + QCheckBox *create_checkbox(const QString& key, const char* slot) const; + QPlainTextEdit *create_log_view() const; QWidget *get_view_settings_form(QWidget *parent) const; + QWidget *get_decoder_settings_form(QWidget *parent); + QWidget *get_about_page(QWidget *parent) const; + QWidget *get_logging_page(QWidget *parent) const; void accept(); void reject(); private Q_SLOTS: - void on_view_alwaysZoomToFit_changed(int state); - void on_view_colouredBG_changed(int state); + void on_page_changed(QListWidgetItem *current, QListWidgetItem *previous); + void on_view_zoomToFitDuringAcq_changed(int state); + void on_view_zoomToFitAfterAcq_changed(int state); + void on_view_triggerIsZero_changed(int state); + void on_view_coloredBG_changed(int state); + void on_view_stickyScrolling_changed(int state); + void on_view_showSamplingPoints_changed(int state); + void on_view_showAnalogMinorGrid_changed(int state); + void on_view_showHoverMarker_changed(int state); + void on_view_snapDistance_changed(int value); + void on_view_conversionThresholdDispMode_changed(int state); + void on_view_defaultDivHeight_changed(int value); + void on_view_defaultLogicHeight_changed(int value); +#ifdef ENABLE_DECODE + void on_dec_initialStateConfigurable_changed(int state); + void on_dec_exportFormat_changed(const QString &text); +#endif + void on_log_logLevel_changed(int value); + void on_log_bufferSize_changed(int value); + void on_log_saveToFile_clicked(bool checked); + void on_log_popOut_clicked(bool checked); + +private: + DeviceManager &device_manager_; + PageListWidget *page_list; + QStackedWidget *pages; + +#ifdef ENABLE_DECODE + QLineEdit *ann_export_format_; +#endif + + QPlainTextEdit *log_view_; }; } // namespace dialogs