added PageSettings and PageSettingsServersList.
- replaced PageLoader with PageType with stackView property. - added error handling when installing a server/container
This commit is contained in:
parent
ca6b7fbeb2
commit
e00656d757
31 changed files with 486 additions and 142 deletions
|
@ -3,6 +3,7 @@
|
|||
#include <QJsonObject>
|
||||
|
||||
#include "core/servercontroller.h"
|
||||
#include "core/errorstrings.h"
|
||||
|
||||
InstallController::InstallController(const QSharedPointer<ServersModel> &serversModel,
|
||||
const QSharedPointer<ContainersModel> &containersModel,
|
||||
|
@ -12,7 +13,7 @@ InstallController::InstallController(const QSharedPointer<ServersModel> &servers
|
|||
|
||||
}
|
||||
|
||||
ErrorCode InstallController::install(DockerContainer container, int port, TransportProto transportProto)
|
||||
void InstallController::install(DockerContainer container, int port, TransportProto transportProto)
|
||||
{
|
||||
Proto mainProto = ContainerProps::defaultProtocol(container);
|
||||
|
||||
|
@ -26,13 +27,13 @@ ErrorCode InstallController::install(DockerContainer container, int port, Transp
|
|||
};
|
||||
|
||||
if (m_shouldCreateServer) {
|
||||
return installServer(container, config);
|
||||
installServer(container, config);
|
||||
} else {
|
||||
return installContainer(container, config);
|
||||
installContainer(container, config);
|
||||
}
|
||||
}
|
||||
|
||||
ErrorCode InstallController::installServer(DockerContainer container, QJsonObject& config)
|
||||
void InstallController::installServer(DockerContainer container, QJsonObject& config)
|
||||
{
|
||||
//todo check if container already installed
|
||||
ServerController serverController(m_settings);
|
||||
|
@ -51,15 +52,14 @@ ErrorCode InstallController::installServer(DockerContainer container, QJsonObjec
|
|||
m_settings->addServer(server);
|
||||
m_settings->setDefaultServer(m_settings->serversCount() - 1);
|
||||
|
||||
//todo change to server finished
|
||||
emit installContainerFinished();
|
||||
emit installServerFinished();
|
||||
return;
|
||||
}
|
||||
|
||||
//todo error processing
|
||||
return errorCode;
|
||||
emit installationErrorOccurred(errorString(errorCode));
|
||||
}
|
||||
|
||||
ErrorCode InstallController::installContainer(DockerContainer container, QJsonObject& config)
|
||||
void InstallController::installContainer(DockerContainer container, QJsonObject& config)
|
||||
{
|
||||
//todo check if container already installed
|
||||
ServerCredentials serverCredentials = m_serversModel->getCurrentlyProcessedServerCredentials();
|
||||
|
@ -69,10 +69,10 @@ ErrorCode InstallController::installContainer(DockerContainer container, QJsonOb
|
|||
if (errorCode == ErrorCode::NoError) {
|
||||
m_containersModel->setData(m_containersModel->index(container), config, ContainersModel::Roles::ConfigRole);
|
||||
emit installContainerFinished();
|
||||
return;
|
||||
}
|
||||
|
||||
//todo error processing
|
||||
return errorCode;
|
||||
emit installationErrorOccurred(errorString(errorCode));
|
||||
}
|
||||
|
||||
void InstallController::setCurrentlyInstalledServerCredentials(const QString &hostName, const QString &userName, const QString &secretData)
|
||||
|
|
|
@ -18,15 +18,18 @@ public:
|
|||
QObject *parent = nullptr);
|
||||
|
||||
public slots:
|
||||
ErrorCode install(DockerContainer container, int port, TransportProto transportProto);
|
||||
void install(DockerContainer container, int port, TransportProto transportProto);
|
||||
void setCurrentlyInstalledServerCredentials(const QString &hostName, const QString &userName, const QString &secretData);
|
||||
void setShouldCreateServer(bool shouldCreateServer);
|
||||
|
||||
signals:
|
||||
void installContainerFinished();
|
||||
void installServerFinished();
|
||||
|
||||
void installationErrorOccurred(QString errorMessage);
|
||||
private:
|
||||
ErrorCode installServer(DockerContainer container, QJsonObject& config);
|
||||
ErrorCode installContainer(DockerContainer container, QJsonObject& config);
|
||||
void installServer(DockerContainer container, QJsonObject& config);
|
||||
void installContainer(DockerContainer container, QJsonObject& config);
|
||||
|
||||
QSharedPointer<ServersModel> m_serversModel;
|
||||
QSharedPointer<ContainersModel> m_containersModel;
|
||||
|
|
|
@ -5,15 +5,15 @@ PageController::PageController(const QSharedPointer<ServersModel> &serversModel,
|
|||
{
|
||||
}
|
||||
|
||||
void PageController::setStartPage()
|
||||
QString PageController::getInitialPage()
|
||||
{
|
||||
if (m_serversModel->getServersCount()) {
|
||||
if (m_serversModel->getDefaultServerIndex() < 0) {
|
||||
m_serversModel->setDefaultServerIndex(0);
|
||||
}
|
||||
emit goToPage(PageLoader::PageEnum::PageStart, false);
|
||||
return getPagePath(PageLoader::PageEnum::PageStart);
|
||||
} else {
|
||||
emit goToPage(PageLoader::PageEnum::PageSetupWizardStart, false);
|
||||
return getPagePath(PageLoader::PageEnum::PageSetupWizardStart);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,5 +21,5 @@ QString PageController::getPagePath(PageLoader::PageEnum page)
|
|||
{
|
||||
QMetaEnum metaEnum = QMetaEnum::fromType<PageLoader::PageEnum>();
|
||||
QString pageName = metaEnum.valueToKey(static_cast<int>(page));
|
||||
return "Pages2/" + pageName + ".qml";
|
||||
return "qrc:/ui/qml/Pages2/" + pageName + ".qml";
|
||||
}
|
||||
|
|
|
@ -36,12 +36,12 @@ public:
|
|||
QObject *parent = nullptr);
|
||||
|
||||
public slots:
|
||||
void setStartPage();
|
||||
QString getInitialPage();
|
||||
QString getPagePath(PageLoader::PageEnum page);
|
||||
|
||||
signals:
|
||||
void goToPage(PageLoader::PageEnum page, bool slide = true);
|
||||
void closePage();
|
||||
void goToPageHome();
|
||||
void showErrorMessage(QString errorMessage);
|
||||
|
||||
private:
|
||||
QSharedPointer<ServersModel> m_serversModel;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue