1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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)
|