From d328739192eda591348bfa375e2af7d9fa474f9f Mon Sep 17 00:00:00 2001 From: Mitternacht822 Date: Fri, 1 Aug 2025 07:52:11 +0400 Subject: [PATCH] fix: add update model after clear profile (#1674) * fixed issue when ui was not getting update about clearing profile cache right after it * fixed the problem of not clearing the profile * refactored reload function in protolocolsModel * refactored the issue with signal connect in corecontroller --- client/core/controllers/coreController.cpp | 3 +++ client/ui/controllers/installController.cpp | 2 ++ client/ui/controllers/installController.h | 2 ++ 3 files changed, 7 insertions(+) diff --git a/client/core/controllers/coreController.cpp b/client/core/controllers/coreController.cpp index c8a5d9a3..de14d0c9 100644 --- a/client/core/controllers/coreController.cpp +++ b/client/core/controllers/coreController.cpp @@ -120,6 +120,9 @@ void CoreController::initControllers() connect(m_installController.get(), &InstallController::currentContainerUpdated, m_connectionController.get(), &ConnectionController::onCurrentContainerUpdated); // TODO remove this + connect(m_installController.get(), &InstallController::profileCleared, + m_protocolsModel.get(), &ProtocolsModel::updateModel); + m_importController.reset(new ImportController(m_serversModel, m_containersModel, m_settings)); m_engine->rootContext()->setContextProperty("ImportController", m_importController.get()); diff --git a/client/ui/controllers/installController.cpp b/client/ui/controllers/installController.cpp index 04b06eaf..ec22fc12 100755 --- a/client/ui/controllers/installController.cpp +++ b/client/ui/controllers/installController.cpp @@ -814,6 +814,8 @@ void InstallController::clearCachedProfile(QSharedPointer serv m_clientManagementModel->revokeClient(containerConfig, container, serverCredentials, serverIndex, serverController); emit cachedProfileCleared(tr("%1 cached profile cleared").arg(ContainerProps::containerHumanNames().value(container))); + QJsonObject updatedConfig = m_settings->containerConfig(serverIndex, container); + emit profileCleared(updatedConfig); } QRegularExpression InstallController::ipAddressPortRegExp() diff --git a/client/ui/controllers/installController.h b/client/ui/controllers/installController.h index 8e42b5b2..d18ba946 100644 --- a/client/ui/controllers/installController.h +++ b/client/ui/controllers/installController.h @@ -83,6 +83,8 @@ signals: void noInstalledContainers(); + void profileCleared(const QJsonObject &config); + private: void installServer(const DockerContainer container, const QMap &installedContainers, const ServerCredentials &serverCredentials, const QSharedPointer &serverController,