From 9c6fcb9f6484d74c91acf961d081c11b5e251fba Mon Sep 17 00:00:00 2001 From: WorldTeacher <41587052+WorldTeacher@users.noreply.github.com> Date: Mon, 15 Jul 2024 12:35:30 +0200 Subject: [PATCH] dialog to display and select user if multiple found --- src/ui/multiUserInfo.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/ui/multiUserInfo.py diff --git a/src/ui/multiUserInfo.py b/src/ui/multiUserInfo.py new file mode 100644 index 0000000..4298dda --- /dev/null +++ b/src/ui/multiUserInfo.py @@ -0,0 +1,35 @@ +from .sources.Ui_dialog_multipleUserfound import Ui_Dialog +from PyQt6 import QtCore, QtGui, QtWidgets +from src.schemas import User + + +class MultiUserFound(QtWidgets.QDialog, Ui_Dialog): + def __init__(self, users: list[User]): + super(MultiUserFound, self).__init__() + self.setupUi(self) + self.users = users + self.userdata = None + self.displayUsers() + self.buttonBox.button( + QtWidgets.QDialogButtonBox.StandardButton.Ok + ).clicked.connect(self.selectUser) + self.buttonBox.button( + QtWidgets.QDialogButtonBox.StandardButton.Cancel + ).clicked.connect(self.reject) + + def selectUser(self, row): + user = User( + id=self.tableWidget.item(row, 0).text(), + username=self.tableWidget.item(row, 1).text(), + email=self.tableWidget.item(row, 2).text(), + ) + + self.userdata = user + self.accept() + + def displayUsers(self): + for user in self.users: + self.tableWidget.insertRow(0) + self.tableWidget.setItem(0, 0, QtWidgets.QTableWidgetItem(str(user.id))) + self.tableWidget.setItem(0, 1, QtWidgets.QTableWidgetItem(user.username)) + self.tableWidget.setItem(0, 2, QtWidgets.QTableWidgetItem(user.email))