amnezia-client/client/ui/pages_logic/protocols/V2RayLogic.h
vladimir.kuznetsov 36fae9152f added local port field to v2ray settings page
- some code style refactoring
2023-02-14 08:35:03 +03:00

50 lines
1.3 KiB
C++

#ifndef V2RAYLOGIC_H
#define V2RAYLOGIC_H
#include "PageProtocolLogicBase.h"
class UiLogic;
class V2RayLogic : public PageProtocolLogicBase
{
Q_OBJECT
AUTO_PROPERTY(bool, lineEditServerPortEnabled)
AUTO_PROPERTY(QString, lineEditServerPortText)
AUTO_PROPERTY(bool, lineEditLocalPortEnabled)
AUTO_PROPERTY(QString, lineEditLocalPortText)
AUTO_PROPERTY(bool, labelInfoVisible)
AUTO_PROPERTY(QString, labelInfoText)
AUTO_PROPERTY(int, progressBarResetValue)
AUTO_PROPERTY(int, progressBarResetMaximium)
AUTO_PROPERTY(bool, progressBarResetVisible)
AUTO_PROPERTY(bool, progressBarTextVisible)
AUTO_PROPERTY(QString, progressBarText)
AUTO_PROPERTY(bool, labelServerBusyVisible)
AUTO_PROPERTY(QString, labelServerBusyText)
AUTO_PROPERTY(bool, pushButtonSaveVisible)
AUTO_PROPERTY(bool, pushButtonCancelVisible)
public:
Q_INVOKABLE void onPushButtonSaveClicked();
Q_INVOKABLE void onPushButtonCancelClicked();
public:
explicit V2RayLogic(UiLogic *uiLogic, QObject *parent = nullptr);
~V2RayLogic() = default;
void updateProtocolPage(const QJsonObject &v2rayConfig, DockerContainer container, bool haveAuthData) override;
QJsonObject getProtocolConfigFromPage(QJsonObject oldConfig) override;
private:
UiLogic *m_uiLogic;
};
#endif // V2RAYLOGIC_H