#ifndef SETTINGSDIALOG_H
#define SETTINGSDIALOG_H
#include <QDialog>
#include <QComboBox>
#include <QCheckBox>
#include <QFontComboBox>
#include <QSpinBox>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>
#include <QComboBox>
#include "ConfigManager.h"
#include "NetworkManager.h"
class SettingsDialog : public QDialog {
Q_OBJECT
public:
SettingsDialog(const NoteData &data, QWidget *parent = nullptr);
NoteData getUpdatedData() const;
QLabel *netStatusValLabel;
QPushButton *connectBtn;
public slots:
void updateStatusText(const QString &status);
signals:
void encryptRequested(const QString &phrase);
void decryptRequested(const QString &phrase);
void connectRequested(int routeIndex, int roleIndex);
void syncRequested();
private:
QComboBox *autoStartCheck;
QComboBox *hideTaskbarCheck;
QComboBox *roleCombo;
QComboBox *routeCombo;
QFontComboBox *fontCombo;
QLineEdit *ipEdit;
QLineEdit *passKeyEdit;
QLineEdit *phraseEdit;
QPushButton *bgColorBtn;
QPushButton *decryptBtn;
QPushButton *encryptBtn;
QPushButton *focusColorBtn;
QPushButton *highlightColorBtn;
QPushButton *syncBtn;
QPushButton *textColorBtn;
QSpinBox *sizeSpin;
QColor currentBg;
QColor currentFocus;
QColor currentHighlight;
QColor currentText;
NoteData originalData;
};
#endif