Files
amnezia-client/client/ui/pages_logic/ShareConnectionLogic.h
T

63 lines
2.5 KiB
C++
Raw Normal View History

2021-09-03 20:17:13 +03:00
#ifndef SHARE_CONNECTION_LOGIC_H
#define SHARE_CONNECTION_LOGIC_H
2021-09-07 21:01:56 +03:00
#include "PageLogicBase.h"
2021-09-04 11:26:16 +03:00
#include "3rd/QRCodeGenerator/QRCodeGenerator.h"
2021-09-03 20:17:13 +03:00
class UiLogic;
2021-09-07 21:01:56 +03:00
class ShareConnectionLogic: public PageLogicBase
2021-09-03 20:17:13 +03:00
{
Q_OBJECT
2021-09-04 11:26:16 +03:00
public:
2021-09-08 14:23:02 +03:00
AUTO_PROPERTY(QString, textEditShareOpenVpnCodeText)
AUTO_PROPERTY(bool, pushButtonShareOpenVpnCopyEnabled)
AUTO_PROPERTY(bool, pushButtonShareOpenVpnSaveEnabled)
AUTO_PROPERTY(QString, lineEditShareShadowSocksStringText)
AUTO_PROPERTY(QString, labelShareShadowSocksQrCodeText)
AUTO_PROPERTY(QString, labelShareShadowSocksServerText)
AUTO_PROPERTY(QString, labelShareShadowSocksPortText)
AUTO_PROPERTY(QString, labelShareShadowSocksMethodText)
AUTO_PROPERTY(QString, labelShareShadowSocksPasswordText)
2021-09-08 13:52:36 +03:00
AUTO_PROPERTY(QString, plainTextEditShareCloakText)
AUTO_PROPERTY(QString, textEditShareFullCodeText)
AUTO_PROPERTY(QString, textEditShareAmneziaCodeText)
AUTO_PROPERTY(QString, pushButtonShareFullCopyText)
AUTO_PROPERTY(QString, pushButtonShareAmneziaCopyText)
2021-09-08 14:23:02 +03:00
AUTO_PROPERTY(QString, pushButtonShareOpenVpnCopyText)
AUTO_PROPERTY(QString, pushButtonShareShadowSocksCopyText)
2021-09-08 13:52:36 +03:00
AUTO_PROPERTY(QString, pushButtonShareCloakCopyText)
AUTO_PROPERTY(bool, pushButtonShareAmneziaGenerateEnabled)
AUTO_PROPERTY(bool, pushButtonShareAmneziaCopyEnabled)
AUTO_PROPERTY(QString, pushButtonShareAmneziaGenerateText)
2021-09-08 14:23:02 +03:00
AUTO_PROPERTY(bool, pushButtonShareOpenVpnGenerateEnabled)
AUTO_PROPERTY(QString, pushButtonShareOpenVpnGenerateText)
2021-09-04 11:26:16 +03:00
2021-09-03 20:17:13 +03:00
public:
2021-09-04 11:26:16 +03:00
Q_INVOKABLE void onPushButtonShareFullCopyClicked();
Q_INVOKABLE void onPushButtonShareFullSaveClicked();
Q_INVOKABLE void onPushButtonShareAmneziaCopyClicked();
Q_INVOKABLE void onPushButtonShareAmneziaSaveClicked();
2021-09-08 14:23:02 +03:00
Q_INVOKABLE void onPushButtonShareOpenVpnCopyClicked();
Q_INVOKABLE void onPushButtonShareShadowSocksCopyClicked();
2021-09-04 11:26:16 +03:00
Q_INVOKABLE void onPushButtonShareCloakCopyClicked();
Q_INVOKABLE void onPushButtonShareAmneziaGenerateClicked();
2021-09-08 14:23:02 +03:00
Q_INVOKABLE void onPushButtonShareOpenVpnGenerateClicked();
Q_INVOKABLE void onPushButtonShareOpenVpnSaveClicked();
2021-09-03 20:17:13 +03:00
2021-09-08 13:52:36 +03:00
public:
explicit ShareConnectionLogic(UiLogic *uiLogic, QObject *parent = nullptr);
~ShareConnectionLogic() = default;
2021-09-03 20:17:13 +03:00
2021-09-08 13:52:36 +03:00
void updateSharingPage(int serverIndex, const ServerCredentials &credentials,
DockerContainer container);
2021-11-08 15:18:52 +03:00
QImage updateQRCodeImage(const QString &text);
QString imageToBase64(const QImage &image);
2021-09-03 20:17:13 +03:00
private:
2021-09-04 11:26:16 +03:00
CQR_Encode m_qrEncode;
2021-09-03 20:17:13 +03:00
};
#endif // SHARE_CONNECTION_LOGIC_H