mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-23 02:00:20 +07:00
update: separate XRaySubscriptionConfig from NativeServerConfig and fixed some bugs
This commit is contained in:
@@ -379,6 +379,9 @@ QString ServersUiController::getDefaultServerDescription(const ServerConfig& ser
|
||||
} else if (server.isApiV1()) {
|
||||
const ApiV1ServerConfig* apiV1 = server.as<ApiV1ServerConfig>();
|
||||
return apiV1 ? apiV1->description : QString();
|
||||
} else if (server.isXRayConfig()) {
|
||||
const XRaySubscriptionConfig *xray = server.as<XRaySubscriptionConfig>();
|
||||
return xray ? xray->configName.at(xray->currentConfig).toString() : server.description();
|
||||
} else {
|
||||
ServerCredentials credentials = m_serversController->getServerCredentials(index);
|
||||
if (!credentials.userName.isEmpty() && !credentials.secretData.isEmpty()) {
|
||||
@@ -461,27 +464,27 @@ QString ServersUiController::adDescription() const
|
||||
|
||||
void ServersUiController::setCurrentConfigIndex(const int index)
|
||||
{
|
||||
m_serversController->setCurrentConfigIndex(index);
|
||||
m_serversController->setCurrentConfigIndex(m_processedServerIndex, index);
|
||||
}
|
||||
|
||||
int ServersUiController::getCurrentConfigIndex() const
|
||||
{
|
||||
return m_serversController->getCurrentConfigIndex();
|
||||
return m_serversController->getCurrentConfigIndex(m_processedServerIndex);
|
||||
}
|
||||
|
||||
QString ServersUiController::getConfigString(const int index) const
|
||||
{
|
||||
return m_serversController->getConfigString(index);
|
||||
return m_serversController->getConfigString(m_processedServerIndex, index);
|
||||
}
|
||||
|
||||
QString ServersUiController::getConfigName(const int index) const
|
||||
{
|
||||
return m_serversController->getConfigName(index);
|
||||
return m_serversController->getConfigName(m_processedServerIndex, index);
|
||||
}
|
||||
|
||||
QJsonArray ServersUiController::getConfigNames() const
|
||||
{
|
||||
return m_serversController->getConfigNames();
|
||||
return m_serversController->getConfigNames(m_processedServerIndex);
|
||||
}
|
||||
|
||||
void ServersUiController::updateContainersModel()
|
||||
|
||||
@@ -98,7 +98,7 @@ QVariant ServersModel::data(const QModelIndex &index, int role) const
|
||||
}
|
||||
case ServerDescriptionRole: {
|
||||
auto description = getServerDescription(server, index.row());
|
||||
return configVersion ? description : description + server.hostName();
|
||||
return configVersion ? description : server.isXRayConfig() ? description : description + server.hostName();
|
||||
}
|
||||
case HostNameRole: return server.hostName();
|
||||
case CredentialsRole: return QVariant::fromValue(serverCredentials(index.row()));
|
||||
@@ -213,7 +213,7 @@ QVariant ServersModel::data(const QModelIndex &index, int role) const
|
||||
}
|
||||
case IsXRayConfigSelectionAvailableRole: {
|
||||
if (server.isXRayConfig()) {
|
||||
return server.as<NativeServerConfig>()->configString.has_value();
|
||||
return !server.as<XRaySubscriptionConfig>()->configString.isEmpty();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -257,6 +257,9 @@ QString ServersModel::getServerDescription(const ServerConfig &server, const int
|
||||
} else if (server.isApiV1()) {
|
||||
const ApiV1ServerConfig *apiV1 = server.as<ApiV1ServerConfig>();
|
||||
return apiV1 ? apiV1->description : server.description();
|
||||
} else if (server.isXRayConfig()) {
|
||||
const XRaySubscriptionConfig *xray = server.as<XRaySubscriptionConfig>();
|
||||
return xray ? xray->configName.at(xray->currentConfig).toString() : server.description();
|
||||
} else if (data(index, HasWriteAccessRole).toBool()) {
|
||||
QMap<DockerContainer, ContainerConfig> containers = server.containers();
|
||||
bool isDnsInstalled = containers.contains(DockerContainer::Dns);
|
||||
|
||||
@@ -68,7 +68,7 @@ ListViewType {
|
||||
text: name
|
||||
descriptionText: isServerFromGatewayApi && (isSubscriptionExpired || isSubscriptionExpiringSoon)
|
||||
? (isSubscriptionExpired ? qsTr("Subscription expired. Please renew") : qsTr("Subscription expiring soon"))
|
||||
: (isXRayConfigSelectionAvailable ? ServersUiController.getConfigName(ServersUiController.getCurrentConfigIndex()) : serverDescription)
|
||||
: serverDescription
|
||||
descriptionColor: isServerFromGatewayApi && (isSubscriptionExpired || isSubscriptionExpiringSoon)
|
||||
? (isSubscriptionExpired ? AmneziaStyle.color.vibrantRed : AmneziaStyle.color.goldenApricot)
|
||||
: AmneziaStyle.color.mutedGray
|
||||
|
||||
Reference in New Issue
Block a user