added separation for read/write and readonly servers for pageSettingsServerProtocols, PageSettingsServerServices, PageSettingsServerData
- added fields validations for pageSetupWizardCredentials
This commit is contained in:
parent
249be451f7
commit
2ef53c6df9
22 changed files with 466 additions and 325 deletions
|
@ -78,7 +78,7 @@ QVariant ContainersModel::data(const QModelIndex &index, int role) const
|
|||
return QVariant();
|
||||
}
|
||||
|
||||
void ContainersModel::setCurrentlyProcessedServerIndex(int index)
|
||||
void ContainersModel::setCurrentlyProcessedServerIndex(const int index)
|
||||
{
|
||||
beginResetModel();
|
||||
m_currentlyProcessedServerIndex = index;
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
#include <QAbstractListModel>
|
||||
#include <QJsonObject>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "settings.h"
|
||||
#include "containers/containers_defs.h"
|
||||
#include "settings.h"
|
||||
|
||||
class ContainersModel : public QAbstractListModel
|
||||
{
|
||||
|
@ -44,7 +44,7 @@ public slots:
|
|||
DockerContainer getDefaultContainer();
|
||||
QString getDefaultContainerName();
|
||||
|
||||
void setCurrentlyProcessedServerIndex(int index);
|
||||
void setCurrentlyProcessedServerIndex(const int index);
|
||||
void setCurrentlyProcessedContainerIndex(int index);
|
||||
int getCurrentlyProcessedContainerIndex();
|
||||
|
||||
|
@ -57,7 +57,6 @@ protected:
|
|||
private:
|
||||
QMap<DockerContainer, QJsonObject> m_containers;
|
||||
|
||||
|
||||
int m_currentlyProcessedServerIndex;
|
||||
int m_currentlyProcessedContainerIndex;
|
||||
DockerContainer m_defaultContainerIndex;
|
||||
|
|
|
@ -5,6 +5,7 @@ ServersModel::ServersModel(std::shared_ptr<Settings> settings, QObject *parent)
|
|||
{
|
||||
m_servers = m_settings->serversArray();
|
||||
m_defaultServerIndex = m_settings->defaultServerIndex();
|
||||
m_currenlyProcessedServerIndex = m_defaultServerIndex;
|
||||
}
|
||||
|
||||
int ServersModel::rowCount(const QModelIndex &parent) const
|
||||
|
@ -28,10 +29,6 @@ bool ServersModel::setData(const QModelIndex &index, const QVariant &value, int
|
|||
m_servers.replace(index.row(), server);
|
||||
break;
|
||||
}
|
||||
case IsDefaultRole: {
|
||||
setDefaultServerIndex(index.row());
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
return true;
|
||||
}
|
||||
|
@ -62,6 +59,10 @@ QVariant ServersModel::data(const QModelIndex &index, int role) const
|
|||
case CredentialsLoginRole: return m_settings->serverCredentials(index.row()).userName;
|
||||
case IsDefaultRole: return index.row() == m_defaultServerIndex;
|
||||
case IsCurrentlyProcessedRole: return index.row() == m_currenlyProcessedServerIndex;
|
||||
case HasWriteAccess: {
|
||||
auto credentials = m_settings->serverCredentials(index.row());
|
||||
return (!credentials.userName.isEmpty() && !credentials.secretData.isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
|
@ -73,6 +74,13 @@ QVariant ServersModel::data(const int index, int role) const
|
|||
return data(modelIndex, role);
|
||||
}
|
||||
|
||||
void ServersModel::setDefaultServerIndex(const int index)
|
||||
{
|
||||
m_settings->setDefaultServer(index);
|
||||
m_defaultServerIndex = m_settings->defaultServerIndex();
|
||||
emit defaultServerIndexChanged();
|
||||
}
|
||||
|
||||
const int ServersModel::getDefaultServerIndex()
|
||||
{
|
||||
return m_defaultServerIndex;
|
||||
|
@ -83,10 +91,10 @@ const int ServersModel::getServersCount()
|
|||
return m_servers.count();
|
||||
}
|
||||
|
||||
void ServersModel::setCurrentlyProcessedServerIndex(int index)
|
||||
void ServersModel::setCurrentlyProcessedServerIndex(const int index)
|
||||
{
|
||||
m_currenlyProcessedServerIndex = index;
|
||||
emit currentlyProcessedServerIndexChanged();
|
||||
emit currentlyProcessedServerIndexChanged(m_currenlyProcessedServerIndex);
|
||||
}
|
||||
|
||||
int ServersModel::getCurrentlyProcessedServerIndex()
|
||||
|
@ -101,8 +109,7 @@ bool ServersModel::isDefaultServerCurrentlyProcessed()
|
|||
|
||||
bool ServersModel::isCurrentlyProcessedServerHasWriteAccess()
|
||||
{
|
||||
auto credentials = m_settings->serverCredentials(m_currenlyProcessedServerIndex);
|
||||
return (!credentials.userName.isEmpty() && !credentials.secretData.isEmpty());
|
||||
return qvariant_cast<bool>(data(m_currenlyProcessedServerIndex, HasWriteAccess));
|
||||
}
|
||||
|
||||
void ServersModel::addServer(const QJsonObject &server)
|
||||
|
@ -140,11 +147,6 @@ QHash<int, QByteArray> ServersModel::roleNames() const
|
|||
roles[CredentialsLoginRole] = "credentialsLogin";
|
||||
roles[IsDefaultRole] = "isDefault";
|
||||
roles[IsCurrentlyProcessedRole] = "isCurrentlyProcessed";
|
||||
roles[HasWriteAccess] = "hasWriteAccess";
|
||||
return roles;
|
||||
}
|
||||
|
||||
void ServersModel::setDefaultServerIndex(const int index)
|
||||
{
|
||||
m_settings->setDefaultServer(index);
|
||||
m_defaultServerIndex = m_settings->defaultServerIndex();
|
||||
}
|
||||
|
|
|
@ -5,13 +5,6 @@
|
|||
|
||||
#include "settings.h"
|
||||
|
||||
struct ServerModelContent
|
||||
{
|
||||
QString desc;
|
||||
QString address;
|
||||
bool isDefault;
|
||||
};
|
||||
|
||||
class ServersModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -22,7 +15,8 @@ public:
|
|||
CredentialsRole,
|
||||
CredentialsLoginRole,
|
||||
IsDefaultRole,
|
||||
IsCurrentlyProcessedRole
|
||||
IsCurrentlyProcessedRole,
|
||||
HasWriteAccess
|
||||
};
|
||||
|
||||
ServersModel(std::shared_ptr<Settings> settings, QObject *parent = nullptr);
|
||||
|
@ -33,14 +27,20 @@ public:
|
|||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
QVariant data(const int index, int role = Qt::DisplayRole) const;
|
||||
|
||||
Q_PROPERTY(int defaultIndex READ getDefaultServerIndex WRITE setDefaultServerIndex NOTIFY defaultServerIndexChanged)
|
||||
Q_PROPERTY(int currentlyProcessedIndex READ getCurrentlyProcessedServerIndex WRITE setCurrentlyProcessedServerIndex
|
||||
NOTIFY currentlyProcessedServerIndexChanged)
|
||||
|
||||
public slots:
|
||||
void setDefaultServerIndex(const int index);
|
||||
const int getDefaultServerIndex();
|
||||
bool isDefaultServerCurrentlyProcessed();
|
||||
|
||||
bool isCurrentlyProcessedServerHasWriteAccess();
|
||||
|
||||
const int getServersCount();
|
||||
|
||||
void setCurrentlyProcessedServerIndex(int index);
|
||||
void setCurrentlyProcessedServerIndex(const int index);
|
||||
int getCurrentlyProcessedServerIndex();
|
||||
|
||||
void addServer(const QJsonObject &server);
|
||||
|
@ -50,11 +50,10 @@ protected:
|
|||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
signals:
|
||||
void currentlyProcessedServerIndexChanged();
|
||||
void currentlyProcessedServerIndexChanged(const int index);
|
||||
void defaultServerIndexChanged();
|
||||
|
||||
private:
|
||||
void setDefaultServerIndex(const int index);
|
||||
|
||||
QJsonArray m_servers;
|
||||
|
||||
std::shared_ptr<Settings> m_settings;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue