added a drawer to change the server name and moved the display of the exported config to a separate drawer
This commit is contained in:
parent
4224e8314b
commit
3a264e6baf
30 changed files with 276 additions and 159 deletions
|
@ -19,12 +19,23 @@ bool ServersModel::setData(const QModelIndex &index, const QVariant &value, int
|
|||
return false;
|
||||
}
|
||||
|
||||
QJsonObject server = m_servers.at(index.row()).toObject();
|
||||
|
||||
switch (role) {
|
||||
case IsDefaultRole: {
|
||||
m_settings->setDefaultServer(index.row());
|
||||
m_defaultServerIndex = m_settings->defaultServerIndex();
|
||||
}
|
||||
default: return true;
|
||||
case NameRole: {
|
||||
server.insert(config_key::description, value.toString());
|
||||
m_settings->editServer(index.row(), server);
|
||||
m_servers.replace(index.row(), server);
|
||||
break;
|
||||
}
|
||||
case IsDefaultRole: {
|
||||
m_settings->setDefaultServer(index.row());
|
||||
m_defaultServerIndex = m_settings->defaultServerIndex();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
emit dataChanged(index, index);
|
||||
|
@ -51,6 +62,8 @@ QVariant ServersModel::data(const QModelIndex &index, int role) const
|
|||
return server.value(config_key::hostName).toString();
|
||||
case CredentialsRole:
|
||||
return QVariant::fromValue(m_settings->serverCredentials(index.row()));
|
||||
case CredentialsLoginRole:
|
||||
return m_settings->serverCredentials(index.row()).userName;
|
||||
case IsDefaultRole:
|
||||
return index.row() == m_defaultServerIndex;
|
||||
case IsCurrentlyProcessedRole:
|
||||
|
@ -60,6 +73,12 @@ QVariant ServersModel::data(const QModelIndex &index, int role) const
|
|||
return QVariant();
|
||||
}
|
||||
|
||||
QVariant ServersModel::data(const int index, int role) const
|
||||
{
|
||||
QModelIndex modelIndex = this->index(index);
|
||||
return data(modelIndex, role);
|
||||
}
|
||||
|
||||
const int ServersModel::getDefaultServerIndex()
|
||||
{
|
||||
return m_defaultServerIndex;
|
||||
|
@ -85,11 +104,6 @@ bool ServersModel::isDefaultServerCurrentlyProcessed()
|
|||
return m_defaultServerIndex == m_currenlyProcessedServerIndex;
|
||||
}
|
||||
|
||||
ServerCredentials ServersModel::getCurrentlyProcessedServerCredentials()
|
||||
{
|
||||
return qvariant_cast<ServerCredentials>(data(index(m_currenlyProcessedServerIndex), CredentialsRole));
|
||||
}
|
||||
|
||||
void ServersModel::addServer(const QJsonObject &server)
|
||||
{
|
||||
beginResetModel();
|
||||
|
@ -121,6 +135,7 @@ QHash<int, QByteArray> ServersModel::roleNames() const {
|
|||
roles[NameRole] = "name";
|
||||
roles[HostNameRole] = "hostName";
|
||||
roles[CredentialsRole] = "credentials";
|
||||
roles[CredentialsLoginRole] = "credentialsLogin";
|
||||
roles[IsDefaultRole] = "isDefault";
|
||||
roles[IsCurrentlyProcessedRole] = "isCurrentlyProcessed";
|
||||
return roles;
|
||||
|
|
|
@ -19,6 +19,7 @@ public:
|
|||
NameRole = Qt::UserRole + 1,
|
||||
HostNameRole,
|
||||
CredentialsRole,
|
||||
CredentialsLoginRole,
|
||||
IsDefaultRole,
|
||||
IsCurrentlyProcessedRole
|
||||
};
|
||||
|
@ -29,6 +30,7 @@ public:
|
|||
|
||||
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
QVariant data(const int index, int role = Qt::DisplayRole) const;
|
||||
|
||||
public slots:
|
||||
const int getDefaultServerIndex();
|
||||
|
@ -38,7 +40,6 @@ public slots:
|
|||
|
||||
void setCurrentlyProcessedServerIndex(int index);
|
||||
int getCurrentlyProcessedServerIndex();
|
||||
ServerCredentials getCurrentlyProcessedServerCredentials();
|
||||
|
||||
void addServer(const QJsonObject &server);
|
||||
void removeServer();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue