diff --git a/src/ui/dialogs/medienadder.py b/src/ui/dialogs/medienadder.py index 3983f61..cbdc752 100644 --- a/src/ui/dialogs/medienadder.py +++ b/src/ui/dialogs/medienadder.py @@ -1,8 +1,56 @@ from PyQt6 import QtCore, QtGui, QtWidgets - +from src import MyLogger from .dialog_sources.Ui_medianadder import Ui_Dialog - class MedienAdder(QtWidgets.QDialog, Ui_Dialog): def __init__(self, parent=None): super().__init__(parent) + self.setupUi(self) + self.color_table() + self.mode = "" + self.data = [] + self.lineEdit.returnPressed.connect(self.add_signature) + self.btn_cancel.clicked.connect(self.close) + self.btn_save.clicked.connect(self.send_data) + + def add_signature(self): + signature = self.lineEdit.text() + self.listWidget.addItem(signature.strip()) + self.lineEdit.clear() + + def get_list_data(self) -> list: + signatures = self.listWidget.findItems("*", QtCore.Qt.MatchFlag.MatchWildcard) + return [signature.text() for signature in signatures] + + def get_mode(self) -> str: + return self.comboBox.currentText() + + def send_data(self): + self.mode = self.get_mode() + self.data = self.get_list_data() + self.accept() + + def color_table(self): + # set tree cells to red, if it is 0, to green if it is 1. remove digits after comma + for row in range(self.tableWidget.rowCount()): + for col in range(self.tableWidget.columnCount()): + item = self.tableWidget.item(row, col) + if item is not None: + if item.text() == "0": + item.setBackground(QtGui.QColor("red")) + item.setText("") + + elif item.text() == "1": + item.setBackground(QtGui.QColor("green")) + item.setText("") + + else: + item.setText(item.text().split(".")[0]) + + +def lauhc_gui(): + app = QtWidgets.QApplication([]) + dialog = MedienAdder() + dialog.show() + app.exec() + print(dialog.mode, dialog.data, dialog.result()) \ No newline at end of file