from PyQt5.QtWidgets import ( QGroupBox, QPushButton, QComboBox, QLineEdit, QHBoxLayout, QWidget, QVBoxLayout, QLabel ) from src.database import dbsearch from src.gui import pageLogin, pageRegister, globalMenu from src.core.coreSearch import core_search_id, core_search_name from src.core.coreUser import core_logout def main(mainWindow, reloadMenu = False) -> None: if reloadMenu: globalMenu.init(mainWindow) classSearch = dbsearch.DbSearch(mainWindow) if not mainWindow.userConnected: connexionState = QLabel("Non connecté.") else: connexionState = QLabel(f"Connecté: {mainWindow.userEmail} - {mainWindow.userStatus}") if not mainWindow.userConnected: btnConnexion = QPushButton("Connexion") btnConnexion.clicked.connect(lambda: pageLogin.main(mainWindow)) else: btnDeconnexion = QPushButton("Déconnexion") btnDeconnexion.clicked.connect(lambda: core_logout(mainWindow)) btnInscription = QPushButton("Inscription") btnInscription.clicked.connect(lambda: pageRegister.main(mainWindow)) layoutUser = QHBoxLayout() layoutUser.addStretch() layoutUser.addWidget(btnInscription) if not mainWindow.userConnected: layoutUser.addWidget(btnConnexion) else: layoutUser.addWidget(btnDeconnexion) grpUtilisateur = QGroupBox("Gestion de l'utilisateur") grpUtilisateur.setLayout(layoutUser) inputRechercheNom = QLineEdit("Nom d'un pro") btnRechercheNom = QPushButton("Rechercher") btnRechercheNom.clicked.connect( lambda: core_search_name( mainWindow, inputRechercheNom.text() ) ) comboRechercheCat = QComboBox() alljobs = classSearch.get_job_all() for i in alljobs: comboRechercheCat.addItem("{0}".format(i[2]), i[0]) btnRechercheCat = QPushButton("Rechercher") btnRechercheCat.clicked.connect( lambda: core_search_id( mainWindow, comboRechercheCat.currentData() ) ) layoutRechercheNom = QVBoxLayout() layoutRechercheNom.addWidget(inputRechercheNom) layoutRechercheNom.addWidget(btnRechercheNom) layoutRechercheCat = QVBoxLayout() layoutRechercheCat.addWidget(comboRechercheCat) layoutRechercheCat.addWidget(btnRechercheCat) layoutRecherche = QHBoxLayout() layoutRecherche.addStretch() layoutRecherche.addLayout(layoutRechercheNom) layoutRecherche.addStretch() layoutRecherche.addLayout(layoutRechercheCat) layoutRecherche.addStretch() grpRecherche = QGroupBox("Recherche par nom ou emploi") grpRecherche.setLayout(layoutRecherche) layoutMain = QVBoxLayout() layoutMain.addWidget(connexionState) layoutMain.addWidget(grpUtilisateur) layoutMain.addStretch() layoutMain.addWidget(grpRecherche) layoutMain.addStretch() if hasattr(mainWindow, "mainWidget"): mainWindow.mainWidget.deleteLater() mainWindow.mainWidget = QWidget() mainWindow.mainWidget.setLayout(layoutMain) mainWindow.setCentralWidget(mainWindow.mainWidget)