-
Notifications
You must be signed in to change notification settings - Fork 0
/
dialogEinstellungenLanrLizenzschluessel.py
85 lines (78 loc) · 4.46 KB
/
dialogEinstellungenLanrLizenzschluessel.py
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import configparser, os, re
## Nur mit Lizenz
import gdttoolsL
## / Nur mit Lizenz
from PySide6.QtWidgets import (
QDialogButtonBox,
QDialog,
QVBoxLayout,
QGroupBox,
QLineEdit,
QMessageBox,
)
reLanr = "^\\d{9}$"
reLizenzschluessel = "^([A-Z0-9]{5}-){4}[A-Z0-9]{5}$"
class EinstellungenProgrammerweiterungen(QDialog):
def __init__(self, configPath):
super().__init__()
#config.ini lesen
configIni = configparser.ConfigParser()
configIni.read(os.path.join(configPath, "config.ini"))
self.lanr = configIni["Erweiterungen"]["lanr"]
self.lizenzschluessel = gdttoolsL.GdtToolsLizenzschluessel.dekrypt(configIni["Erweiterungen"]["lizenzschluessel"])
self.setWindowTitle("LANR und Lizenzschlüssel")
self.setMinimumWidth(460)
self.buttonBox = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel)
self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel).setText("Abbrechen")
self.buttonBox.accepted.connect(self.accept) # type:ignore
self.buttonBox.rejected.connect(self.reject) # type:ignore
dialogLayoutV = QVBoxLayout()
# Groupbox LANR
groupboxLayoutLanr = QVBoxLayout()
groupboxLanr = QGroupBox("LANR (9 Ziffern)")
groupboxLanr.setStyleSheet("font-weight:bold")
self.lineEditLanr = QLineEdit(self.lanr)
self.lineEditLanr.setStyleSheet("font-weight:normal")
groupboxLayoutLanr.addWidget(self.lineEditLanr)
groupboxLanr.setLayout(groupboxLayoutLanr)
# Groupbox Lizenzschlüssel
groupboxLayoutLizenzschluessel = QVBoxLayout()
groupboxLizenzschluessel = QGroupBox("Lizenzschlüssel")
groupboxLizenzschluessel.setStyleSheet("font-weight:bold")
self.lineEditLizenzschluessel = QLineEdit(self.lizenzschluessel)
self.lineEditLizenzschluessel.setStyleSheet("font-weight:normal")
self.lineEditLizenzschluessel.textEdited.connect(self.lineEditLizenzschluesselTextEdited)
groupboxLayoutLizenzschluessel.addWidget(self.lineEditLizenzschluessel)
groupboxLizenzschluessel.setLayout(groupboxLayoutLizenzschluessel)
dialogLayoutV.addWidget(groupboxLanr)
dialogLayoutV.addWidget(groupboxLizenzschluessel)
dialogLayoutV.addWidget(self.buttonBox)
dialogLayoutV.setContentsMargins(10, 10, 10, 10)
dialogLayoutV.setSpacing(20)
self.setLayout(dialogLayoutV)
if re.match(reLizenzschluessel, self.lineEditLizenzschluessel.text()) != None and gdttoolsL.GdtToolsLizenzschluessel.nochTageGueltig(self.lizenzschluessel) <= 0:
mb = QMessageBox(QMessageBox.Icon.Information, "Hinweis", "Der eingetragene Lizenzschlüssel ist abgelaufen.", QMessageBox.StandardButton.Ok)
mb.exec()
self.lineEditLizenzschluessel.setStyleSheet("font-weight:normal;background:rgb(255,220,220)")
self.lineEditLizenzschluessel.setFocus()
self.lineEditLizenzschluessel.selectAll()
else:
self.lineEditLanr.setFocus()
self.lineEditLanr.selectAll()
def lineEditLizenzschluesselTextEdited(self):
self.lineEditLizenzschluessel.setStyleSheet("font-weight:normal;background:rgb(255,255,255)")
def accept(self):
if self.lineEditLanr.text() == "" and self.lineEditLizenzschluessel.text() == "":
self.done(1)
elif not re.match(reLanr, self.lineEditLanr.text()) or not gdttoolsL.GdtToolsLizenzschluessel.checksummeLanrKorrekt(self.lineEditLanr.text()):
mb = QMessageBox(QMessageBox.Icon.Information, "Hinweis", "Die LANR ist ungültig.", QMessageBox.StandardButton.Ok)
mb.exec()
self.lineEditLanr.setFocus()
self.lineEditLanr.selectAll()
elif re.match(reLizenzschluessel, self.lineEditLizenzschluessel.text()) == None or not gdttoolsL.GdtToolsLizenzschluessel.lizenzErteilt(self.lineEditLizenzschluessel.text().upper(), self.lineEditLanr.text(), gdttoolsL.SoftwareId.SIGNOGDT) and not gdttoolsL.GdtToolsLizenzschluessel.lizenzErteilt(self.lineEditLizenzschluessel.text().upper(), self.lineEditLanr.text(), gdttoolsL.SoftwareId.SIGNOGDTPSEUDO):
mb = QMessageBox(QMessageBox.Icon.Information, "Hinweis", "Die LANR/Lizenzschlüssel-Kombination ist ungültig.", QMessageBox.StandardButton.Ok)
mb.exec()
self.lineEditLizenzschluessel.setFocus()
self.lineEditLizenzschluessel.selectAll()
else:
self.done(1)