Import initial du projet shipheart_cm5
This commit is contained in:
@@ -0,0 +1,282 @@
|
||||
//========================================================================================================================================================================
|
||||
// HOME_ATTENTE.QML
|
||||
// Ce fichier affiche un fond d'écran standard mais avec rien dedans. Il est utilisé au démarrage, pour attendre que l'ApplicationWindow soit prête
|
||||
// et que l'accès à la BDD permette de décider quelle page d'accueil lancer.
|
||||
// Sans cette page, la StackView affiche une page toute blanche pendant 1-2s avant que la première Home page soit chargée...
|
||||
//========================================================================================================================================================================
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
import qt.koriolan.shipheart 1.0
|
||||
|
||||
|
||||
|
||||
Shipheart_page {
|
||||
id: page_home_attente
|
||||
|
||||
|
||||
//==============================================================
|
||||
// Recherche de la Home Page à utiliser :
|
||||
//==============================================================
|
||||
Timer {
|
||||
id: timer_recherche_home_page
|
||||
interval: 300
|
||||
running: true
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
|
||||
console.log("Adresse de ShipBase = " + AppInfo.adresse_shipbase)
|
||||
console.log("Etat de la connexion à la BDD = " + AppInfo.etat_connexion_bdd)
|
||||
console.log("Type d'installation = " + AppInfo.type_installation)
|
||||
console.log("Taille de l'écran = " + AppInfo.taille_ecran)
|
||||
|
||||
//----------------------------------------------------
|
||||
// Valeurs correspondant au type d'installation :
|
||||
//----------------------------------------------------
|
||||
switch (Number(AppInfo.type_installation))
|
||||
{
|
||||
default:
|
||||
case shipheart_type_installation_shipbase:
|
||||
shipheart_type_installation = shipheart_type_installation_shipbase;
|
||||
break;
|
||||
|
||||
case shipheart_type_installation_ecran_deporte:
|
||||
switch (Number(AppInfo.taille_ecran))
|
||||
{
|
||||
default:
|
||||
case 7:
|
||||
shipheart_type_installation = shipheart_type_installation_ecran_deporte_7_pouces;
|
||||
break;
|
||||
case 10:
|
||||
shipheart_type_installation = shipheart_type_installation_ecran_deporte_10_pouces;
|
||||
break;
|
||||
case 22:
|
||||
shipheart_type_installation = shipheart_type_installation_ecran_deporte_22_pouces;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
console.log("Type d'installation = " + shipheart_type_installation)
|
||||
//shipheart_type_installation = shipheart_type_installation_shipbase
|
||||
//shipheart_type_installation = shipheart_type_installation_ecran_deporte_22_pouces
|
||||
|
||||
// Valeurs par défaut :
|
||||
shipheart_largeur_page = 1280
|
||||
shipheart_hauteur_page = 800
|
||||
shipheart_hauteur_bandeau_haut = 60
|
||||
shipheart_hauteur_titre_2 = 50
|
||||
shipheart_hauteur_bandeau_bas = 80
|
||||
shipheart_hauteur_clavier = 305
|
||||
|
||||
|
||||
//----------------------------------------------------
|
||||
// Cas où la connexion à la BDD n'a pas été possible :
|
||||
//----------------------------------------------------
|
||||
if ((AppInfo.etat_connexion_bdd === 0) && (Number(AppInfo.type_installation) === shipheart_type_installation_ecran_deporte))
|
||||
{
|
||||
stackView.push("config_shiprs.qml", {"connexion_impossible": true})
|
||||
timer_recherche_home_page.stop(); // Arret du timer car il n'est plus utile maintenant
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//----------------------------------------------------
|
||||
// Paramètres spécifiques dans le cas des ShipRS :
|
||||
// NB il est important de ne PAS faire ce traitement avant l'appel
|
||||
// à 'connexion_impossible.qml' car, sinon, on peut se trouver dans une
|
||||
// config de 22" (par exemple) et ne plus avoir accès aux boutons de
|
||||
// configuration !!
|
||||
//----------------------------------------------------
|
||||
switch (shipheart_type_installation)
|
||||
{
|
||||
//---------------------------------------------------------------------------
|
||||
case shipheart_type_installation_ecran_deporte_7_pouces:
|
||||
shipheart_largeur_page = 1280;
|
||||
shipheart_hauteur_page = 800;
|
||||
synchro_repertoires_shiprs();
|
||||
break;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
case shipheart_type_installation_ecran_deporte_10_pouces:
|
||||
shipheart_largeur_page = 1280; // Spec de l'écran DENSITRON de ShipBase
|
||||
shipheart_hauteur_page = 800; // Spec de l'écran DENSITRON de ShipBase
|
||||
synchro_repertoires_shiprs();
|
||||
break;
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
case shipheart_type_installation_ecran_deporte_22_pouces:
|
||||
shipheart_largeur_page = 1920;
|
||||
shipheart_hauteur_page = 1080;
|
||||
synchro_repertoires_shiprs();
|
||||
break;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
default: // Dans ce cas, ce sont les valeurs par défaut qui sont conservées.
|
||||
case shipheart_type_installation_shipbase:
|
||||
break;
|
||||
}
|
||||
|
||||
//----------------------------------------------------
|
||||
// Recherche de la version de ShipBase :
|
||||
//----------------------------------------------------
|
||||
init_shipheart_version_cm();
|
||||
|
||||
//----------------------------------------------------
|
||||
// Recherche du thème d'affichage :
|
||||
//----------------------------------------------------
|
||||
init_shipheart_theme();
|
||||
|
||||
|
||||
//----------------------------------------------------
|
||||
// Première page à afficher selon le client :
|
||||
//----------------------------------------------------
|
||||
var shipheart_nom_initial_page = "";
|
||||
switch (Number(init_shipheart_specifique_client()))
|
||||
{
|
||||
//---------------------------------
|
||||
default:
|
||||
case shipheart_specifique_client_tous:
|
||||
shipheart_nom_initial_page = "qrc:/home_accueil.qml"
|
||||
break;
|
||||
|
||||
//---------------------------------
|
||||
case shipheart_specifique_client_suncy:
|
||||
shipheart_nom_initial_page = "qrc:/home_suncy.qml";
|
||||
break;
|
||||
}
|
||||
|
||||
if ((shipheart_generation_shipbase != shipheart_generation_shipbase_inconnue) && // A priori, ne devrait pas arriver mais si on n'a pas trouvé, on va reommencer la recherche après une période de timer.
|
||||
(shipheart_nom_initial_page !== ""))
|
||||
{
|
||||
timer_recherche_home_page.stop(); // Arret du timer car il n'est plus utile maintenant
|
||||
stackView.push(shipheart_nom_initial_page)
|
||||
//console.log("La Home Page sélectionnée est '" + shipheart_nom_initial_page + "'")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================
|
||||
// Réactivation de la recherche lors d'un retour sur cette page :
|
||||
//==============================================================
|
||||
StackView.onActivated: {
|
||||
//console.log("!!! Page Home_attente activée")
|
||||
timer_recherche_home_page.start(); // Relance le timer pour faire une nouvelle recherche
|
||||
}
|
||||
|
||||
//==============================================================
|
||||
// Zone d'affichage :
|
||||
//==============================================================
|
||||
Rectangle {
|
||||
x: 0
|
||||
y: 0
|
||||
width: 5000 // Permet d'être qûr qu'on couvre tout l'écran, quel qu'il soit
|
||||
height: 5000 // Permet d'être qûr qu'on couvre tout l'écran
|
||||
color: "transparent" // C'est la ligne importante qui permet de ne pas avoir un "flash' blanc au démarrage
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// Fonction : Récpère dans la BDD la valeur de 'Specifique_client' dans
|
||||
// TB_Configuration. sépare chaque champs (séparés par des ';').
|
||||
// Met à jour la propriété globale 'shipheart_specifique_client'
|
||||
// avec toutes les valeurs. Renvoi la première.
|
||||
// Reçoit : Rien
|
||||
// Retour : La valeur de 'shipheart_specifique_client[0]'
|
||||
//============================================================================
|
||||
function init_shipheart_specifique_client()
|
||||
{
|
||||
var req, res
|
||||
|
||||
// Récupération du paramètre 'TB_Configuration.Specifique_client'
|
||||
req = 'SELECT Valeur FROM TB_Configuration WHERE Nom="Specifique_client" ';
|
||||
res = bdd.requete_unique(req);
|
||||
|
||||
shipheart_specifique_client = res[0].split(';') // Mémorisation de l'ensemble du tableau
|
||||
|
||||
return(shipheart_specifique_client[0]); // Renvoi de la première valeur
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// Fonction : Récupère dans la BDD la valeur de 'Theme' dans
|
||||
// TB_Configuration et met à jour la propriété globale 'shipheart_theme'.
|
||||
// Reçoit : Rien
|
||||
// Retour : Rien
|
||||
//============================================================================
|
||||
function init_shipheart_theme()
|
||||
{
|
||||
var req, res;
|
||||
var nb;
|
||||
|
||||
// Chargement du thème demandé en config :
|
||||
chargement_theme();
|
||||
|
||||
// Récupération du paramètre 'TB_Configuration.Fichier_image_accueil'
|
||||
req = 'SELECT Valeur FROM TB_Configuration WHERE Nom="Fichier_image_accueil" ';
|
||||
//console.log("Requête = [ " + req + "; ]");
|
||||
nb = bdd.requete(req);
|
||||
//console.log("NB = "+nb);
|
||||
if (nb >0)
|
||||
{
|
||||
res = bdd.lecture_ligne();
|
||||
if (!res.isEmpty)
|
||||
{
|
||||
shipheart_fichier_image_accueil = res[0];
|
||||
console.log("Le fichier d'image d'accueil est : [" + shipheart_fichier_image_accueil + "]");
|
||||
}
|
||||
else
|
||||
{
|
||||
shipheart_fichier_image_accueil = "";
|
||||
console.log("/!\ Erreur dans le traitementr de la requête de recherche de fichier d'image d'accueil a échouée. Le nom de fichier est mis à sa valeur par défaut...");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
shipheart_fichier_image_accueil = "";
|
||||
console.log("/!\ La requête de recherche de fichier d'image d'accueil a échouée. Le nom de fichier est mis à sa valeur par défaut...");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// Fonction : Récupère dans la BDD la valeur de 'Version_cm' dans
|
||||
// TB_Systeme et met à jour la propriété globale 'shipheart_generation_shipbase'.
|
||||
// Reçoit : Rien
|
||||
// Retour : Rien
|
||||
//============================================================================
|
||||
function init_shipheart_version_cm()
|
||||
{
|
||||
var req, res
|
||||
|
||||
// Récupération du paramètre 'TB_Systeme.Version_cm'
|
||||
req = 'SELECT Valeur FROM TB_Systeme WHERE Nom="Version_cm" ';
|
||||
res = bdd.requete_unique(req);
|
||||
|
||||
if (res[0].indexOf("CM3+") !== -1) shipheart_generation_shipbase = shipheart_generation_shipbase_v1;
|
||||
else if (res[0].indexOf("CM4") !== -1) shipheart_generation_shipbase = shipheart_generation_shipbase_v2;
|
||||
else if (res[0].indexOf("CM5") !== -1) shipheart_generation_shipbase = shipheart_generation_shipbase_v3;
|
||||
else shipheart_generation_shipbase = shipheart_generation_shipbase_inconnue;
|
||||
console.log("Génération de ShipBase = " + shipheart_generation_shipbase);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================================================
|
||||
// Synchroniser répertoire docs ShipRS
|
||||
//=============================================================================================================
|
||||
function synchro_repertoires_shiprs()
|
||||
{
|
||||
var commande;
|
||||
|
||||
commande = "rsync -aPs --delete -e \"ssh -p 2022 -o StrictHostKeyChecking=no \" koriolan@" + AppInfo.adresse_shipbase + ":" + shipheart_repertoire_config + "/ " + shipheart_repertoire_config + "/";
|
||||
systeme.commande_shell(commande, "");
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user