diff options
Diffstat (limited to 'gui/options-dialog.hpp')
| -rw-r--r-- | gui/options-dialog.hpp | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/gui/options-dialog.hpp b/gui/options-dialog.hpp index dab919ed..2e5586a5 100644 --- a/gui/options-dialog.hpp +++ b/gui/options-dialog.hpp @@ -1,29 +1,57 @@ #pragma once -#include "ui_options-dialog.h" +#include "export.hpp" + +#include "gui/ui_options-dialog.h" #include "logic/shortcuts.h" + +#include <functional> + #include <QObject> #include <QDialog> #include <QWidget> -#include <functional> -class OptionsDialog : public QDialog +class OTR_GUI_EXPORT options_dialog final : public QDialog { Q_OBJECT signals: void closing(); public: - OptionsDialog(std::function<void(bool)> pause_keybindings); + options_dialog(std::unique_ptr<ITrackerDialog>& tracker_dialog_, + std::unique_ptr<IProtocolDialog>& proto_dialog_, + std::unique_ptr<IFilterDialog>& filter_dialog_, + std::function<void(bool)> pause_keybindings); + ~options_dialog() override; + inline bool embeddable() noexcept { return false; } + void switch_to_tracker_tab(); + void switch_to_proto_tab(); + void switch_to_filter_tab(); + void tracker_module_changed(); + void proto_module_changed(); + void filter_module_changed(); + void register_tracker(ITracker* t); + void unregister_tracker(); + void register_protocol(IProtocol* p); + void unregister_protocol(); + void register_filter(IFilter* f); + void unregister_filter(); + void save(); + void reload(); private: + void closeEvent(QCloseEvent*) override; + static QString kopts_to_string(const key_opts& opts); + main_settings main; std::function<void(bool)> pause_keybindings; Ui::options_dialog ui; - void closeEvent(QCloseEvent *) override; - static QString kopts_to_string(const key_opts& opts); + + ITrackerDialog* tracker_dialog = nullptr; + IProtocolDialog* proto_dialog = nullptr; + IFilterDialog* filter_dialog = nullptr; + private slots: void doOK(); void doCancel(); - void done(int res) override; void bind_key(key_opts &kopts, QLabel* label); void set_disable_translation_state(bool value); }; |
