diff --git a/client/ui/models/servers_model.cpp b/client/ui/models/servers_model.cpp index b8bfbbc5b..feaf1e8d4 100644 --- a/client/ui/models/servers_model.cpp +++ b/client/ui/models/servers_model.cpp @@ -15,6 +15,10 @@ ServersModel::ServersModel(std::shared_ptr settings, QObject *parent) auto defaultContainer = ContainerProps::containerFromString(m_servers.at(serverIndex).toObject().value(config_key::defaultContainer).toString()); emit ServersModel::defaultContainerChanged(defaultContainer); }); + connect(this, &ServersModel::currentlyProcessedServerIndexChanged, this, [this](const int serverIndex) { + auto defaultContainer = ContainerProps::containerFromString(m_servers.at(serverIndex).toObject().value(config_key::defaultContainer).toString()); + emit ServersModel::defaultContainerChanged(defaultContainer); + }); } int ServersModel::rowCount(const QModelIndex &parent) const @@ -269,6 +273,7 @@ void ServersModel::removeServer() if (m_settings->serversCount() == 0) { setDefaultServerIndex(-1); } + setCurrentlyProcessedServerIndex(m_defaultServerIndex); endResetModel(); } diff --git a/client/ui/qml/Components/HomeContainersListView.qml b/client/ui/qml/Components/HomeContainersListView.qml index 78ea93304..2c07ca65f 100644 --- a/client/ui/qml/Components/HomeContainersListView.qml +++ b/client/ui/qml/Components/HomeContainersListView.qml @@ -26,6 +26,22 @@ ListView { id: containersRadioButtonGroup } + Connections { + target: ServersModel + + function onCurrentlyProcessedServerIndexChanged() { + menuContent.checkCurrentItem() + } + } + + function checkCurrentItem() { + var item = menuContent.itemAtIndex(currentIndex) + if (item !== null) { + var radioButton = item.children[0].children[0] + radioButton.checked = true + } + } + delegate: Item { implicitWidth: rootWidth implicitHeight: content.implicitHeight diff --git a/client/ui/qml/Pages2/PageHome.qml b/client/ui/qml/Pages2/PageHome.qml index 8374dbc3b..5b44bc7cc 100644 --- a/client/ui/qml/Pages2/PageHome.qml +++ b/client/ui/qml/Pages2/PageHome.qml @@ -31,6 +31,7 @@ PageType { containersDropDown.rootButtonClickedFunction() } } + function onForceCloseDrawer() { buttonContent.state = "collapsed" } diff --git a/client/ui/qml/Pages2/PageSetupWizardInstalling.qml b/client/ui/qml/Pages2/PageSetupWizardInstalling.qml index 9811d87d5..1a3e7c07f 100644 --- a/client/ui/qml/Pages2/PageSetupWizardInstalling.qml +++ b/client/ui/qml/Pages2/PageSetupWizardInstalling.qml @@ -42,6 +42,7 @@ PageType { function onInstallServerFinished(finishedMessage) { if (!ConnectionController.isConnected) { ServersModel.setDefaultServerIndex(ServersModel.getServersCount() - 1); + ServersModel.currentlyProcessedIndex = ServersModel.defaultIndex } PageController.goToStartPage() diff --git a/client/ui/qml/Pages2/PageSetupWizardViewConfig.qml b/client/ui/qml/Pages2/PageSetupWizardViewConfig.qml index 65a6f319b..6df26fc06 100644 --- a/client/ui/qml/Pages2/PageSetupWizardViewConfig.qml +++ b/client/ui/qml/Pages2/PageSetupWizardViewConfig.qml @@ -26,6 +26,7 @@ PageType { function onImportFinished() { if (!ConnectionController.isConnected) { ServersModel.setDefaultServerIndex(ServersModel.getServersCount() - 1); + ServersModel.currentlyProcessedIndex = ServersModel.defaultIndex } PageController.goToStartPage()