diff options
Diffstat (limited to 'raveos-center/raveos_center/folyamat.py')
| -rw-r--r-- | raveos-center/raveos_center/folyamat.py | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/raveos-center/raveos_center/folyamat.py b/raveos-center/raveos_center/folyamat.py new file mode 100644 index 0000000..586491f --- /dev/null +++ b/raveos-center/raveos_center/folyamat.py @@ -0,0 +1,68 @@ +from PyQt6.QtCore import Qt +from PyQt6.QtWidgets import QDialog, QHBoxLayout, QPlainTextEdit, QVBoxLayout + +from raveos_center import hatter, muveletek +from raveos_center.elemek import cimke, gomb + + +class FolyamatAblak(QDialog): + def __init__(self, szulo, cim, lepesek, siker_szoveg="Kész.", hiba_szoveg="A művelet nem sikerült."): + super().__init__(szulo) + self.setWindowTitle(cim) + self.resize(760, 520) + self.siker_szoveg = siker_szoveg + self.hiba_szoveg = hiba_szoveg + self.rendben = False + doboz = QVBoxLayout(self) + doboz.setContentsMargins(28, 24, 28, 20) + doboz.setSpacing(12) + self.felirat = cimke("FOLYAMATBAN", "eyebrow") + doboz.addWidget(self.felirat) + self.cim = cimke(cim.upper(), "h2", True) + doboz.addWidget(self.cim) + self.allapot = cimke("Indul...", "masodlagos", True) + doboz.addWidget(self.allapot) + self.naplo = QPlainTextEdit() + self.naplo.setObjectName("naplo") + self.naplo.setReadOnly(True) + self.naplo.setMaximumBlockCount(5000) + doboz.addWidget(self.naplo, 1) + sor = QHBoxLayout() + sor.addStretch(1) + self.bezar = gomb("Bezárás", fo=True) + self.bezar.setEnabled(False) + self.bezar.clicked.connect(self.accept) + sor.addWidget(self.bezar) + doboz.addLayout(sor) + self.futtato = muveletek.Futtato(self) + self.futtato.sor.connect(self.naplo.appendPlainText) + self.futtato.lepes_indul.connect(self.allapot.setText) + self.futtato.kesz.connect(self._kesz) + self.lepesek = lepesek + + def exec(self): + self.futtato.indit(self.lepesek) + return super().exec() + + def _kesz(self, rendben, hibasak): + hatter.ervenytelenit() + self.rendben = rendben + self.felirat.setText("KÉSZ" if rendben else "HIBA") + if rendben: + self.allapot.setText(self.siker_szoveg) + else: + self.allapot.setText(f"{self.hiba_szoveg} Sikertelen lépés: {', '.join(hibasak)}") + self.allapot.setObjectName("figyelem") + self.allapot.style().unpolish(self.allapot) + self.allapot.style().polish(self.allapot) + self.bezar.setEnabled(True) + + def reject(self): + if self.futtato.fut(): + return + super().reject() + + def keyPressEvent(self, esemeny): + if esemeny.key() == Qt.Key.Key_Escape and self.futtato.fut(): + return + super().keyPressEvent(esemeny) |