From 32477eb98987a6a44f781cc389f293ad7d88a3ee Mon Sep 17 00:00:00 2001 From: MrMirDan Date: Thu, 26 Feb 2026 16:19:18 +0200 Subject: [PATCH] update: editServerWithData --- client/ui/controllers/importController.cpp | 7 +++---- client/ui/controllers/importController.h | 2 +- client/ui/models/servers_model.cpp | 5 +++-- client/ui/models/servers_model.h | 4 ++-- client/ui/qml/Pages2/PageSettingsXRayAvailableConfigs.qml | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/client/ui/controllers/importController.cpp b/client/ui/controllers/importController.cpp index f2c7d7850..3e6414030 100644 --- a/client/ui/controllers/importController.cpp +++ b/client/ui/controllers/importController.cpp @@ -133,7 +133,7 @@ bool ImportController::importLink(const QUrl &url) for (auto it = m_config.begin(); it != m_config.end(); ++it) { serverConfig.insert(it.key(), it.value()); } - // TODO: proper name instead of XRaySubLink Test + serverConfig.insert(config_key::description, m_settings->nextAvailableServerName()); serverConfig.insert("xray_subscription_config", configsArray); serverConfig.insert("xray_subscription_config_current", 0); @@ -143,8 +143,7 @@ bool ImportController::importLink(const QUrl &url) return true; } -// TODO: remove configIndex and fix bug with "xray_subscription_config_current" value saving -bool ImportController::editServerConfigWithData(QString data, int serverIndex, int configIndex) +bool ImportController::editServerConfigWithData(QString data, int serverIndex) { m_maliciousWarningText.clear(); @@ -158,7 +157,7 @@ bool ImportController::editServerConfigWithData(QString data, int serverIndex, i } serverConfig.insert(config_key::description, serverCurrentConfig.value(config_key::description)); serverConfig.insert("xray_subscription_config", serverCurrentConfig.value("xray_subscription_config")); - serverConfig.insert("xray_subscription_config_current", configIndex); + serverConfig.insert("xray_subscription_config_current", m_serversModel->getCurrentConfigIndex()); m_serversModel->editServer(serverConfig, serverIndex); diff --git a/client/ui/controllers/importController.h b/client/ui/controllers/importController.h index 80e76cac6..1b6e698c7 100644 --- a/client/ui/controllers/importController.h +++ b/client/ui/controllers/importController.h @@ -34,7 +34,7 @@ public slots: bool importLink(const QUrl &url); bool isValidBase64(const QByteArray &input); QByteArray base64Decode(const QByteArray &input); - bool editServerConfigWithData(QString data, int serverIndex, int configIndex); + bool editServerConfigWithData(QString data, int serverIndex); bool extractConfigFromFile(const QString &fileName); bool extractConfigFromData(QString data); bool extractConfigFromQr(const QByteArray &data); diff --git a/client/ui/models/servers_model.cpp b/client/ui/models/servers_model.cpp index 3496a837e..f58e97d82 100644 --- a/client/ui/models/servers_model.cpp +++ b/client/ui/models/servers_model.cpp @@ -343,16 +343,17 @@ const ServerCredentials ServersModel::getServerCredentials(const int index) return serverCredentials(index); } -int ServersModel::getCurrentConfigIndex() +const int ServersModel::getCurrentConfigIndex() { const QJsonObject server = m_servers.at(m_defaultServerIndex).toObject(); return server.value(configKey::xraySubscriptionConfigCurrent).toInt(); } -void ServersModel::setCurrentConfigIndex(const int &index) +void ServersModel::setCurrentConfigIndex(const int index) { QJsonObject server = m_servers.at(m_defaultServerIndex).toObject(); server.insert(configKey::xraySubscriptionConfigCurrent, index); + m_servers[m_defaultServerIndex] = server; } const QString ServersModel::getConfigName(const int &index) diff --git a/client/ui/models/servers_model.h b/client/ui/models/servers_model.h index b9643a8d2..801ac4231 100644 --- a/client/ui/models/servers_model.h +++ b/client/ui/models/servers_model.h @@ -120,8 +120,8 @@ public slots: const ServerCredentials getProcessedServerCredentials(); const ServerCredentials getServerCredentials(const int index); - int getCurrentConfigIndex(); - void setCurrentConfigIndex(const int &index); + const int getCurrentConfigIndex(); + void setCurrentConfigIndex(const int index); const QString getConfigName(const int &index); const QJsonArray getConfigNames(); const QString getConfigString(const int &index); diff --git a/client/ui/qml/Pages2/PageSettingsXRayAvailableConfigs.qml b/client/ui/qml/Pages2/PageSettingsXRayAvailableConfigs.qml index cf39611b2..5fd087fd9 100644 --- a/client/ui/qml/Pages2/PageSettingsXRayAvailableConfigs.qml +++ b/client/ui/qml/Pages2/PageSettingsXRayAvailableConfigs.qml @@ -124,7 +124,7 @@ PageType { if (index !== ServersModel.getCurrentConfigIndex()) { PageController.showBusyIndicator(true) ServersModel.setCurrentConfigIndex(index) - ImportController.editServerConfigWithData(ServersModel.getConfigString(index), ServersModel.getProcessedServerIndex(), index) + ImportController.editServerConfigWithData(ServersModel.getConfigString(index), ServersModel.getProcessedServerIndex()) PageController.showBusyIndicator(false) } }