From ade98b4cf6630635e2fdbf84ac29fe83a79cc371 Mon Sep 17 00:00:00 2001 From: ConfuSomu Date: Tue, 15 Aug 2023 19:42:18 -0400 Subject: Implement settings dialog --- src/settingsdialog.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/settingsdialog.h (limited to 'src/settingsdialog.h') diff --git a/src/settingsdialog.h b/src/settingsdialog.h new file mode 100644 index 0000000..e320a08 --- /dev/null +++ b/src/settingsdialog.h @@ -0,0 +1,43 @@ +#pragma once +#include +#include "./ui_settingsdialog.h" +#include "settings_interface.h" + +QT_BEGIN_NAMESPACE +namespace Ui { class SettingsDialog; } +QT_END_NAMESPACE + +class SettingsDialog : public QDialog { + Q_OBJECT + +public: + SettingsDialog(QWidget *parent = nullptr); + ~SettingsDialog(); + + static void initialize_default_settings(); + +public slots: + void defaults_button_clicked(); + void apply_button_clicked(); + void cancel_button_clicked(); + +private slots: + // General tab: + void on_timezoneCombo_activated(int index); + // Network tab: + void on_connectToTheInternetCheckBox_clicked(bool checked); + void on_DownloadCustomEmojiCheckBox_clicked(bool checked); + void on_downloadAttachmentsCheckBox_clicked(bool checked); + void on_instanceTypeComboBox_activated(int index); + void on_instanceAddressLineEdit_editingFinished(); + void on_tokenLineEdit_editingFinished(); + void on_instanceActionsLabel_linkActivated(const QString& link); + +private: + Ui::SettingsDialog* ui; + + SettingsInterface settings_interface; + bool update_ui_in_progress = false; + + void update_ui(); +}; -- cgit v1.2.3-54-g00ecf