moved handling of connection states from qml in connectionController
- added a check for already installed containers before installing the server/container - added a button to scan the server for installed containers - added separation for read/write and readonly servers for pageHome
This commit is contained in:
parent
3a264e6baf
commit
249be451f7
21 changed files with 466 additions and 245 deletions
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
#include "core/servercontroller.h"
|
||||
|
||||
ContainersModel::ContainersModel(std::shared_ptr<Settings> settings, QObject *parent) : m_settings(settings), QAbstractListModel(parent)
|
||||
ContainersModel::ContainersModel(std::shared_ptr<Settings> settings, QObject *parent)
|
||||
: m_settings(settings), QAbstractListModel(parent)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -21,25 +22,25 @@ bool ContainersModel::setData(const QModelIndex &index, const QVariant &value, i
|
|||
DockerContainer container = ContainerProps::allContainers().at(index.row());
|
||||
|
||||
switch (role) {
|
||||
case NameRole:
|
||||
// return ContainerProps::containerHumanNames().value(container);
|
||||
case DescRole:
|
||||
// return ContainerProps::containerDescriptions().value(container);
|
||||
case ConfigRole: //todo save to model also
|
||||
m_settings->setContainerConfig(m_currentlyProcessedServerIndex,
|
||||
container,
|
||||
value.toJsonObject());
|
||||
case ServiceTypeRole:
|
||||
// return ContainerProps::containerService(container);
|
||||
case DockerContainerRole:
|
||||
// return container;
|
||||
case IsInstalledRole:
|
||||
// return m_settings->containers(m_currentlyProcessedServerIndex).contains(container);
|
||||
case IsDefaultRole: {
|
||||
m_settings->setDefaultContainer(m_currentlyProcessedServerIndex, container);
|
||||
m_defaultContainerIndex = container;
|
||||
emit defaultContainerChanged();
|
||||
}
|
||||
case NameRole:
|
||||
// return ContainerProps::containerHumanNames().value(container);
|
||||
case DescRole:
|
||||
// return ContainerProps::containerDescriptions().value(container);
|
||||
case ConfigRole: {
|
||||
m_settings->setContainerConfig(m_currentlyProcessedServerIndex, container, value.toJsonObject());
|
||||
m_containers = m_settings->containers(m_currentlyProcessedServerIndex);
|
||||
}
|
||||
case ServiceTypeRole:
|
||||
// return ContainerProps::containerService(container);
|
||||
case DockerContainerRole:
|
||||
// return container;
|
||||
case IsInstalledRole:
|
||||
// return m_settings->containers(m_currentlyProcessedServerIndex).contains(container);
|
||||
case IsDefaultRole: {
|
||||
m_settings->setDefaultContainer(m_currentlyProcessedServerIndex, container);
|
||||
m_defaultContainerIndex = container;
|
||||
emit defaultContainerChanged();
|
||||
}
|
||||
}
|
||||
|
||||
emit dataChanged(index, index);
|
||||
|
|
@ -48,40 +49,30 @@ bool ContainersModel::setData(const QModelIndex &index, const QVariant &value, i
|
|||
|
||||
QVariant ContainersModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (!index.isValid() || index.row() < 0
|
||||
|| index.row() >= ContainerProps::allContainers().size()) {
|
||||
if (!index.isValid() || index.row() < 0 || index.row() >= ContainerProps::allContainers().size()) {
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
DockerContainer container = ContainerProps::allContainers().at(index.row());
|
||||
|
||||
switch (role) {
|
||||
case NameRole:
|
||||
return ContainerProps::containerHumanNames().value(container);
|
||||
case DescRole:
|
||||
return ContainerProps::containerDescriptions().value(container);
|
||||
case ConfigRole: {
|
||||
if (container == DockerContainer::None) return QJsonObject();
|
||||
return m_containers.value(container);
|
||||
case NameRole: return ContainerProps::containerHumanNames().value(container);
|
||||
case DescRole: return ContainerProps::containerDescriptions().value(container);
|
||||
case ConfigRole: {
|
||||
if (container == DockerContainer::None) {
|
||||
return QJsonObject();
|
||||
}
|
||||
case ServiceTypeRole:
|
||||
return ContainerProps::containerService(container);
|
||||
case DockerContainerRole:
|
||||
return container;
|
||||
case IsEasySetupContainerRole:
|
||||
return ContainerProps::isEasySetupContainer(container);
|
||||
case EasySetupHeaderRole:
|
||||
return ContainerProps::easySetupHeader(container);
|
||||
case EasySetupDescriptionRole:
|
||||
return ContainerProps::easySetupDescription(container);
|
||||
case IsInstalledRole:
|
||||
return m_containers.contains(container);
|
||||
case IsCurrentlyProcessedRole:
|
||||
return container == static_cast<DockerContainer>(m_currentlyProcessedContainerIndex);
|
||||
case IsDefaultRole:
|
||||
return container == m_defaultContainerIndex;
|
||||
case IsSupportedRole:
|
||||
return ContainerProps::isSupportedByCurrentPlatform(container);
|
||||
return m_containers.value(container);
|
||||
}
|
||||
case ServiceTypeRole: return ContainerProps::containerService(container);
|
||||
case DockerContainerRole: return container;
|
||||
case IsEasySetupContainerRole: return ContainerProps::isEasySetupContainer(container);
|
||||
case EasySetupHeaderRole: return ContainerProps::easySetupHeader(container);
|
||||
case EasySetupDescriptionRole: return ContainerProps::easySetupDescription(container);
|
||||
case IsInstalledRole: return m_containers.contains(container);
|
||||
case IsCurrentlyProcessedRole: return container == static_cast<DockerContainer>(m_currentlyProcessedContainerIndex);
|
||||
case IsDefaultRole: return container == m_defaultContainerIndex;
|
||||
case IsSupportedRole: return ContainerProps::isSupportedByCurrentPlatform(container);
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
|
|
@ -130,7 +121,7 @@ void ContainersModel::removeAllContainers()
|
|||
endResetModel();
|
||||
}
|
||||
|
||||
//todo process errors
|
||||
// todo process errors
|
||||
}
|
||||
|
||||
void ContainersModel::clearCachedProfiles()
|
||||
|
|
@ -141,7 +132,8 @@ void ContainersModel::clearCachedProfiles()
|
|||
}
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> ContainersModel::roleNames() const {
|
||||
QHash<int, QByteArray> ContainersModel::roleNames() const
|
||||
{
|
||||
QHash<int, QByteArray> roles;
|
||||
roles[NameRole] = "name";
|
||||
roles[DescRole] = "description";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue