GrOOm  0.2
BTS SNIR LaSalle Avignon 2020
ihmgroom.cpp
Aller à la documentation de ce fichier.
1 #include "ihmgroom.h"
2 #include "ui_ihmgroom.h"
4 #include "ui_communicationbluetooth.h"
5 #include "importation.h"
6 #include "ui_importation.h"
7 #include "messagepersonnalise.h"
8 #include "ui_messagepersonnalise.h"
9 #include "controle.h"
10 #include "bdd.h"
11 #include "ui_bdd.h"
12 
31 IhmGroom::IhmGroom(QWidget *parent) : QWidget(parent), ui(new Ui::IhmGroom)
32 {
33  qDebug() << Q_FUNC_INFO;
34  ui->setupUi(this);
35  setWindowTitle(NOM_APP);
36 
37  ihmImportation = new Importation(this);
40  controle = new Controle(this);
41  bdd = new Bdd(this);
42 
44  connect(ui->pushButton_5, SIGNAL(clicked()), this, SLOT(inversionImageSonnette()));
48  // Test :
49  connect(ui->pushButton_7, SIGNAL(clicked()), this, SLOT(testerNotification()));
50  connect(ui->pushButton_6, SIGNAL(clicked()), this, SLOT(afficherIhmConfiguration()));
51 
52 }
53 
60 {
61  delete ui;
62  qDebug() << Q_FUNC_INFO;
63 }
64 
66 {
67  ui->label_Nom->setWindowTitle(controle->getNom());
68 }
69 
71 {
72  ui->label_Prenom->setWindowTitle(controle->getPrenom());
73 }
74 
76 {
77  ui->label_Fonction->setWindowTitle(controle->getFonction());
78 }
79 
80 
87 void IhmGroom::closeEvent(QCloseEvent *event)
88 {
89  if (iconeSysteme->isVisible())
90  {
92  {
93  QMessageBox::information(this, "Groom", "Le programme continue à s'éxécuter. Utiliser le menu Quitter pour mettre fin à l'application Groom.");
95  }
96  hide();
97  event->ignore();
98  }
99 }
100 
107 {
108  // Crée les actions
109  actionMinimiser = new QAction(QString::fromUtf8("Minimiser"), this);
110  actionMaximiser = new QAction(QString::fromUtf8("Maximiser"), this);
111  actionRestaurer = new QAction(QString::fromUtf8("Restaurer"), this);
112  actionQuitter = new QAction(QString::fromUtf8("&Quitter"), this);
113 
114  // Connecte les actions
115  connect(actionMinimiser, SIGNAL(triggered(bool)), this, SLOT(hide()));
116  connect(actionMaximiser, SIGNAL(triggered(bool)), this, SLOT(showMaximized()));
117  connect(actionRestaurer, SIGNAL(triggered(bool)), this, SLOT(showNormal()));
118  connect(actionQuitter, SIGNAL(triggered(bool)), qApp, SLOT(quit()));
119 
120  // Crée le menu
121  menuIconeSysteme = new QMenu(this);
122  menuIconeSysteme->addAction(actionMinimiser);
123  menuIconeSysteme->addAction(actionMaximiser);
124  menuIconeSysteme->addAction(actionRestaurer);
125  menuIconeSysteme->addSeparator();
126  menuIconeSysteme->addAction(actionQuitter);
127 
128  // Crée l'icône pour la barre de tâche
129  iconeSysteme = new QSystemTrayIcon(this);
130  iconeSysteme->setContextMenu(menuIconeSysteme);
131  iconeSysteme->setToolTip("Groom");
132  QIcon icone(":/groom.png");
133  iconeSysteme->setIcon(icone);
134  setWindowIcon(icone);
135 
136  connect(iconeSysteme, SIGNAL(messageClicked()), this, SLOT(acquitterNotification()));
137  //connect(iconeSysteme, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(aActiveIconeSysteme(QSystemTrayIcon::ActivationReason)));
138 
139  iconeSysteme->show();
141 }
142 
151 void IhmGroom::afficherNotification(QString titre, QString message, int duree)
152 {
153  QIcon icone(":/groom.png");
154  iconeSysteme->showMessage(titre, message, icone, duree); // duree en ms
155  /*
156  QSystemTrayIcon::NoIcon
157  QSystemTrayIcon::Information
158  QSystemTrayIcon::Warning
159  QSystemTrayIcon::Critical
160  */
161  //QSystemTrayIcon::MessageIcon messageIcone = QSystemTrayIcon::MessageIcon(QSystemTrayIcon::Information);
162  //iconeSysteme->showMessage(titre, message, messageIcone, duree);
163 }
164 
171 {
172  qDebug() << Q_FUNC_INFO;
173 }
174 
176 {
177  afficherNotification("Groom", "Rendez-vous annulé !");
178 }
179 
180 
182 {
183  communicationBluetooth->exec();
184 }
185 
187 {
188  ihmImportation->exec();
189 }
190 
192 {
193  messagePersonnalise->exec();
194 }
195 
197 {
198  bdd->exec();
199 }
200 
202 {
203 
204  if (controle->getEtatSonnette())
205  {
206  ui->pushButton_5->setIcon(QIcon(":/bellDisable.png"));
207 
208  controle->setEtatSonnette(false);
209 
210  }
211  else
212  {
213  ui->pushButton_5->setIcon(QIcon(":/bellEnable.png"));
214  controle->setEtatSonnette(true);
215  }
216 }
217 
218 
220 {
222 }
223 
225 {
227 }
228 
230 {
232 }
233 
234 
235 
236 
Classe assurant le controle et la validé de l&#39;envoie et réception des trames.
Definition: controle.h:22
void on_pushButton_3_clicked()
change l&#39;état de la personne en Libre
Definition: ihmgroom.cpp:219
#define NOM_APP
Constante contenant le début de la trame sonde selon le protocole.
Definition: ihmgroom.h:18
Bdd * bdd
Definition: ihmgroom.h:90
void testerNotification()
Definition: ihmgroom.cpp:175
void on_pushButton_6_clicked()
affiche l&#39;ihm communication bluetooth
Definition: ihmgroom.cpp:181
void afficherNotification(QString titre, QString message, int duree=1000)
Méthode qui permet d&#39;afficher une notification système.
Definition: ihmgroom.cpp:151
QAction * actionMinimiser
L&#39;action minimiser l&#39;application.
Definition: ihmgroom.h:95
Definition: bdd.h:6
MessagePersonnalise * messagePersonnalise
L&#39;interface du Message Personnalisé
Definition: ihmgroom.h:88
QString getNom()
retroune le nom
Definition: controle.cpp:80
QMenu * menuIconeSysteme
Le menu de l&#39;application.
Definition: ihmgroom.h:94
void on_pushButton_4_clicked()
Definition: ihmgroom.cpp:224
QString getFonction()
retroune la fonction
Definition: controle.cpp:96
void setEtatSonnette(bool newEtatSonnette)
modifie l&#39;état de la sonnette
Definition: controle.cpp:28
Déclaration de la classe IhmGroom.
void initialiserIconeSysteme()
Méthode qui permet à l&#39;application de s&#39;intaller dans la barre système.
Definition: ihmgroom.cpp:106
void closeEvent(QCloseEvent *event)
Méthode redéfinie qui est appelée automatiquement lors d&#39;une demande de fermeture.
Definition: ihmgroom.cpp:87
void inversionImageSonnette()
Inverse l&#39;image de la sonnette.
Definition: ihmgroom.cpp:201
Ui::IhmGroom * ui
L&#39;interface utilisateur.
Definition: ihmgroom.h:85
void setEtatUtilisateur(int newEtatUtilisateur)
modifie l&#39;état de la sonnette
Definition: controle.cpp:18
QAction * actionQuitter
L&#39;action quitter l&#39;application.
Definition: ihmgroom.h:98
void on_pushButton_8_clicked()
affiche l&#39;ihm importation
Definition: ihmgroom.cpp:186
IhmGroom(QWidget *parent=nullptr)
Constructeur de la classe IhmGroom.
Definition: ihmgroom.cpp:31
#define OCCUPE
Constante contenant le numéro 2.
Definition: ihmgroom.h:36
void acquitterNotification()
Méthode qui permet d&#39;acquitter une notification.
Definition: ihmgroom.cpp:170
Importation * ihmImportation
L&#39;interface de l&#39;Importation.
Definition: ihmgroom.h:87
CommunicationBluetooth * communicationBluetooth
L&#39;interface de la Configuration.
Definition: ihmgroom.h:86
QSystemTrayIcon * iconeSysteme
L&#39;icône de l&#39;application pour la barre système.
Definition: ihmgroom.h:93
#define ABSENT
Constante contenant le numéro 1.
Definition: ihmgroom.h:30
void on_pushButton_clicked()
affiche l&#39;ihm Message personnalisé
Definition: ihmgroom.cpp:191
Controle * controle
Definition: ihmgroom.h:89
void changementNom()
change le nom sur l&#39;ihm
Definition: ihmgroom.cpp:65
#define LIBRE
Constante contenant le numéro 0.
Definition: ihmgroom.h:24
Déclaration de la classe IhmGroom.
Definition: ihmgroom.h:54
QString getPrenom()
retroune le prenom
Definition: controle.cpp:88
Class permettant de mettre en place une communication bluetooth.
void changementPrenom()
change le prenom sur l&#39;ihm
Definition: ihmgroom.cpp:70
void on_pushButton_9_clicked()
Definition: ihmgroom.cpp:196
Classe permetant de d&#39;importer le calendrier.
Definition: importation.h:17
Classe permetant de personnalisé son message.
QAction * actionMaximiser
L&#39;action maximiser l&#39;application.
Definition: ihmgroom.h:96
void changementFonction()
change la focntion sur l&#39;ihm
Definition: ihmgroom.cpp:75
Definition: bdd.h:10
void on_pushButton_2_clicked()
Definition: ihmgroom.cpp:229
QAction * actionRestaurer
L&#39;action restaurer l&#39;application.
Definition: ihmgroom.h:97
~IhmGroom()
Destructeur de la classe IhmGroom.
Definition: ihmgroom.cpp:59
bool getEtatSonnette()
retroune l&#39;état de la sonnette
Definition: controle.cpp:33
bool etatInitialIconeSysteme
Booléen indiquant si c&#39;est la première demande Quitter.
Definition: ihmgroom.h:99