amnezia-client/client/ui/pages_logic/AppSettingsLogic.h
2021-09-03 20:17:13 +03:00

68 lines
2.5 KiB
C++

#ifndef APP_SETTINGS_LOGIC_H
#define APP_SETTINGS_LOGIC_H
#include "../pages.h"
#include "settings.h"
class UiLogic;
class AppSettingsLogic : public QObject
{
Q_OBJECT
public:
Q_INVOKABLE void updateAppSettingsPage();
Q_PROPERTY(bool checkBoxAppSettingsAutostartChecked READ getCheckBoxAppSettingsAutostartChecked WRITE setCheckBoxAppSettingsAutostartChecked NOTIFY checkBoxAppSettingsAutostartCheckedChanged)
Q_PROPERTY(bool checkBoxAppSettingsAutoconnectChecked READ getCheckBoxAppSettingsAutoconnectChecked WRITE setCheckBoxAppSettingsAutoconnectChecked NOTIFY checkBoxAppSettingsAutoconnectCheckedChanged)
Q_PROPERTY(bool checkBoxAppSettingsStartMinimizedChecked READ getCheckBoxAppSettingsStartMinimizedChecked WRITE setCheckBoxAppSettingsStartMinimizedChecked NOTIFY checkBoxAppSettingsStartMinimizedCheckedChanged)
Q_PROPERTY(QString labelAppSettingsVersionText READ getLabelAppSettingsVersionText WRITE setLabelAppSettingsVersionText NOTIFY labelAppSettingsVersionTextChanged)
Q_INVOKABLE void onCheckBoxAppSettingsAutostartToggled(bool checked);
Q_INVOKABLE void onCheckBoxAppSettingsAutoconnectToggled(bool checked);
Q_INVOKABLE void onCheckBoxAppSettingsStartMinimizedToggled(bool checked);
Q_INVOKABLE void onPushButtonAppSettingsOpenLogsChecked();
public:
explicit AppSettingsLogic(UiLogic *uiLogic, QObject *parent = nullptr);
~AppSettingsLogic() = default;
bool getCheckBoxAppSettingsAutostartChecked() const;
void setCheckBoxAppSettingsAutostartChecked(bool checkBoxAppSettingsAutostartChecked);
bool getCheckBoxAppSettingsAutoconnectChecked() const;
void setCheckBoxAppSettingsAutoconnectChecked(bool checkBoxAppSettingsAutoconnectChecked);
bool getCheckBoxAppSettingsStartMinimizedChecked() const;
void setCheckBoxAppSettingsStartMinimizedChecked(bool checkBoxAppSettingsStartMinimizedChecked);
QString getLabelAppSettingsVersionText() const;
void setLabelAppSettingsVersionText(const QString &labelAppSettingsVersionText);
signals:
void checkBoxAppSettingsAutostartCheckedChanged();
void checkBoxAppSettingsAutoconnectCheckedChanged();
void checkBoxAppSettingsStartMinimizedCheckedChanged();
void labelAppSettingsVersionTextChanged();
private:
private slots:
private:
Settings m_settings;
UiLogic *m_uiLogic;
bool m_checkBoxAppSettingsAutostartChecked;
bool m_checkBoxAppSettingsAutoconnectChecked;
bool m_checkBoxAppSettingsStartMinimizedChecked;
QString m_labelAppSettingsVersionText;
};
#endif // APP_SETTINGS_LOGIC_H