1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-28 23:42:51 -05:00

net: don't force singleActive on VPNs

fixes #574
This commit is contained in:
bbedward
2025-10-28 08:54:56 -04:00
parent 53507ef56b
commit 116c421492
3 changed files with 51 additions and 17 deletions

View File

@@ -219,9 +219,13 @@ Column {
{ {
if (NetworkService.wifiToggling) if (NetworkService.wifiToggling)
return "sync" return "sync"
if (NetworkService.networkStatus === "ethernet")
const status = NetworkService.networkStatus
if (status === "ethernet")
return "settings_ethernet" return "settings_ethernet"
if (NetworkService.networkStatus === "wifi") if (status === "vpn")
return NetworkService.ethernetConnected ? "settings_ethernet" : NetworkService.wifiSignalIcon
if (status === "wifi")
return NetworkService.wifiSignalIcon return NetworkService.wifiSignalIcon
if (NetworkService.wifiEnabled) if (NetworkService.wifiEnabled)
return "wifi_off" return "wifi_off"
@@ -266,9 +270,17 @@ Column {
{ {
if (NetworkService.wifiToggling) if (NetworkService.wifiToggling)
return NetworkService.wifiEnabled ? "Disabling WiFi..." : "Enabling WiFi..." return NetworkService.wifiEnabled ? "Disabling WiFi..." : "Enabling WiFi..."
if (NetworkService.networkStatus === "ethernet")
const status = NetworkService.networkStatus
if (status === "ethernet")
return "Ethernet" return "Ethernet"
if (NetworkService.networkStatus === "wifi" && NetworkService.currentWifiSSID) if (status === "vpn") {
if (NetworkService.ethernetConnected)
return "Ethernet"
if (NetworkService.wifiConnected && NetworkService.currentWifiSSID)
return NetworkService.currentWifiSSID
}
if (status === "wifi" && NetworkService.currentWifiSSID)
return NetworkService.currentWifiSSID return NetworkService.currentWifiSSID
if (NetworkService.wifiEnabled) if (NetworkService.wifiEnabled)
return "Not connected" return "Not connected"
@@ -298,9 +310,17 @@ Column {
{ {
if (NetworkService.wifiToggling) if (NetworkService.wifiToggling)
return "Please wait..." return "Please wait..."
if (NetworkService.networkStatus === "ethernet")
const status = NetworkService.networkStatus
if (status === "ethernet")
return "Connected" return "Connected"
if (NetworkService.networkStatus === "wifi") if (status === "vpn") {
if (NetworkService.ethernetConnected)
return "Connected"
if (NetworkService.wifiConnected)
return NetworkService.wifiSignalStrength > 0 ? NetworkService.wifiSignalStrength + "%" : "Connected"
}
if (status === "wifi")
return NetworkService.wifiSignalStrength > 0 ? NetworkService.wifiSignalStrength + "%" : "Connected" return NetworkService.wifiSignalStrength > 0 ? NetworkService.wifiSignalStrength + "%" : "Connected"
if (NetworkService.wifiEnabled) if (NetworkService.wifiEnabled)
return "Select network" return "Select network"
@@ -358,9 +378,13 @@ Column {
{ {
if (NetworkService.wifiToggling) if (NetworkService.wifiToggling)
return false return false
if (NetworkService.networkStatus === "ethernet")
const status = NetworkService.networkStatus
if (status === "ethernet")
return true return true
if (NetworkService.networkStatus === "wifi") if (status === "vpn")
return NetworkService.ethernetConnected || NetworkService.wifiConnected
if (status === "wifi")
return true return true
return NetworkService.wifiEnabled return NetworkService.wifiEnabled
} }

View File

@@ -31,10 +31,15 @@ BasePill {
return "sync" return "sync"
} }
if (NetworkService.networkStatus === "ethernet" || (NetworkService.networkStatus === "vpn" && NetworkService.ethernetConnected)) { const status = NetworkService.networkStatus
if (status === "ethernet") {
return "lan" return "lan"
} }
if (status === "vpn") {
return NetworkService.ethernetConnected ? "lan" : NetworkService.wifiSignalIcon
}
return NetworkService.wifiSignalIcon return NetworkService.wifiSignalIcon
} }
size: Theme.barIconSize(root.barThickness) size: Theme.barIconSize(root.barThickness)
@@ -125,22 +130,27 @@ BasePill {
name: { name: {
if (NetworkService.wifiToggling) { if (NetworkService.wifiToggling) {
return "sync"; return "sync"
} }
if (NetworkService.networkStatus === "ethernet" || (NetworkService.networkStatus === "vpn" && NetworkService.ethernetConnected)) { const status = NetworkService.networkStatus
return "lan"; if (status === "ethernet") {
return "lan"
} }
return NetworkService.wifiSignalIcon; if (status === "vpn") {
return NetworkService.ethernetConnected ? "lan" : NetworkService.wifiSignalIcon
}
return NetworkService.wifiSignalIcon
} }
size: Theme.barIconSize(root.barThickness) size: Theme.barIconSize(root.barThickness)
color: { color: {
if (NetworkService.wifiToggling) { if (NetworkService.wifiToggling) {
return Theme.primary; return Theme.primary
} }
return NetworkService.networkStatus !== "disconnected" ? Theme.primary : Theme.outlineButton; return NetworkService.networkStatus !== "disconnected" ? Theme.primary : Theme.outlineButton
} }
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
visible: root.showNetworkIcon && NetworkService.networkAvailable visible: root.showNetworkIcon && NetworkService.networkAvailable

View File

@@ -37,7 +37,7 @@ Singleton {
property var savedConnections: [] property var savedConnections: []
property var ssidToConnectionName: ({}) property var ssidToConnectionName: ({})
property var wifiSignalIcon: { property var wifiSignalIcon: {
if (!wifiConnected || networkStatus !== "wifi") { if (!wifiConnected) {
return "wifi_off" return "wifi_off"
} }
if (wifiSignalStrength >= 50) { if (wifiSignalStrength >= 50) {
@@ -763,7 +763,7 @@ Singleton {
}) })
} }
function connectVpn(uuidOrName, singleActive = true) { function connectVpn(uuidOrName, singleActive = false) {
if (!vpnAvailable || vpnIsBusy) return if (!vpnAvailable || vpnIsBusy) return
vpnIsBusy = true vpnIsBusy = true