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

37 lines
772 B
C++
Raw Normal View History

2021-09-07 21:01:56 +03:00
#ifndef PAGE_LOGIC_BASE_H
#define PAGE_LOGIC_BASE_H
2021-09-07 22:11:43 +03:00
#include "../pages.h"
#include "../property_helper.h"
2021-09-07 21:01:56 +03:00
using namespace PageEnumNS;
class UiLogic;
2022-08-25 17:35:28 +03:00
class Settings;
class VpnConfigurator;
class ServerController;
2021-09-07 21:01:56 +03:00
class PageLogicBase : public QObject
{
Q_OBJECT
2021-09-08 13:52:36 +03:00
AUTO_PROPERTY(bool, pageEnabled)
2021-09-07 21:01:56 +03:00
public:
explicit PageLogicBase(UiLogic *uiLogic, QObject *parent = nullptr);
~PageLogicBase() = default;
Q_INVOKABLE virtual void onUpdatePage() {}
2021-09-07 21:01:56 +03:00
protected:
2022-08-25 17:35:28 +03:00
UiLogic *m_uiLogic;
2021-09-07 21:01:56 +03:00
UiLogic *uiLogic() const { return m_uiLogic; }
2022-08-25 17:35:28 +03:00
std::shared_ptr<Settings> m_settings;
std::shared_ptr<VpnConfigurator> m_configurator;
std::shared_ptr<ServerController> m_serverController;
2021-09-07 21:01:56 +03:00
signals:
void updatePage();
2021-09-07 21:01:56 +03:00
};
#endif // PAGE_LOGIC_BASE_H