172 lines
8.8 KiB
QML
Executable File
172 lines
8.8 KiB
QML
Executable File
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 + "']");
|
|
}
|
|
}
|