diff options
Diffstat (limited to 'src/settingsdialog.h')
-rw-r--r-- | src/settingsdialog.h | 43 |
1 files changed, 43 insertions, 0 deletions
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 <QDialog> +#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(); +}; |