diff options
Diffstat (limited to 'src/app/mainMenuBar.py')
| -rw-r--r-- | src/app/mainMenuBar.py | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/src/app/mainMenuBar.py b/src/app/mainMenuBar.py index 3ab0090..7c05529 100644 --- a/src/app/mainMenuBar.py +++ b/src/app/mainMenuBar.py @@ -1,8 +1,19 @@ +############################################################################ +# # +# Description: Gestion du "Menu bar" menu en haut de la fenêtre # +# # +############################################################################ + +# Import de join de la bibliothèque de bas OS pour joindre plusieurs +# nom en un chemin poitnant vers un dossier ou fichier from os.path import join +# Import de path pour récupérer le chemin actuel from pathlib import Path +# Import des éléments de PyQt5 from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QAction +# Import des éléments locals from src.app import ( windowAPropos, windowAdmin, windowUserInfo, windowMissions @@ -10,31 +21,46 @@ from src.app import ( def menu_init(mainWindow: object) -> None: - """""" - logo: str = join(Path(__file__).parent, "ressources", "icon.ico") + """ + Génère le 'menu bar' de l'app en fonction de si l'utilisateur + est connecté et de son status. + """ + # On défini le logo de l'application + logo: str = join("ressources", "icon.ico") mainWindow.setWindowIcon(QIcon(logo)) + # On défini le titre de la fenêtre mainWindow.setWindowTitle("Alphajob") + # On initialise le menu de la fenêtre principale, + # ou on l'"attrape" si il existe déja (pointeur vers ce dernier) menu: object = mainWindow.menuBar() - menu.clear() # Clear au cas où + # On le réinitialise si jamais il existait déja + menu.clear() + # On le repeuple avec différents menu et boutons en fonction du type de compte if mainWindow.userConnected and mainWindow.userStatus == "Admin": + # Ajout d'un menu "Admin" menuAdmin: object = menu.addMenu("Admin") + # Création de 3 boutons, pour les 3 champs modifiables par l'admin btnEmplois: object = QAction("Gestion des emplois", mainWindow) btnUsers: object = QAction("Gestion des Utilisateurs", mainWindow) btnMissions: object = QAction("Gestion des missions", mainWindow) + # On lie ces boutons a des fonctions, toujours avec un lambda pour que ces fonctions + # ne soit pas déclencher à la'appel de la fonction menu_init btnEmplois.triggered.connect(lambda: windowAdmin.window_admin_emplois(mainWindow)) btnUsers.triggered.connect(lambda: windowAdmin.window_admin_users(mainWindow)) btnMissions.triggered.connect(lambda: windowAdmin.window_admin_missions(mainWindow)) + # On ajoute ces boutons au menu "Admin" menuAdmin.addAction(btnEmplois) menuAdmin.addAction(btnUsers) menuAdmin.addAction(btnMissions) + # Si client ou pro elif mainWindow.userConnected and ( mainWindow.userStatus == "Pro" or mainWindow.userStatus == "Client"): - # Infos + # Ajout d'un menu "mes infos" avec son bouton menuUserInfos: object = menu.addMenu("Mes infos") btnMesInfos: object = QAction("Gérer ses infos", mainWindow) btnMesInfos.triggered.connect(lambda: windowUserInfo.window_main(mainWindow)) menuUserInfos.addAction(btnMesInfos) - # Missions + # Ajout d'un menu "mes misisons" avec ses boutons menuMissions: object = menu.addMenu("Mes missions") btnPendingMission: object = QAction("Missions en attente", mainWindow) btnOngoignMission: object = QAction("Missions en cours", mainWindow) @@ -46,6 +72,8 @@ def menu_init(mainWindow: object) -> None: menuMissions.addAction(btnOngoignMission) menuMissions.addAction(btnCompletedMission) + # Dans tous les cas + # Ajout d'un menu "Options" aves son bouton menuOptions: object = menu.addMenu("Options") btnApropos: object = QAction("A propos", mainWindow) btnApropos.triggered.connect(lambda: windowAPropos.window_main(mainWindow)) |
