Merge pull request #396 from amnezia-vpn/bugfix/server-config-sync
bugfix/server config sync
This commit is contained in:
commit
d1ccde2a4b
5 changed files with 13 additions and 10 deletions
|
@ -288,6 +288,8 @@ void AmneziaApplication::initModels()
|
||||||
&ContainersModel::setCurrentlyProcessedServerIndex);
|
&ContainersModel::setCurrentlyProcessedServerIndex);
|
||||||
connect(m_serversModel.get(), &ServersModel::defaultServerIndexChanged, m_containersModel.get(),
|
connect(m_serversModel.get(), &ServersModel::defaultServerIndexChanged, m_containersModel.get(),
|
||||||
&ContainersModel::setCurrentlyProcessedServerIndex);
|
&ContainersModel::setCurrentlyProcessedServerIndex);
|
||||||
|
connect(m_containersModel.get(), &ContainersModel::containersModelUpdated, m_serversModel.get(),
|
||||||
|
&ServersModel::updateContainersConfig);
|
||||||
|
|
||||||
m_languageModel.reset(new LanguageModel(m_settings, this));
|
m_languageModel.reset(new LanguageModel(m_settings, this));
|
||||||
m_engine->rootContext()->setContextProperty("LanguageModel", m_languageModel.get());
|
m_engine->rootContext()->setContextProperty("LanguageModel", m_languageModel.get());
|
||||||
|
|
|
@ -22,10 +22,6 @@ bool ContainersModel::setData(const QModelIndex &index, const QVariant &value, i
|
||||||
DockerContainer container = ContainerProps::allContainers().at(index.row());
|
DockerContainer container = ContainerProps::allContainers().at(index.row());
|
||||||
|
|
||||||
switch (role) {
|
switch (role) {
|
||||||
case NameRole:
|
|
||||||
// return ContainerProps::containerHumanNames().value(container);
|
|
||||||
case DescriptionRole:
|
|
||||||
// return ContainerProps::containerDescriptions().value(container);
|
|
||||||
case ConfigRole: {
|
case ConfigRole: {
|
||||||
m_settings->setContainerConfig(m_currentlyProcessedServerIndex, container, value.toJsonObject());
|
m_settings->setContainerConfig(m_currentlyProcessedServerIndex, container, value.toJsonObject());
|
||||||
m_containers = m_settings->containers(m_currentlyProcessedServerIndex);
|
m_containers = m_settings->containers(m_currentlyProcessedServerIndex);
|
||||||
|
@ -35,19 +31,15 @@ bool ContainersModel::setData(const QModelIndex &index, const QVariant &value, i
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case ServiceTypeRole:
|
|
||||||
// return ContainerProps::containerService(container);
|
|
||||||
case DockerContainerRole:
|
|
||||||
// return container;
|
|
||||||
case IsInstalledRole:
|
|
||||||
// return m_settings->containers(m_currentlyProcessedServerIndex).contains(container);
|
|
||||||
case IsDefaultRole: { //todo remove
|
case IsDefaultRole: { //todo remove
|
||||||
m_settings->setDefaultContainer(m_currentlyProcessedServerIndex, container);
|
m_settings->setDefaultContainer(m_currentlyProcessedServerIndex, container);
|
||||||
m_defaultContainerIndex = container;
|
m_defaultContainerIndex = container;
|
||||||
emit defaultContainerChanged();
|
emit defaultContainerChanged();
|
||||||
}
|
}
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emit containersModelUpdated();
|
||||||
emit dataChanged(index, index);
|
emit dataChanged(index, index);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,6 +73,7 @@ protected:
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void defaultContainerChanged();
|
void defaultContainerChanged();
|
||||||
|
void containersModelUpdated();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QMap<DockerContainer, QJsonObject> m_containers;
|
QMap<DockerContainer, QJsonObject> m_containers;
|
||||||
|
|
|
@ -193,6 +193,12 @@ bool ServersModel::isDefaultServerConfigContainsAmneziaDns()
|
||||||
return primaryDns == protocols::dns::amneziaDnsIp;
|
return primaryDns == protocols::dns::amneziaDnsIp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ServersModel::updateContainersConfig()
|
||||||
|
{
|
||||||
|
auto server = m_settings->server(m_currentlyProcessedServerIndex);
|
||||||
|
m_servers.replace(m_currentlyProcessedServerIndex, server);
|
||||||
|
}
|
||||||
|
|
||||||
QHash<int, QByteArray> ServersModel::roleNames() const
|
QHash<int, QByteArray> ServersModel::roleNames() const
|
||||||
{
|
{
|
||||||
QHash<int, QByteArray> roles;
|
QHash<int, QByteArray> roles;
|
||||||
|
|
|
@ -59,6 +59,8 @@ public slots:
|
||||||
|
|
||||||
bool isDefaultServerConfigContainsAmneziaDns();
|
bool isDefaultServerConfigContainsAmneziaDns();
|
||||||
|
|
||||||
|
void updateContainersConfig();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QHash<int, QByteArray> roleNames() const override;
|
QHash<int, QByteArray> roleNames() const override;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue