From 819ffe14f0e84bd08b60362b672db3a1dd632f93 Mon Sep 17 00:00:00 2001 From: "Tom Dewey tom.dewey@raspberrypi.com" Date: Tue, 17 Oct 2023 16:35:28 +0100 Subject: [PATCH] qml: Use sensible defaults to clear Options --- src/OptionsPopup.qml | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/src/OptionsPopup.qml b/src/OptionsPopup.qml index a60ef1a..c333098 100644 --- a/src/OptionsPopup.qml +++ b/src/OptionsPopup.qml @@ -830,22 +830,46 @@ Window { function clearCustomizationFields() { - fieldHostname.clear() - fieldUserName.clear() + /* Bind copies of the lists */ + fieldTimezone.model = imageWriter.getTimezoneList() + fieldKeyboardLayout.model = imageWriter.getKeymapLayoutList() + fieldWifiCountry.model = imageWriter.getCountryList() + + fieldHostname.text = "raspberrypi" + fieldUserName.text = imageWriter.getCurrentUser() fieldUserPassword.clear() radioPubKeyAuthentication.checked = false radioPasswordAuthentication.checked = false fieldPublicKey.clear() - fieldWifiSSID.clear() - fieldWifiCountry.currentIndex = -1 - fieldWifiPassword.clear() - fieldTimezone.currentIndex = -1 - fieldKeyboardLayout.currentIndex = -1 + + /* Timezone Settings*/ + fieldTimezone.currentIndex = fieldTimezone.find(imageWriter.getTimezone()) + /* Lacking an easy cross-platform to fetch keyboard layout + from host system, just default to "gb" for people in + UK time zone for now, and "us" for everyone else */ + if (imageWriter.getTimezone() === "Europe/London") { + fieldKeyboardLayout.currentIndex = fieldKeyboardLayout.find("gb") + } else { + fieldKeyboardLayout.currentIndex = fieldKeyboardLayout.find("us") + } + chkSetUser.checked = false chkSSH.checked = false chkLocale.checked = false - chkWifi.checked = false chkWifiSSIDHidden.checked = false chkHostname.checked = false + + /* WiFi Settings */ + fieldWifiSSID.text = imageWriter.getSSID() + if (fieldWifiSSID.text.length) { + fieldWifiPassword.text = imageWriter.getPSK() + if (fieldWifiPassword.text.length) { + chkShowPassword.checked = false + if (Qt.platform.os == "osx") { + /* User indicated wifi must be prefilled */ + chkWifi.checked = true + } + } + } } }