2021-09-03 20:17:13 +03:00
|
|
|
#ifndef SERVER_SETTINGS_LOGIC_H
|
|
|
|
|
#define SERVER_SETTINGS_LOGIC_H
|
|
|
|
|
|
2021-09-07 21:01:56 +03:00
|
|
|
#include "PageLogicBase.h"
|
2021-09-03 20:17:13 +03:00
|
|
|
|
2022-09-19 12:27:33 +03:00
|
|
|
#if defined(Q_OS_ANDROID)
|
2022-12-23 17:32:20 +03:00
|
|
|
#include <QJniObject>
|
|
|
|
|
#include <private/qandroidextras_p.h>
|
2022-09-19 12:27:33 +03:00
|
|
|
#endif
|
|
|
|
|
|
2021-09-03 20:17:13 +03:00
|
|
|
class UiLogic;
|
|
|
|
|
|
2021-09-07 21:01:56 +03:00
|
|
|
class ServerSettingsLogic : public PageLogicBase
|
2021-09-03 20:17:13 +03:00
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
2021-09-08 14:23:02 +03:00
|
|
|
AUTO_PROPERTY(bool, labelWaitInfoVisible)
|
|
|
|
|
AUTO_PROPERTY(QString, labelWaitInfoText)
|
|
|
|
|
AUTO_PROPERTY(QString, pushButtonClearClientCacheText)
|
|
|
|
|
AUTO_PROPERTY(bool, pushButtonClearClientCacheVisible)
|
|
|
|
|
AUTO_PROPERTY(bool, pushButtonShareFullVisible)
|
|
|
|
|
AUTO_PROPERTY(QString, labelServerText)
|
|
|
|
|
AUTO_PROPERTY(QString, lineEditDescriptionText)
|
|
|
|
|
AUTO_PROPERTY(QString, labelCurrentVpnProtocolText)
|
2021-09-08 13:52:36 +03:00
|
|
|
|
2021-09-04 11:26:16 +03:00
|
|
|
public:
|
2021-09-22 14:49:08 +03:00
|
|
|
Q_INVOKABLE void onUpdatePage() override;
|
2021-09-03 22:15:05 +03:00
|
|
|
|
2021-09-08 14:23:02 +03:00
|
|
|
Q_INVOKABLE void onPushButtonForgetServer();
|
|
|
|
|
Q_INVOKABLE void onPushButtonShareFullClicked();
|
|
|
|
|
Q_INVOKABLE void onPushButtonClearClientCacheClicked();
|
|
|
|
|
Q_INVOKABLE void onLineEditDescriptionEditingFinished();
|
2021-09-03 22:15:05 +03:00
|
|
|
|
2023-05-24 12:18:40 +01:00
|
|
|
Q_INVOKABLE bool isCurrentServerHasCredentials();
|
|
|
|
|
|
2021-09-03 20:17:13 +03:00
|
|
|
public:
|
|
|
|
|
explicit ServerSettingsLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
|
|
|
|
~ServerSettingsLogic() = default;
|
|
|
|
|
|
|
|
|
|
};
|
2022-09-19 12:27:33 +03:00
|
|
|
|
|
|
|
|
#if defined(Q_OS_ANDROID)
|
|
|
|
|
/* Auth result handler for Android */
|
|
|
|
|
class authResultReceiver final : public PageLogicBase, public QAndroidActivityResultReceiver
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
authResultReceiver(UiLogic *uiLogic, int serverIndex , QObject *parent = nullptr) : PageLogicBase(uiLogic, parent) {
|
|
|
|
|
m_serverIndex = serverIndex;
|
|
|
|
|
}
|
|
|
|
|
~authResultReceiver() {}
|
|
|
|
|
|
|
|
|
|
public:
|
2022-12-23 17:32:20 +03:00
|
|
|
void handleActivityResult(int receiverRequestCode, int resultCode, const QJniObject &data) override;
|
2022-09-19 12:27:33 +03:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
int m_serverIndex;
|
|
|
|
|
};
|
|
|
|
|
#endif
|
|
|
|
|
|
2021-09-03 20:17:13 +03:00
|
|
|
#endif // SERVER_SETTINGS_LOGIC_H
|