/* preferences_dialog.h * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef PREFERENCES_DIALOG_H #define PREFERENCES_DIALOG_H #include #include #include #include #include "geometry_state_dialog.h" class QComboBox; namespace Ui { class PreferencesDialog; } class PreferencesDialog : public GeometryStateDialog { Q_OBJECT public: explicit PreferencesDialog(QWidget *parent = 0); ~PreferencesDialog(); /** * Show the preference pane corresponding to the a preference module name. * @param module_name A preference module name, e.g. the "name" parameter passed * to prefs_register_module or a protocol name. */ void setPane(const QString module_name); protected: void showEvent(QShowEvent *evt); private: Ui::PreferencesDialog *pd_ui_; QHash prefs_pane_to_item_; PrefsModel model_; AdvancedPrefsModel advancedPrefsModel_; AdvancedPrefDelegate advancedPrefsDelegate_; ModulePrefsModel modulePrefsModel_; gboolean saved_capture_no_extcap_; QTimer *searchLineEditTimer; QString searchLineEditText; private slots: void selectPane(QString pane); void on_advancedSearchLineEdit_textEdited(const QString &search_re); void on_buttonBox_accepted(); void on_buttonBox_rejected(); void on_buttonBox_helpRequested(); /** * Update search results from the advancedSearchLineEdit field * * This is performed separately from on_advancedSearchLineEdit_textEdited * to support debouncing. */ void updateSearchLineEdit(); }; #endif // PREFERENCES_DIALOG_H