2013-06-23 01:34:41 +00:00
|
|
|
# Created By: Virgil Dupras
|
|
|
|
# Created On: 2009-05-09
|
|
|
|
# Copyright 2013 Hardcoded Software (http://www.hardcoded.net)
|
|
|
|
#
|
|
|
|
# This software is licensed under the "BSD" License as described in the "LICENSE" file,
|
|
|
|
# which should be included with this package. The terms are also available at
|
|
|
|
# http://www.hardcoded.net/licenses/bsd_license
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
2013-10-20 19:15:09 +00:00
|
|
|
from PyQt5.QtCore import Qt, QCoreApplication
|
|
|
|
from PyQt5.QtWidgets import (QDialog, QApplication, QVBoxLayout, QHBoxLayout, QLabel, QFormLayout,
|
2013-06-23 01:34:41 +00:00
|
|
|
QLayout, QLineEdit, QPushButton, QSpacerItem, QSizePolicy)
|
|
|
|
|
|
|
|
from hscommon.trans import trget
|
|
|
|
|
|
|
|
tr = trget('qtlib')
|
|
|
|
|
|
|
|
class RegSubmitDialog(QDialog):
|
2013-10-20 19:53:59 +00:00
|
|
|
def __init__(self, parent, reg, **kwargs):
|
2013-06-23 01:34:41 +00:00
|
|
|
flags = Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowSystemMenuHint
|
2013-10-20 19:53:59 +00:00
|
|
|
super().__init__(parent, flags, **kwargs)
|
2013-06-23 01:34:41 +00:00
|
|
|
self._setupUi()
|
|
|
|
self.reg = reg
|
|
|
|
|
|
|
|
self.submitButton.clicked.connect(self.submitClicked)
|
|
|
|
self.contributeButton.clicked.connect(self.contributeClicked)
|
|
|
|
self.cancelButton.clicked.connect(self.reject)
|
|
|
|
|
|
|
|
def _setupUi(self):
|
|
|
|
self.setWindowTitle(tr("Enter your registration key"))
|
|
|
|
self.resize(365, 126)
|
|
|
|
self.verticalLayout = QVBoxLayout(self)
|
|
|
|
self.promptLabel = QLabel(self)
|
|
|
|
appname = str(QCoreApplication.instance().applicationName())
|
|
|
|
prompt = tr("Type the key you received when you contributed to $appname, as well as the "
|
|
|
|
"e-mail used as a reference for the purchase.").replace('$appname', appname)
|
|
|
|
self.promptLabel.setText(prompt)
|
|
|
|
self.promptLabel.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop)
|
|
|
|
self.promptLabel.setWordWrap(True)
|
|
|
|
self.verticalLayout.addWidget(self.promptLabel)
|
|
|
|
self.formLayout = QFormLayout()
|
|
|
|
self.formLayout.setSizeConstraint(QLayout.SetNoConstraint)
|
|
|
|
self.formLayout.setFieldGrowthPolicy(QFormLayout.ExpandingFieldsGrow)
|
|
|
|
self.formLayout.setLabelAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
|
|
|
|
self.formLayout.setFormAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop)
|
|
|
|
self.label2 = QLabel(self)
|
|
|
|
self.label2.setText(tr("Registration key:"))
|
|
|
|
self.formLayout.setWidget(0, QFormLayout.LabelRole, self.label2)
|
|
|
|
self.label3 = QLabel(self)
|
|
|
|
self.label3.setText(tr("Registered e-mail:"))
|
|
|
|
self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label3)
|
|
|
|
self.codeEdit = QLineEdit(self)
|
|
|
|
self.formLayout.setWidget(0, QFormLayout.FieldRole, self.codeEdit)
|
|
|
|
self.emailEdit = QLineEdit(self)
|
|
|
|
self.formLayout.setWidget(1, QFormLayout.FieldRole, self.emailEdit)
|
|
|
|
self.verticalLayout.addLayout(self.formLayout)
|
|
|
|
self.horizontalLayout = QHBoxLayout()
|
|
|
|
self.contributeButton = QPushButton(self)
|
|
|
|
self.contributeButton.setText(tr("Contribute"))
|
|
|
|
self.contributeButton.setAutoDefault(False)
|
|
|
|
self.horizontalLayout.addWidget(self.contributeButton)
|
|
|
|
spacerItem = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
|
|
|
|
self.horizontalLayout.addItem(spacerItem)
|
|
|
|
self.cancelButton = QPushButton(self)
|
|
|
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.cancelButton.sizePolicy().hasHeightForWidth())
|
|
|
|
self.cancelButton.setSizePolicy(sizePolicy)
|
|
|
|
self.cancelButton.setText(tr("Cancel"))
|
|
|
|
self.cancelButton.setAutoDefault(False)
|
|
|
|
self.horizontalLayout.addWidget(self.cancelButton)
|
|
|
|
self.submitButton = QPushButton(self)
|
|
|
|
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
sizePolicy.setHeightForWidth(self.submitButton.sizePolicy().hasHeightForWidth())
|
|
|
|
self.submitButton.setSizePolicy(sizePolicy)
|
|
|
|
self.submitButton.setText(tr("Submit"))
|
|
|
|
self.submitButton.setAutoDefault(False)
|
|
|
|
self.submitButton.setDefault(True)
|
|
|
|
self.horizontalLayout.addWidget(self.submitButton)
|
|
|
|
self.verticalLayout.addLayout(self.horizontalLayout)
|
|
|
|
|
|
|
|
#--- Events
|
|
|
|
def contributeClicked(self):
|
|
|
|
self.reg.app.contribute()
|
|
|
|
|
|
|
|
def submitClicked(self):
|
|
|
|
code = self.codeEdit.text()
|
|
|
|
email = self.emailEdit.text()
|
|
|
|
if self.reg.app.set_registration(code, email, False):
|
|
|
|
self.accept()
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
app = QApplication([])
|
|
|
|
validate = lambda *args: True
|
|
|
|
dialog = RegSubmitDialog(None, validate)
|
|
|
|
dialog.show()
|
|
|
|
sys.exit(app.exec_())
|