diff --git a/client/ui/models/servers_model.cpp b/client/ui/models/servers_model.cpp index 1922e1882..ad9b00593 100644 --- a/client/ui/models/servers_model.cpp +++ b/client/ui/models/servers_model.cpp @@ -251,10 +251,9 @@ void ServersModel::addServer(const QJsonObject &server) void ServersModel::editServer(const QJsonObject &server) { - beginResetModel(); m_settings->editServer(m_currentlyProcessedServerIndex, server); - m_servers = m_settings->serversArray(); - endResetModel(); + m_servers.replace(m_currentlyProcessedServerIndex, m_settings->serversArray().at(m_currentlyProcessedServerIndex)); + emit dataChanged(index(m_currentlyProcessedServerIndex, 0), index(m_currentlyProcessedServerIndex, 0)); updateContainersModel(); } diff --git a/client/ui/qml/Components/HomeContainersListView.qml b/client/ui/qml/Components/HomeContainersListView.qml index 2c07ca65f..3043e97fa 100644 --- a/client/ui/qml/Components/HomeContainersListView.qml +++ b/client/ui/qml/Components/HomeContainersListView.qml @@ -30,7 +30,9 @@ ListView { target: ServersModel function onCurrentlyProcessedServerIndexChanged() { - menuContent.checkCurrentItem() + if (ContainersModel.getDefaultContainer()) { + menuContent.checkCurrentItem() + } } } @@ -76,9 +78,8 @@ ListView { } if (checked) { - ServersModel.setDefaultContainer(proxyContainersModel.mapToSource(index)) - containersDropDown.menuVisible = false + ServersModel.setDefaultContainer(proxyContainersModel.mapToSource(index)) } else { if (!isSupported && isInstalled) { PageController.showErrorMessage(qsTr("The selected protocol is not supported on the current platform"))