1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-27 06:52:50 -05:00

General code cleanups

This commit is contained in:
bbedward
2025-08-02 16:18:12 -04:00
parent 2cf7497324
commit 599118c63e
68 changed files with 102 additions and 1241 deletions

View File

@@ -14,13 +14,11 @@ Item {
property var wifiPasswordModalRef: wifiPasswordModal
property var networkInfoModalRef: networkInfoModal
// Properly sorted WiFi networks with connected networks first
property var sortedWifiNetworks: {
if (!NetworkService.wifiAvailable || !NetworkService.wifiEnabled) {
return [];
}
// Explicitly reference both arrays to ensure reactivity
var allNetworks = NetworkService.wifiNetworks;
var savedNetworks = NetworkService.savedWifiNetworks;
var currentSSID = NetworkService.currentWifiSSID;
@@ -29,32 +27,25 @@ Item {
var networks = [...allNetworks];
// Update connected status, saved status and signal strength based on current state
networks.forEach(function(network) {
network.connected = (network.ssid === currentSSID);
// Update saved status based on savedWifiNetworks
network.saved = savedNetworks.some(function(saved) {
return saved.ssid === network.ssid;
});
// Use current connection's signal strength for connected network
if (network.connected && signalStrength) {
network.signalStrength = signalStrength;
}
});
// Sort: connected networks first, then by signal strength
networks.sort(function(a, b) {
// Connected networks always come first
if (a.connected && !b.connected) return -1;
if (!a.connected && b.connected) return 1;
// If both connected or both not connected, sort by signal strength
return b.signal - a.signal;
});
return networks;
}
// Force refresh of sortedWifiNetworks when networks are updated
property int forceRefresh: 0
Connections {
@@ -64,13 +55,11 @@ Item {
}
}
// Auto-enable WiFi auto-refresh when network tab is visible
Component.onCompleted: {
NetworkService.addRef();
NetworkService.autoRefreshEnabled = true;
if (NetworkService.wifiEnabled)
NetworkService.scanWifi();
// Start smart monitoring
wifiMonitorTimer.start();
}
@@ -79,18 +68,15 @@ Item {
NetworkService.autoRefreshEnabled = false;
}
// Two-column layout for WiFi and Ethernet (WiFi on left, Ethernet on right)
Row {
anchors.fill: parent
spacing: Theme.spacingM
// WiFi Column (left side)
Column {
width: (parent.width - Theme.spacingM) / 2
height: parent.height
spacing: Theme.spacingS
// WiFi Content in Flickable
Flickable {
width: parent.width
height: parent.height - 30
@@ -106,7 +92,6 @@ Item {
width: parent.width
spacing: Theme.spacingM
// Current WiFi connection status card
WiFiCard {
refreshTimer: refreshTimer
}
@@ -118,13 +103,11 @@ Item {
}
}
// Ethernet Column (right side)
Column {
width: (parent.width - Theme.spacingM) / 2
height: parent.height
spacing: Theme.spacingS
// Ethernet Content in Flickable
Flickable {
width: parent.width
height: parent.height - 30
@@ -140,7 +123,6 @@ Item {
width: parent.width
spacing: Theme.spacingM
// Ethernet connection status card (matching WiFi height)
EthernetCard {
}
}
@@ -152,7 +134,6 @@ Item {
}
}
// WiFi disabled message spanning across both columns
Rectangle {
anchors.top: parent.top
anchors.topMargin: 100
@@ -190,14 +171,12 @@ Item {
}
}
// WiFi networks spanning across both columns when WiFi is enabled
WiFiNetworksList {
wifiContextMenuWindow: wifiContextMenuWindow
sortedWifiNetworks: networkTab.sortedWifiNetworks
wifiPasswordModalRef: networkTab.wifiPasswordModalRef
}
// Timer for refreshing network status after WiFi toggle
Timer {
id: refreshTimer
interval: 2000
@@ -212,18 +191,13 @@ Item {
}
}
// Auto-refresh when WiFi state changes
Connections {
target: NetworkService
function onWifiEnabledChanged() {
if (NetworkService.wifiEnabled && visible) {
// When WiFi is enabled, scan and update info (only if tab is visible)
// Add a small delay to ensure WiFi service is ready
wifiScanDelayTimer.start();
// Start monitoring when WiFi comes back on
wifiMonitorTimer.start();
} else {
// When WiFi is disabled, clear all cached WiFi data
NetworkService.currentWifiSSID = "";
NetworkService.wifiSignalStrength = "excellent";
NetworkService.wifiNetworks = [];
@@ -232,13 +206,11 @@ Item {
NetworkService.connectingSSID = "";
NetworkService.isScanning = false;
NetworkService.refreshNetworkStatus();
// Stop monitoring when WiFi is off
wifiMonitorTimer.stop();
}
}
}
// Delayed WiFi scan timer to ensure service is ready
Timer {
id: wifiScanDelayTimer
interval: 1500
@@ -249,14 +221,12 @@ Item {
if (!NetworkService.isScanning) {
NetworkService.scanWifi();
} else {
// If still scanning, try again in a bit
wifiRetryTimer.start();
}
}
}
}
// Retry timer for when WiFi is still scanning
Timer {
id: wifiRetryTimer
interval: 2000
@@ -271,7 +241,6 @@ Item {
}
}
// Smart WiFi monitoring - only runs when tab visible and conditions met
Timer {
id: wifiMonitorTimer
interval: 8000 // Check every 8 seconds
@@ -279,21 +248,17 @@ Item {
repeat: true
onTriggered: {
if (!visible || !NetworkService.wifiEnabled) {
// Stop monitoring when not needed
running = false;
return;
}
// Monitor connection changes and refresh networks when disconnected
var shouldScan = false;
var reason = "";
// Always scan if not connected to WiFi
if (NetworkService.networkStatus !== "wifi") {
shouldScan = true;
reason = "not connected to WiFi";
}
// Also scan occasionally even when connected to keep networks fresh
else if (NetworkService.wifiNetworks.length === 0) {
shouldScan = true;
reason = "no networks cached";
@@ -305,7 +270,6 @@ Item {
}
}
// Monitor tab visibility to start/stop smart monitoring
onVisibleChanged: {
if (visible && NetworkService.wifiEnabled) {
wifiMonitorTimer.start();
@@ -314,7 +278,6 @@ Item {
}
}
// WiFi Context Menu Window
WiFiContextMenu {
id: wifiContextMenuWindow
parentItem: networkTab
@@ -322,7 +285,6 @@ Item {
networkInfoModalRef: networkTab.networkInfoModalRef
}
// Background MouseArea to close the context menu
MouseArea {
anchors.fill: parent
visible: wifiContextMenuWindow.visible
@@ -336,7 +298,6 @@ Item {
width: wifiContextMenuWindow.width
height: wifiContextMenuWindow.height
onClicked: {
// Prevent clicks on menu from closing it
}
}
}