import QtQuick 2.12 import QtQuick.Controls 2.12 // Shipheart_page est un composant au sens QML. Il commence donc par une majuscule. // Il peut être utilisé partout dans le projet. Page { id: page background: Rectangle { // Attention : Background ne peut avoir qu'un seul élément [a priori, pas complètement sûr...] => on créé un Rectangle de plus haut niveau et on met ensuite dedans ce qu'on veut... anchors.fill: parent color: shipheart_theme_couleur_fond_ecran Image { anchors.fill: parent fillMode: Image.Tile // fillMode: Image.PreserveAspectCrop source: shipheart_theme_fichier_fond_ecran visible: (shipheart_theme_fichier_fond_ecran !== "") } } //================================================================================================= // Fonction : Shipheart_clic // Cette fonction est normalement appelé à chaque appel d'un 'MouseArea.OnClick' //================================================================================================= function shipheart_clic() { emission_bip(); reload_economiseur(); } //===================================================================================== // Fonction : Vérifie si la configuration en cours nécessite l'émission d'un bip. // Si oui, met à jour le champ correspondant dans la BDD et fait une demande // de synchro pour que celle-ci soit prise en compte rapidmeent. // Reçoit : Rien // Retour : Rien //===================================================================================== function emission_bip() { if ((shipheart_bips !== "") && // Si shipheart_bips = "", il n'y a aucun bip à émettre... (shipheart_type_installation === shipheart_type_installation_shipbase)) // SDIR 317 : ... et si on est sur ShipRS, on n'émet pas de bips { bdd.requete_unique("UPDATE TB_Systeme SET Valeur='" + shipheart_bips + "/0/0/0' WHERE Nom='New_bip'"); synchro_bdd(shipheart_type_synchro_data); } return; } //================================================================================================= // Fonction : Réarmement économiseur //================================================================================================= function reload_economiseur() { var req, res; /* // La valeur est relue à chaque fois dans la BDD pour être certain d'avoir la dernière valeur : req = 'SELECT Valeur FROM TB_Configuration WHERE Nom LIKE "%Time_out_economiseur%" '; res = bdd.requete_unique(req); shipheart_compteur_economiseur = Number(res[0]); */ shipheart_compteur_economiseur = shipheart_time_out_economiseur; } //================================================================================================= // Fonction : Demande de mise en veille (on ou off) //================================================================================================= function mise_en_veille(veille) { if (shipheart_type_installation !== shipheart_type_installation_shipbase) return; // SDIR #251 if (veille === 0) // On sort toujours du mode veille si c'est demandé { bdd.requete_unique('UPDATE TB_Systeme SET Valeur=' + veille + ' WHERE Nom="Veille"'); synchro_bdd(shipheart_type_synchro_data); //console.log("Sortie de veille"); flag_economiseur_actif = false; } else { if ((veille === 1) && (get_validation_economiseur() === 1)) // On ne rentre en veille que si c'est demandé (le time-out a expiré ET l'économiseur est valide) { bdd.requete_unique('UPDATE TB_Systeme SET Valeur=' + veille + ' WHERE Nom="Veille"'); synchro_bdd(shipheart_type_synchro_data); flag_economiseur_actif = true; } //else console.log("Demande d'activation de l'économiseur alors qu'il est dévalidé") } } //================================================================================================= // Fonction : Change l'état de la validation économiseur //================================================================================================= function changer_validation_economiseur() { var req, res; var new_val; req = 'SELECT Valeur FROM TB_Configuration WHERE Nom LIKE "%Validation_economiseur%" '; res = bdd.requete_unique(req); if (Number(res[0]) === 0) new_val = '1'; else new_val = '0'; bdd.requete_unique('UPDATE TB_Configuration SET Valeur=' + new_val + ' WHERE Nom LIKE "%Validation_economiseur%" '); } //================================================================================================= // Fonction : Retourne l'état actuel de la validation de l'économiseur //================================================================================================= function get_validation_economiseur() { var req, res; req = 'SELECT Valeur FROM TB_Configuration WHERE Nom LIKE "%Validation_economiseur%" '; res = bdd.requete_unique(req); return(Number(res[0])); } //================================================================================================= // Fonction : Charge les paramètres du thème en cours //================================================================================================= function chargement_theme() { var req, res; // Récupération du paramètre 'TB_Configuration.Theme' req = 'SELECT Valeur FROM TB_Configuration WHERE Nom="Theme" '; res = bdd.requete_unique(req); // Vérifie que la n° de thème sélectionné est bien compatible avec les thèmes présents sur cette version (on peut imaginer qu'on en ait supprimé...) : if (Number(res[0]) >= shipheart_config_themes.length) { shipheart_theme = 0; // Valeur par défaut req = 'UPDATE TB_Configuration '; // Mise à jour dans la BDD pour les prochains démarrages req += ' SET Valeur="' + shipheart_theme + '" '; req += ' WHERE Nom="Theme" '; //console.log("Requête = " + req) bdd.requete_unique(req); } else shipheart_theme = Number(res[0]); // Cas normal // Mise à jour des paramètres d'affcihage liés au thème choisit : shipheart_theme_fichier_fond_ecran = shipheart_config_themes[shipheart_theme][shipheart_index_theme_fichier_fond_ecran]; shipheart_theme_couleur_fond_ecran = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_fond_ecran]; shipheart_couleur_fond_bouton_actif = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_fond_bouton_actif]; shipheart_couleur_texte_titre_1 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_texte_titre_1]; shipheart_couleur_texte_titre_2 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_texte_titre_2]; shipheart_couleur_texte_titre_3 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_texte_titre_3]; shipheart_couleur_fond_boite_dialogue_niveau_0 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_fond_boite_dialogue_niveau_0]; shipheart_couleur_fond_boite_dialogue_niveau_1 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_fond_boite_dialogue_niveau_1]; shipheart_couleur_fond_boite_dialogue_niveau_2 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_fond_boite_dialogue_niveau_2]; shipheart_couleur_texte_boite_dialogue_niveau_0 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_texte_boite_dialogue_niveau_0]; shipheart_couleur_texte_boite_dialogue_niveau_1 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_texte_boite_dialogue_niveau_1]; shipheart_couleur_texte_boite_dialogue_niveau_2 = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_texte_boite_dialogue_niveau_2]; shipheart_couleur_texte_slider = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_texte_slider]; shipheart_couleur_bordure_courbes = shipheart_config_themes[shipheart_theme][shipheart_index_theme_couleur_bordure_courbes]; //console.log("Thème d'affichage à utiliser = " + shipheart_theme + " [fichier = '" + shipheart_theme_fichier_fond_ecran + "' et couleur = '" + shipheart_theme_couleur_fond_ecran + "']"); } }