summaryrefslogtreecommitdiff
path: root/src/app/mainMenuBar.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/mainMenuBar.py')
-rw-r--r--src/app/mainMenuBar.py38
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))