X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdialogs%2Fsettings.hpp;h=c8ba8162e03a4c03313e72515e01ff08ccfe71cd;hp=bc6542d3e4243f5b90eccebcf5df9754b1418c66;hb=HEAD;hpb=1cc1c8dec120ed6d98071f939ea435d85ee853bf diff --git a/pv/dialogs/settings.hpp b/pv/dialogs/settings.hpp index bc6542d3..bd3572ff 100644 --- a/pv/dialogs/settings.hpp +++ b/pv/dialogs/settings.hpp @@ -17,12 +17,16 @@ * along with this program; if not, see . */ -#ifndef PULSEVIEW_PV_SETTINGS_HPP -#define PULSEVIEW_PV_SETTINGS_HPP +#ifndef PULSEVIEW_PV_DIALOGS_SETTINGS_HPP +#define PULSEVIEW_PV_DIALOGS_SETTINGS_HPP +#include +#include #include #include +#include #include +#include namespace pv { @@ -30,6 +34,8 @@ class DeviceManager; namespace dialogs { +class PageListWidget; + class Settings : public QDialog { Q_OBJECT @@ -38,30 +44,65 @@ public: 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_general_settings_form(QWidget *parent) const; QWidget *get_view_settings_form(QWidget *parent) const; - QWidget *get_decoder_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; +private Q_SLOTS: void accept(); void reject(); -private Q_SLOTS: void on_page_changed(QListWidgetItem *current, QListWidgetItem *previous); - void on_view_alwaysZoomToFit_changed(int state); - void on_view_colouredBG_changed(int state); + void on_general_language_changed(const QString &text); + void on_general_theme_changed(int value); + void on_general_style_changed(int value); + void on_general_save_with_setup_changed(int state); + void on_general_start_all_sessions_changed(int state); + 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_allowVerticalDragging_changed(int state); void on_view_showSamplingPoints_changed(int state); + void on_view_fillSignalHighAreas_changed(int state); + void on_view_fillSignalHighAreaColor_changed(QColor color); void on_view_showAnalogMinorGrid_changed(int state); + void on_view_showHoverMarker_changed(int state); + void on_view_keepRulerItemSelected_changed(int state); + void on_view_snapDistance_changed(int value); + void on_view_cursorFillColor_changed(QColor color); + 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); + void on_dec_alwaysshowallrows_changed(int state); +#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_; - QListWidget *page_list; + PageListWidget *page_list; QStackedWidget *pages; + +#ifdef ENABLE_DECODE + QLineEdit *ann_export_format_; +#endif + + QPlainTextEdit *log_view_; }; } // namespace dialogs } // namespace pv -#endif // PULSEVIEW_PV_SETTINGS_HPP +#endif // PULSEVIEW_PV_DIALOGS_SETTINGS_HPP