- added a popup with a question when deleting containers/servers - added import from code and import error handling
55 lines
1.6 KiB
C++
55 lines
1.6 KiB
C++
#ifndef PAGECONTROLLER_H
|
|
#define PAGECONTROLLER_H
|
|
|
|
#include <QObject>
|
|
#include <QQmlEngine>
|
|
|
|
#include "ui/models/servers_model.h"
|
|
|
|
namespace PageLoader
|
|
{
|
|
Q_NAMESPACE
|
|
enum class PageEnum { PageStart = 0, PageHome, PageShare, PageDeinstalling,
|
|
|
|
PageSettingsServersList, PageSettings, PageSettingsServerData, PageSettingsServerInfo,
|
|
PageSettingsServerProtocols, PageSettingsServerServices,
|
|
|
|
PageSetupWizardStart, PageTest, PageSetupWizardCredentials, PageSetupWizardProtocols, PageSetupWizardEasy,
|
|
PageSetupWizardProtocolSettings, PageSetupWizardInstalling, PageSetupWizardConfigSource,
|
|
PageSetupWizardTextKey, PageSetupWizardViewConfig
|
|
};
|
|
Q_ENUM_NS(PageEnum)
|
|
|
|
static void declareQmlPageEnum() {
|
|
qmlRegisterUncreatableMetaObject(
|
|
PageLoader::staticMetaObject,
|
|
"PageEnum",
|
|
1, 0,
|
|
"PageEnum",
|
|
"Error: only enums"
|
|
);
|
|
}
|
|
}
|
|
|
|
class PageController : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit PageController(const QSharedPointer<ServersModel> &serversModel,
|
|
QObject *parent = nullptr);
|
|
|
|
public slots:
|
|
QString getInitialPage();
|
|
QString getPagePath(PageLoader::PageEnum page);
|
|
|
|
signals:
|
|
void goToPageHome();
|
|
void restorePageHomeState(bool isContainerInstalled = false);
|
|
void replaceStartPage();
|
|
void showErrorMessage(QString errorMessage);
|
|
|
|
private:
|
|
QSharedPointer<ServersModel> m_serversModel;
|
|
};
|
|
|
|
#endif // PAGECONTROLLER_H
|