Adaptation pour CM5 des accès Wifi

This commit is contained in:
2026-10-09 14:48:41 +02:00
parent afb80edd0b
commit 8c1d962471
4 changed files with 141 additions and 17 deletions
+67 -7
View File
@@ -39,6 +39,7 @@ Shipheart_page {
// Données :
property string ip_ap: ""
property int commande_sta: 0
// Modèles :
@@ -180,8 +181,9 @@ Shipheart_page {
width: parent.width
height: visible ? hauteur_ligne_formulaire : 0
color: "transparent"
visible: !flag_init && (champ_formulaire_Ap_commande.model.get(champ_formulaire_Ap_commande.currentIndex).valeur === 1)
//visible: false
visible: !flag_init &&
(champ_formulaire_Ap_commande.model.get(champ_formulaire_Ap_commande.currentIndex).valeur === 1) &&
(commande_sta === 0) // Si le mode STA est actif, le canal du mode AP suivra celui du mode STA....
Shipheart_formulaire_label {
text: qsTr("Canal")
@@ -226,6 +228,35 @@ Shipheart_page {
}
}
//-------------------------------------------------------------------------------
// Ligne de formulaire : Ap_partage
Rectangle {
width: parent.width
height: visible ? hauteur_ligne_formulaire : 0
color: "transparent"
visible: !flag_init &&
(champ_formulaire_Ap_commande.model.get(champ_formulaire_Ap_commande.currentIndex).valeur === 1) &&
(commande_sta === 1) // Si le mode STA est inactif, le partage n'a pas de sens...
//visible: false
Shipheart_formulaire_label {
text: qsTr("Partage accès STA")
width: parent.width * pourcentage_largeur_labels_formulaire
}
Shipheart_formulaire_combobox {
id: champ_formulaire_Ap_partage
model: ListModel { }
width: parent.width * (1 - pourcentage_largeur_labels_formulaire)
onActivated: {
shipheart_clic();
}
}
Shipheart_formulaire_ligne_separation {
haut_bas_hautbas: shipheart_formulaire_ligne_separation_basse
}
}
}
}
@@ -366,8 +397,16 @@ Shipheart_page {
var commande_ap;
var mode;
var ap_canal;
var ap_partage;
//---------------------------------------------------------------------------------------
// Commande_sta:
req = 'SELECT Valeur FROM TB_Configuration WHERE Nom="Wifi_sta_cde" ';
res = bdd.requete_unique(req);
commande_sta = Number(res[0]);
//console.log("Etat de la commande STA = " + commande_sta);
//---------------------------------------------------------------------------------------
// Commande AP :
req = 'SELECT Valeur FROM TB_Configuration WHERE Nom="Wifi_ap_cde" ';
@@ -454,6 +493,21 @@ Shipheart_page {
res = bdd.requete_unique(req);
ip_ap = res[0];
//---------------------------------------------------------------------------------------
// Partage AP :
req = 'SELECT Valeur FROM TB_Configuration WHERE Nom="Wifi_ap_partage_internet" ';
res = bdd.requete_unique(req);
ap_partage = Number(res[0]);
champ_formulaire_Ap_partage.model.clear();
champ_formulaire_Ap_partage.model.append({"valeur": 0, "texte": qsTr("Off") });
champ_formulaire_Ap_partage.model.append({"valeur": 1, "texte": qsTr("On") });
// Positionnement de l'index sur la valeur en cours :
i = recherche_index_valeur_modele(ap_partage, champ_formulaire_Ap_partage.model, "ap_partage");
if (i === -1) champ_formulaire_Ap_partage.currentIndex = recherche_index_valeur_modele(1, champ_formulaire_Ap_partage.model, "ap_partage");
else champ_formulaire_Ap_partage.currentIndex = i;
flag_init = false; // Indique que l'init est terminée
}
@@ -483,14 +537,13 @@ Shipheart_page {
// Retourne une chaine vide si Ok, le message d'erreur si NOK
//=============================================================================================================
function check_saisie()
{
{
if (champ_formulaire_Ap_commande.model.get(champ_formulaire_Ap_commande.currentIndex).valeur > 0)
{
var liste_caracteres_autorisés_ssid_ap = "-."; // En plus des chiffres et des lettres majuscules et minuscules
var regex_ssid_ap = new RegExp("(^[0-9A-Za-z]+$)");
var liste_caracteres_autorisés_pwd_ap = "-_./="; // En plus des chiffres et des lettres majuscules et minuscules
var regex_pwd_ap = new RegExp("(^[0-9A-Za-z" + liste_caracteres_autorisés_pwd_ap + "]+$)");
var regex_ssid_ap = new RegExp("^[0-9A-Za-z" + echapper_regex(liste_caracteres_autorisés_ssid_ap) + "]+$");
var liste_caracteres_autorisés_pwd_ap = "-_./="; // En plus des chiffres et des lettres majuscules et minuscules
var regex_pwd_ap = new RegExp("^[0-9A-Za-z" + echapper_regex(liste_caracteres_autorisés_pwd_ap) + "]+$");
if ((champ_formulaire_Ap_ssid.text.length < 1) || (champ_formulaire_Ap_ssid.text.length > 32)) return(qsTr("Le nom du réseau (SSID) doit comprendre entre 1 et 32 caractères. <br />Merci d'entrer un nom valide."));
if ((champ_formulaire_Ap_pwd.text.length < 8) || (champ_formulaire_Ap_pwd.text.length > 63)) return(qsTr("Le mot de passe d'accès au réseau doit comprendre entre 8 et 63 caractères. <br />Merci d'entrer un mot de passe valide."));
@@ -508,6 +561,11 @@ Shipheart_page {
return("");
}
function echapper_regex(liste)
{
return liste.replace(/[-\]\\^]/g, "\\$&"); // '-', ']', '\' et '^' ont un sens entre crochets
}
//=============================================================================================================
// Mise à jour des valeurs saisies
//=============================================================================================================
@@ -524,6 +582,8 @@ Shipheart_page {
bdd.requete_unique(req);
req = 'UPDATE TB_Configuration SET Valeur="' + champ_formulaire_Ap_canal.model.get(champ_formulaire_Ap_canal.currentIndex).valeur + '" WHERE Nom="Wifi_ap_canal" ';
bdd.requete_unique(req);
req = 'UPDATE TB_Configuration SET Valeur="' + champ_formulaire_Ap_partage.model.get(champ_formulaire_Ap_partage.currentIndex).valeur + '" WHERE Nom="Wifi_ap_partage_internet" ';
bdd.requete_unique(req);
// Demande de rechargement de la config du Wifi :
req = 'UPDATE TB_Configuration SET Valeur=1 WHERE Nom="Wifi_new_config" ';