summaryrefslogtreecommitdiffhomepage
path: root/gui/options-dialog.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/options-dialog.hpp')
-rw-r--r--gui/options-dialog.hpp42
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);
};