amnezia-client/client/ui/pages_logic/ShareConnectionLogic.h
Pokamest Nikak 539bf2ee24 VpnLogic
2021-09-07 21:01:56 +03:00

199 lines
13 KiB
C++

#ifndef SHARE_CONNECTION_LOGIC_H
#define SHARE_CONNECTION_LOGIC_H
#include "PageLogicBase.h"
#include "3rd/QRCodeGenerator/QRCodeGenerator.h"
class UiLogic;
class ShareConnectionLogic: public PageLogicBase
{
Q_OBJECT
public:
Q_PROPERTY(bool pageShareAmneziaVisible READ getPageShareAmneziaVisible WRITE setPageShareAmneziaVisible NOTIFY pageShareAmneziaVisibleChanged)
Q_PROPERTY(bool pageShareOpenvpnVisible READ getPageShareOpenvpnVisible WRITE setPageShareOpenvpnVisible NOTIFY pageShareOpenvpnVisibleChanged)
Q_PROPERTY(bool pageShareShadowsocksVisible READ getPageShareShadowsocksVisible WRITE setPageShareShadowsocksVisible NOTIFY pageShareShadowsocksVisibleChanged)
Q_PROPERTY(bool pageShareCloakVisible READ getPageShareCloakVisible WRITE setPageShareCloakVisible NOTIFY pageShareCloakVisibleChanged)
Q_PROPERTY(bool pageShareFullAccessVisible READ getPageShareFullAccessVisible WRITE setPageShareFullAccessVisible NOTIFY pageShareFullAccessVisibleChanged)
Q_PROPERTY(QString textEditShareOpenvpnCodeText READ getTextEditShareOpenvpnCodeText WRITE setTextEditShareOpenvpnCodeText NOTIFY textEditShareOpenvpnCodeTextChanged)
Q_PROPERTY(bool pushButtonShareOpenvpnCopyEnabled READ getPushButtonShareOpenvpnCopyEnabled WRITE setPushButtonShareOpenvpnCopyEnabled NOTIFY pushButtonShareOpenvpnCopyEnabledChanged)
Q_PROPERTY(bool pushButtonShareOpenvpnSaveEnabled READ getPushButtonShareOpenvpnSaveEnabled WRITE setPushButtonShareOpenvpnSaveEnabled NOTIFY pushButtonShareOpenvpnSaveEnabledChanged)
Q_PROPERTY(int toolBoxShareConnectionCurrentIndex READ getToolBoxShareConnectionCurrentIndex WRITE setToolBoxShareConnectionCurrentIndex NOTIFY toolBoxShareConnectionCurrentIndexChanged)
Q_PROPERTY(bool pushButtonShareSsCopyEnabled READ getPushButtonShareSsCopyEnabled WRITE setPushButtonShareSsCopyEnabled NOTIFY pushButtonShareSsCopyEnabledChanged)
Q_PROPERTY(QString lineEditShareSsStringText READ getLineEditShareSsStringText WRITE setLineEditShareSsStringText NOTIFY lineEditShareSsStringTextChanged)
Q_PROPERTY(QString labelShareSsQrCodeText READ getLabelShareSsQrCodeText WRITE setLabelShareSsQrCodeText NOTIFY labelShareSsQrCodeTextChanged)
Q_PROPERTY(QString labelShareSsServerText READ getLabelShareSsServerText WRITE setLabelShareSsServerText NOTIFY labelShareSsServerTextChanged)
Q_PROPERTY(QString labelShareSsPortText READ getLabelShareSsPortText WRITE setLabelShareSsPortText NOTIFY labelShareSsPortTextChanged)
Q_PROPERTY(QString labelShareSsMethodText READ getLabelShareSsMethodText WRITE setLabelShareSsMethodText NOTIFY labelShareSsMethodTextChanged)
Q_PROPERTY(QString labelShareSsPasswordText READ getLabelShareSsPasswordText WRITE setLabelShareSsPasswordText NOTIFY labelShareSsPasswordTextChanged)
Q_PROPERTY(QString plainTextEditShareCloakText READ getPlainTextEditShareCloakText WRITE setPlainTextEditShareCloakText NOTIFY plainTextEditShareCloakTextChanged)
Q_PROPERTY(bool pushButtonShareCloakCopyEnabled READ getPushButtonShareCloakCopyEnabled WRITE setPushButtonShareCloakCopyEnabled NOTIFY pushButtonShareCloakCopyEnabledChanged)
Q_PROPERTY(QString textEditShareFullCodeText READ getTextEditShareFullCodeText WRITE setTextEditShareFullCodeText NOTIFY textEditShareFullCodeTextChanged)
Q_PROPERTY(QString textEditShareAmneziaCodeText READ getTextEditShareAmneziaCodeText WRITE setTextEditShareAmneziaCodeText NOTIFY textEditShareAmneziaCodeTextChanged)
Q_PROPERTY(QString pushButtonShareFullCopyText READ getPushButtonShareFullCopyText WRITE setPushButtonShareFullCopyText NOTIFY pushButtonShareFullCopyTextChanged)
Q_PROPERTY(QString pushButtonShareAmneziaCopyText READ getPushButtonShareAmneziaCopyText WRITE setPushButtonShareAmneziaCopyText NOTIFY pushButtonShareAmneziaCopyTextChanged)
Q_PROPERTY(QString pushButtonShareOpenvpnCopyText READ getPushButtonShareOpenvpnCopyText WRITE setPushButtonShareOpenvpnCopyText NOTIFY pushButtonShareOpenvpnCopyTextChanged)
Q_PROPERTY(QString pushButtonShareSsCopyText READ getPushButtonShareSsCopyText WRITE setPushButtonShareSsCopyText NOTIFY pushButtonShareSsCopyTextChanged)
Q_PROPERTY(QString pushButtonShareCloakCopyText READ getPushButtonShareCloakCopyText WRITE setPushButtonShareCloakCopyText NOTIFY pushButtonShareCloakCopyTextChanged)
Q_PROPERTY(bool pushButtonShareAmneziaGenerateEnabled READ getPushButtonShareAmneziaGenerateEnabled WRITE setPushButtonShareAmneziaGenerateEnabled NOTIFY pushButtonShareAmneziaGenerateEnabledChanged)
Q_PROPERTY(bool pushButtonShareAmneziaCopyEnabled READ getPushButtonShareAmneziaCopyEnabled WRITE setPushButtonShareAmneziaCopyEnabled NOTIFY pushButtonShareAmneziaCopyEnabledChanged)
Q_PROPERTY(QString pushButtonShareAmneziaGenerateText READ getPushButtonShareAmneziaGenerateText WRITE setPushButtonShareAmneziaGenerateText NOTIFY pushButtonShareAmneziaGenerateTextChanged)
Q_PROPERTY(bool pushButtonShareOpenvpnGenerateEnabled READ getPushButtonShareOpenvpnGenerateEnabled WRITE setPushButtonShareOpenvpnGenerateEnabled NOTIFY pushButtonShareOpenvpnGenerateEnabledChanged)
Q_PROPERTY(QString pushButtonShareOpenvpnGenerateText READ getPushButtonShareOpenvpnGenerateText WRITE setPushButtonShareOpenvpnGenerateText NOTIFY pushButtonShareOpenvpnGenerateTextChanged)
public:
explicit ShareConnectionLogic(UiLogic *uiLogic, QObject *parent = nullptr);
~ShareConnectionLogic() = default;
void updateSharingPage(int serverIndex, const ServerCredentials &credentials,
DockerContainer container);
void updateQRCodeImage(const QString &text, const std::function<void(const QString&)>& setLabelFunc);
bool getPageShareAmneziaVisible() const;
void setPageShareAmneziaVisible(bool pageShareAmneziaVisible);
bool getPageShareOpenvpnVisible() const;
void setPageShareOpenvpnVisible(bool pageShareOpenvpnVisible);
bool getPageShareShadowsocksVisible() const;
void setPageShareShadowsocksVisible(bool pageShareShadowsocksVisible);
bool getPageShareCloakVisible() const;
void setPageShareCloakVisible(bool pageShareCloakVisible);
bool getPageShareFullAccessVisible() const;
void setPageShareFullAccessVisible(bool pageShareFullAccessVisible);
QString getTextEditShareOpenvpnCodeText() const;
void setTextEditShareOpenvpnCodeText(const QString &textEditShareOpenvpnCodeText);
bool getPushButtonShareOpenvpnCopyEnabled() const;
void setPushButtonShareOpenvpnCopyEnabled(bool pushButtonShareOpenvpnCopyEnabled);
bool getPushButtonShareOpenvpnSaveEnabled() const;
void setPushButtonShareOpenvpnSaveEnabled(bool pushButtonShareOpenvpnSaveEnabled);
int getToolBoxShareConnectionCurrentIndex() const;
void setToolBoxShareConnectionCurrentIndex(int toolBoxShareConnectionCurrentIndex);
bool getPushButtonShareSsCopyEnabled() const;
void setPushButtonShareSsCopyEnabled(bool pushButtonShareSsCopyEnabled);
QString getLineEditShareSsStringText() const;
void setLineEditShareSsStringText(const QString &lineEditShareSsStringText);
QString getLabelShareSsQrCodeText() const;
void setLabelShareSsQrCodeText(const QString &labelShareSsQrCodeText);
QString getLabelShareSsServerText() const;
void setLabelShareSsServerText(const QString &labelShareSsServerText);
QString getLabelShareSsPortText() const;
void setLabelShareSsPortText(const QString &labelShareSsPortText);
QString getLabelShareSsMethodText() const;
void setLabelShareSsMethodText(const QString &labelShareSsMethodText);
QString getLabelShareSsPasswordText() const;
void setLabelShareSsPasswordText(const QString &labelShareSsPasswordText);
QString getPlainTextEditShareCloakText() const;
void setPlainTextEditShareCloakText(const QString &plainTextEditShareCloakText);
bool getPushButtonShareCloakCopyEnabled() const;
void setPushButtonShareCloakCopyEnabled(bool pushButtonShareCloakCopyEnabled);
QString getTextEditShareFullCodeText() const;
void setTextEditShareFullCodeText(const QString &textEditShareFullCodeText);
QString getTextEditShareAmneziaCodeText() const;
void setTextEditShareAmneziaCodeText(const QString &textEditShareAmneziaCodeText);
QString getPushButtonShareFullCopyText() const;
void setPushButtonShareFullCopyText(const QString &pushButtonShareFullCopyText);
QString getPushButtonShareAmneziaCopyText() const;
void setPushButtonShareAmneziaCopyText(const QString &pushButtonShareAmneziaCopyText);
QString getPushButtonShareOpenvpnCopyText() const;
void setPushButtonShareOpenvpnCopyText(const QString &pushButtonShareOpenvpnCopyText);
QString getPushButtonShareSsCopyText() const;
void setPushButtonShareSsCopyText(const QString &pushButtonShareSsCopyText);
QString getPushButtonShareCloakCopyText() const;
void setPushButtonShareCloakCopyText(const QString &pushButtonShareCloakCopyText);
bool getPushButtonShareAmneziaGenerateEnabled() const;
void setPushButtonShareAmneziaGenerateEnabled(bool pushButtonShareAmneziaGenerateEnabled);
bool getPushButtonShareAmneziaCopyEnabled() const;
void setPushButtonShareAmneziaCopyEnabled(bool pushButtonShareAmneziaCopyEnabled);
QString getPushButtonShareAmneziaGenerateText() const;
void setPushButtonShareAmneziaGenerateText(const QString &pushButtonShareAmneziaGenerateText);
bool getPushButtonShareOpenvpnGenerateEnabled() const;
void setPushButtonShareOpenvpnGenerateEnabled(bool pushButtonShareOpenvpnGenerateEnabled);
QString getPushButtonShareOpenvpnGenerateText() const;
void setPushButtonShareOpenvpnGenerateText(const QString &pushButtonShareOpenvpnGenerateText);
Q_INVOKABLE void onPushButtonShareFullCopyClicked();
Q_INVOKABLE void onPushButtonShareFullSaveClicked();
Q_INVOKABLE void onPushButtonShareAmneziaCopyClicked();
Q_INVOKABLE void onPushButtonShareAmneziaSaveClicked();
Q_INVOKABLE void onPushButtonShareOpenvpnCopyClicked();
Q_INVOKABLE void onPushButtonShareSsCopyClicked();
Q_INVOKABLE void onPushButtonShareCloakCopyClicked();
Q_INVOKABLE void onPushButtonShareAmneziaGenerateClicked();
Q_INVOKABLE void onPushButtonShareOpenvpnGenerateClicked();
Q_INVOKABLE void onPushButtonShareOpenvpnSaveClicked();
signals:
void pageShareAmneziaVisibleChanged();
void pageShareOpenvpnVisibleChanged();
void pageShareShadowsocksVisibleChanged();
void pageShareCloakVisibleChanged();
void pageShareFullAccessVisibleChanged();
void textEditShareOpenvpnCodeTextChanged();
void pushButtonShareOpenvpnCopyEnabledChanged();
void pushButtonShareOpenvpnSaveEnabledChanged();
void toolBoxShareConnectionCurrentIndexChanged();
void pushButtonShareSsCopyEnabledChanged();
void lineEditShareSsStringTextChanged();
void labelShareSsQrCodeTextChanged();
void labelShareSsServerTextChanged();
void labelShareSsPortTextChanged();
void labelShareSsMethodTextChanged();
void labelShareSsPasswordTextChanged();
void plainTextEditShareCloakTextChanged();
void pushButtonShareCloakCopyEnabledChanged();
void textEditShareFullCodeTextChanged();
void textEditShareAmneziaCodeTextChanged();
void pushButtonShareFullCopyTextChanged();
void pushButtonShareAmneziaCopyTextChanged();
void pushButtonShareOpenvpnCopyTextChanged();
void pushButtonShareSsCopyTextChanged();
void pushButtonShareCloakCopyTextChanged();
void pushButtonShareAmneziaGenerateEnabledChanged();
void pushButtonShareAmneziaCopyEnabledChanged();
void pushButtonShareAmneziaGenerateTextChanged();
void pushButtonShareOpenvpnGenerateEnabledChanged();
void pushButtonShareOpenvpnGenerateTextChanged();
private:
private slots:
private:
CQR_Encode m_qrEncode;
bool m_pageShareAmneziaVisible;
bool m_pageShareOpenvpnVisible;
bool m_pageShareShadowsocksVisible;
bool m_pageShareCloakVisible;
bool m_pageShareFullAccessVisible;
QString m_textEditShareOpenvpnCodeText;
bool m_pushButtonShareOpenvpnCopyEnabled;
bool m_pushButtonShareOpenvpnSaveEnabled;
int m_toolBoxShareConnectionCurrentIndex;
bool m_pushButtonShareSsCopyEnabled;
QString m_lineEditShareSsStringText;
QString m_labelShareSsQrCodeText;
QString m_labelShareSsServerText;
QString m_labelShareSsPortText;
QString m_labelShareSsMethodText;
QString m_labelShareSsPasswordText;
QString m_plainTextEditShareCloakText;
bool m_pushButtonShareCloakCopyEnabled;
QString m_textEditShareFullCodeText;
QString m_textEditShareAmneziaCodeText;
QString m_pushButtonShareFullCopyText;
QString m_pushButtonShareAmneziaCopyText;
QString m_pushButtonShareOpenvpnCopyText;
QString m_pushButtonShareSsCopyText;
QString m_pushButtonShareCloakCopyText;
bool m_pushButtonShareAmneziaGenerateEnabled;
bool m_pushButtonShareAmneziaCopyEnabled;
QString m_pushButtonShareAmneziaGenerateText;
bool m_pushButtonShareOpenvpnGenerateEnabled;
QString m_pushButtonShareOpenvpnGenerateText;
};
#endif // SHARE_CONNECTION_LOGIC_H