diff --git a/ui/designer/components/scoreEditor.ui b/ui/designer/components/scoreEditor.ui
index 1567213..602b0c5 100644
--- a/ui/designer/components/scoreEditor.ui
+++ b/ui/designer/components/scoreEditor.ui
@@ -14,73 +14,33 @@
ScoreEditor
- -
-
-
- setNone
+
-
+
+
+ B9'999'999;_
- -
-
+
-
+
+
+
+ 0
+ 0
+
+
- Modifier
+ ...
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- -
-
-
-
- 100
- 0
-
-
-
- 0
-
-
- 0
-
-
-
- -
-
-
- setNone
-
-
- true
-
-
-
- -
-
-
- PURE
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- LOST
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- setNone
+
-
+
+
+ false
@@ -97,19 +57,10 @@
- -
-
-
-
- 0
- 0
-
-
+
-
+
- ...
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ commitButton
@@ -126,6 +77,49 @@
+ -
+
+
+
+ 100
+ 0
+
+
+
+ 0
+
+
+ 0
+
+
+
+ -
+
+
+ formLabel.score
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ setNone
+
+
+ true
+
+
+
+ -
+
+
+ setNone
+
+
+
-
@@ -146,16 +140,176 @@
- -
-
+
-
+
+
+
+ 100
+ 0
+
+
+
+ 0
+
+
+ 0
+
+
+
+ -
+
- MAX RECALL
+ idAutoInsert
+
+
+
+ -
+
+
+ formLabel.date
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+ -
+
+
+ Modifier
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ setNone
+
+
+ true
+
+
+
+ -
+
+
+ setNone
+
+
+ true
+
+
+
+ -
+
+
+ ID
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ PURE
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ LOST
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ setNone
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ yyyy/MM/dd HH:mm:ss
+
+
+ false
+
+
+
+ -
+
+
+ false
+
+
+
+ -
+
+
+ setNone
+
+
+
+ -
+
+
+ setNone
+
+
+
+ -
+
+
+
+ 100
+ 0
+
+
+
+ 0
+
+
+ 0
+
+
+
+ -
+
+
+ setNone
+
+
+
+ -
+
+
+ warnIfIncomplete
+
+
+
-
@@ -178,129 +332,6 @@
- -
-
-
- false
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- yyyy/MM/dd HH:mm:ss
-
-
- false
-
-
-
- -
-
-
-
- 100
- 0
-
-
-
- 0
-
-
- 0
-
-
-
- -
-
-
- setNone
-
-
-
- -
-
-
- false
-
-
-
- -
-
-
- setNone
-
-
- true
-
-
-
- -
-
-
- setNone
-
-
- true
-
-
-
- -
-
-
- formLabel.date
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- commitButton
-
-
-
- -
-
-
- B9'999'999;_
-
-
-
- -
-
-
- setNone
-
-
- true
-
-
-
- -
-
-
-
- 100
- 0
-
-
-
- 0
-
-
- 0
-
-
-
-
@@ -311,44 +342,42 @@
- -
-
+
-
+
- formLabel.score
+ MAX RECALL
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- -
-
-
- setNone
-
-
-
- -
-
-
- ID
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- idAutoInsert
-
-
-
-
-
+
- warnIfIncomplete
+ formLabel.preview
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ QLabel { color: gray }
+
+
+ None
+
+
+ true
diff --git a/ui/designer/components/scoreEditor_ui.py b/ui/designer/components/scoreEditor_ui.py
index 935ae6a..cbd9148 100644
--- a/ui/designer/components/scoreEditor_ui.py
+++ b/ui/designer/components/scoreEditor_ui.py
@@ -29,54 +29,11 @@ class Ui_ScoreEditor(object):
ScoreEditor.setWindowTitle(u"ScoreEditor")
self.gridLayout = QGridLayout(ScoreEditor)
self.gridLayout.setObjectName(u"gridLayout")
- self.pureNoneCheckBox = QCheckBox(ScoreEditor)
- self.pureNoneCheckBox.setObjectName(u"pureNoneCheckBox")
+ self.scoreLineEdit = FocusSelectAllLineEdit(ScoreEditor)
+ self.scoreLineEdit.setObjectName(u"scoreLineEdit")
+ self.scoreLineEdit.setInputMask(u"B9'999'999;_")
- self.gridLayout.addWidget(self.pureNoneCheckBox, 2, 2, 1, 1)
-
- self.label_7 = QLabel(ScoreEditor)
- self.label_7.setObjectName(u"label_7")
- self.label_7.setText(u"Modifier")
- self.label_7.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
-
- self.gridLayout.addWidget(self.label_7, 9, 0, 1, 1)
-
- self.pureSpinBox = QSpinBox(ScoreEditor)
- self.pureSpinBox.setObjectName(u"pureSpinBox")
- self.pureSpinBox.setMinimumSize(QSize(100, 0))
- self.pureSpinBox.setMinimum(0)
- self.pureSpinBox.setMaximum(0)
-
- self.gridLayout.addWidget(self.pureSpinBox, 2, 1, 1, 1)
-
- self.clearTypeNoneCheckBox = QCheckBox(ScoreEditor)
- self.clearTypeNoneCheckBox.setObjectName(u"clearTypeNoneCheckBox")
- self.clearTypeNoneCheckBox.setChecked(True)
-
- self.gridLayout.addWidget(self.clearTypeNoneCheckBox, 10, 2, 1, 1)
-
- self.label_2 = QLabel(ScoreEditor)
- self.label_2.setObjectName(u"label_2")
- self.label_2.setText(u"PURE")
- self.label_2.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
-
- self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
-
- self.label_4 = QLabel(ScoreEditor)
- self.label_4.setObjectName(u"label_4")
- self.label_4.setText(u"LOST")
- self.label_4.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
-
- self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
-
- self.dateNoneCheckBox = QCheckBox(ScoreEditor)
- self.dateNoneCheckBox.setObjectName(u"dateNoneCheckBox")
-
- self.gridLayout.addWidget(self.dateNoneCheckBox, 5, 2, 1, 1)
-
- self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
-
- self.gridLayout.addItem(self.verticalSpacer, 6, 1, 1, 1)
+ self.gridLayout.addWidget(self.scoreLineEdit, 1, 1, 1, 1)
self.validateLabel = QLabel(ScoreEditor)
self.validateLabel.setObjectName(u"validateLabel")
@@ -88,7 +45,22 @@ class Ui_ScoreEditor(object):
self.validateLabel.setText(u"...")
self.validateLabel.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
- self.gridLayout.addWidget(self.validateLabel, 12, 1, 1, 1)
+ self.gridLayout.addWidget(self.validateLabel, 13, 1, 1, 1)
+
+ self.commentLineEdit = QLineEdit(ScoreEditor)
+ self.commentLineEdit.setObjectName(u"commentLineEdit")
+ self.commentLineEdit.setEnabled(False)
+
+ self.gridLayout.addWidget(self.commentLineEdit, 11, 1, 1, 1)
+
+ self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
+
+ self.gridLayout.addItem(self.verticalSpacer, 6, 1, 1, 1)
+
+ self.commitButton = QPushButton(ScoreEditor)
+ self.commitButton.setObjectName(u"commitButton")
+
+ self.gridLayout.addWidget(self.commitButton, 13, 2, 1, 1)
self.clearTypeComboBox = QComboBox(ScoreEditor)
self.clearTypeComboBox.setObjectName(u"clearTypeComboBox")
@@ -97,6 +69,31 @@ class Ui_ScoreEditor(object):
self.gridLayout.addWidget(self.clearTypeComboBox, 10, 1, 1, 1)
+ self.farSpinBox = QSpinBox(ScoreEditor)
+ self.farSpinBox.setObjectName(u"farSpinBox")
+ self.farSpinBox.setMinimumSize(QSize(100, 0))
+ self.farSpinBox.setMinimum(0)
+ self.farSpinBox.setMaximum(0)
+
+ self.gridLayout.addWidget(self.farSpinBox, 3, 1, 1, 1)
+
+ self.label = QLabel(ScoreEditor)
+ self.label.setObjectName(u"label")
+ self.label.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
+
+ self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+
+ self.commentNoneCheckBox = QCheckBox(ScoreEditor)
+ self.commentNoneCheckBox.setObjectName(u"commentNoneCheckBox")
+ self.commentNoneCheckBox.setChecked(True)
+
+ self.gridLayout.addWidget(self.commentNoneCheckBox, 11, 2, 1, 1)
+
+ self.farNoneCheckBox = QCheckBox(ScoreEditor)
+ self.farNoneCheckBox.setObjectName(u"farNoneCheckBox")
+
+ self.gridLayout.addWidget(self.farNoneCheckBox, 3, 2, 1, 1)
+
self.label_8 = QLabel(ScoreEditor)
self.label_8.setObjectName(u"label_8")
self.label_8.setText(u"Clear Type")
@@ -111,28 +108,70 @@ class Ui_ScoreEditor(object):
self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1)
- self.label_6 = QLabel(ScoreEditor)
- self.label_6.setObjectName(u"label_6")
- self.label_6.setText(u"MAX RECALL")
- self.label_6.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
+ self.lostSpinBox = QSpinBox(ScoreEditor)
+ self.lostSpinBox.setObjectName(u"lostSpinBox")
+ self.lostSpinBox.setMinimumSize(QSize(100, 0))
+ self.lostSpinBox.setMinimum(0)
+ self.lostSpinBox.setMaximum(0)
- self.gridLayout.addWidget(self.label_6, 8, 0, 1, 1)
+ self.gridLayout.addWidget(self.lostSpinBox, 4, 1, 1, 1)
- self.maxRecallSpinBox = QSpinBox(ScoreEditor)
- self.maxRecallSpinBox.setObjectName(u"maxRecallSpinBox")
- self.maxRecallSpinBox.setEnabled(False)
- self.maxRecallSpinBox.setMinimumSize(QSize(100, 0))
- self.maxRecallSpinBox.setMinimum(0)
- self.maxRecallSpinBox.setMaximum(0)
- self.maxRecallSpinBox.setValue(0)
+ self.idLabel = QLabel(ScoreEditor)
+ self.idLabel.setObjectName(u"idLabel")
- self.gridLayout.addWidget(self.maxRecallSpinBox, 8, 1, 1, 1)
+ self.gridLayout.addWidget(self.idLabel, 0, 1, 1, 1)
- self.modifierComboBox = QComboBox(ScoreEditor)
- self.modifierComboBox.setObjectName(u"modifierComboBox")
- self.modifierComboBox.setEnabled(False)
+ self.label_5 = QLabel(ScoreEditor)
+ self.label_5.setObjectName(u"label_5")
+ self.label_5.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
- self.gridLayout.addWidget(self.modifierComboBox, 9, 1, 1, 1)
+ self.gridLayout.addWidget(self.label_5, 5, 0, 1, 1)
+
+ self.label_7 = QLabel(ScoreEditor)
+ self.label_7.setObjectName(u"label_7")
+ self.label_7.setText(u"Modifier")
+ self.label_7.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
+
+ self.gridLayout.addWidget(self.label_7, 9, 0, 1, 1)
+
+ self.maxRecallNoneCheckBox = QCheckBox(ScoreEditor)
+ self.maxRecallNoneCheckBox.setObjectName(u"maxRecallNoneCheckBox")
+ self.maxRecallNoneCheckBox.setChecked(True)
+
+ self.gridLayout.addWidget(self.maxRecallNoneCheckBox, 8, 2, 1, 1)
+
+ self.clearTypeNoneCheckBox = QCheckBox(ScoreEditor)
+ self.clearTypeNoneCheckBox.setObjectName(u"clearTypeNoneCheckBox")
+ self.clearTypeNoneCheckBox.setChecked(True)
+
+ self.gridLayout.addWidget(self.clearTypeNoneCheckBox, 10, 2, 1, 1)
+
+ self.label_10 = QLabel(ScoreEditor)
+ self.label_10.setObjectName(u"label_10")
+ self.label_10.setText(u"ID")
+ self.label_10.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
+
+ self.gridLayout.addWidget(self.label_10, 0, 0, 1, 1)
+
+ self.label_2 = QLabel(ScoreEditor)
+ self.label_2.setObjectName(u"label_2")
+ self.label_2.setText(u"PURE")
+ self.label_2.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
+
+ self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
+
+ self.label_4 = QLabel(ScoreEditor)
+ self.label_4.setObjectName(u"label_4")
+ self.label_4.setText(u"LOST")
+ self.label_4.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
+
+ self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
+
+ self.modifierNoneCheckBox = QCheckBox(ScoreEditor)
+ self.modifierNoneCheckBox.setObjectName(u"modifierNoneCheckBox")
+ self.modifierNoneCheckBox.setChecked(True)
+
+ self.gridLayout.addWidget(self.modifierNoneCheckBox, 9, 2, 1, 1)
self.dateTimeEdit = QDateTimeEdit(ScoreEditor)
self.dateTimeEdit.setObjectName(u"dateTimeEdit")
@@ -146,67 +185,49 @@ class Ui_ScoreEditor(object):
self.gridLayout.addWidget(self.dateTimeEdit, 5, 1, 1, 1)
- self.lostSpinBox = QSpinBox(ScoreEditor)
- self.lostSpinBox.setObjectName(u"lostSpinBox")
- self.lostSpinBox.setMinimumSize(QSize(100, 0))
- self.lostSpinBox.setMinimum(0)
- self.lostSpinBox.setMaximum(0)
+ self.modifierComboBox = QComboBox(ScoreEditor)
+ self.modifierComboBox.setObjectName(u"modifierComboBox")
+ self.modifierComboBox.setEnabled(False)
- self.gridLayout.addWidget(self.lostSpinBox, 4, 1, 1, 1)
+ self.gridLayout.addWidget(self.modifierComboBox, 9, 1, 1, 1)
+
+ self.dateNoneCheckBox = QCheckBox(ScoreEditor)
+ self.dateNoneCheckBox.setObjectName(u"dateNoneCheckBox")
+
+ self.gridLayout.addWidget(self.dateNoneCheckBox, 5, 2, 1, 1)
+
+ self.pureNoneCheckBox = QCheckBox(ScoreEditor)
+ self.pureNoneCheckBox.setObjectName(u"pureNoneCheckBox")
+
+ self.gridLayout.addWidget(self.pureNoneCheckBox, 2, 2, 1, 1)
+
+ self.pureSpinBox = QSpinBox(ScoreEditor)
+ self.pureSpinBox.setObjectName(u"pureSpinBox")
+ self.pureSpinBox.setMinimumSize(QSize(100, 0))
+ self.pureSpinBox.setMinimum(0)
+ self.pureSpinBox.setMaximum(0)
+
+ self.gridLayout.addWidget(self.pureSpinBox, 2, 1, 1, 1)
self.lostNoneCheckBox = QCheckBox(ScoreEditor)
self.lostNoneCheckBox.setObjectName(u"lostNoneCheckBox")
self.gridLayout.addWidget(self.lostNoneCheckBox, 4, 2, 1, 1)
- self.commentLineEdit = QLineEdit(ScoreEditor)
- self.commentLineEdit.setObjectName(u"commentLineEdit")
- self.commentLineEdit.setEnabled(False)
+ self.warnIfIncompleteCheckBox = QCheckBox(ScoreEditor)
+ self.warnIfIncompleteCheckBox.setObjectName(u"warnIfIncompleteCheckBox")
- self.gridLayout.addWidget(self.commentLineEdit, 11, 1, 1, 1)
+ self.gridLayout.addWidget(self.warnIfIncompleteCheckBox, 13, 0, 1, 1)
- self.modifierNoneCheckBox = QCheckBox(ScoreEditor)
- self.modifierNoneCheckBox.setObjectName(u"modifierNoneCheckBox")
- self.modifierNoneCheckBox.setChecked(True)
+ self.maxRecallSpinBox = QSpinBox(ScoreEditor)
+ self.maxRecallSpinBox.setObjectName(u"maxRecallSpinBox")
+ self.maxRecallSpinBox.setEnabled(False)
+ self.maxRecallSpinBox.setMinimumSize(QSize(100, 0))
+ self.maxRecallSpinBox.setMinimum(0)
+ self.maxRecallSpinBox.setMaximum(0)
+ self.maxRecallSpinBox.setValue(0)
- self.gridLayout.addWidget(self.modifierNoneCheckBox, 9, 2, 1, 1)
-
- self.commentNoneCheckBox = QCheckBox(ScoreEditor)
- self.commentNoneCheckBox.setObjectName(u"commentNoneCheckBox")
- self.commentNoneCheckBox.setChecked(True)
-
- self.gridLayout.addWidget(self.commentNoneCheckBox, 11, 2, 1, 1)
-
- self.label_5 = QLabel(ScoreEditor)
- self.label_5.setObjectName(u"label_5")
- self.label_5.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
-
- self.gridLayout.addWidget(self.label_5, 5, 0, 1, 1)
-
- self.commitButton = QPushButton(ScoreEditor)
- self.commitButton.setObjectName(u"commitButton")
-
- self.gridLayout.addWidget(self.commitButton, 12, 2, 1, 1)
-
- self.scoreLineEdit = FocusSelectAllLineEdit(ScoreEditor)
- self.scoreLineEdit.setObjectName(u"scoreLineEdit")
- self.scoreLineEdit.setInputMask(u"B9'999'999;_")
-
- self.gridLayout.addWidget(self.scoreLineEdit, 1, 1, 1, 1)
-
- self.maxRecallNoneCheckBox = QCheckBox(ScoreEditor)
- self.maxRecallNoneCheckBox.setObjectName(u"maxRecallNoneCheckBox")
- self.maxRecallNoneCheckBox.setChecked(True)
-
- self.gridLayout.addWidget(self.maxRecallNoneCheckBox, 8, 2, 1, 1)
-
- self.farSpinBox = QSpinBox(ScoreEditor)
- self.farSpinBox.setObjectName(u"farSpinBox")
- self.farSpinBox.setMinimumSize(QSize(100, 0))
- self.farSpinBox.setMinimum(0)
- self.farSpinBox.setMaximum(0)
-
- self.gridLayout.addWidget(self.farSpinBox, 3, 1, 1, 1)
+ self.gridLayout.addWidget(self.maxRecallSpinBox, 8, 1, 1, 1)
self.label_9 = QLabel(ScoreEditor)
self.label_9.setObjectName(u"label_9")
@@ -214,33 +235,31 @@ class Ui_ScoreEditor(object):
self.gridLayout.addWidget(self.label_9, 11, 0, 1, 1)
- self.label = QLabel(ScoreEditor)
- self.label.setObjectName(u"label")
- self.label.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
+ self.label_6 = QLabel(ScoreEditor)
+ self.label_6.setObjectName(u"label_6")
+ self.label_6.setText(u"MAX RECALL")
+ self.label_6.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
- self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
+ self.gridLayout.addWidget(self.label_6, 8, 0, 1, 1)
- self.farNoneCheckBox = QCheckBox(ScoreEditor)
- self.farNoneCheckBox.setObjectName(u"farNoneCheckBox")
+ self.label_11 = QLabel(ScoreEditor)
+ self.label_11.setObjectName(u"label_11")
+ self.label_11.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
- self.gridLayout.addWidget(self.farNoneCheckBox, 3, 2, 1, 1)
+ self.gridLayout.addWidget(self.label_11, 12, 0, 1, 1)
- self.label_10 = QLabel(ScoreEditor)
- self.label_10.setObjectName(u"label_10")
- self.label_10.setText(u"ID")
- self.label_10.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
+ self.previewLabel = QLabel(ScoreEditor)
+ self.previewLabel.setObjectName(u"previewLabel")
+ sizePolicy2 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum)
+ sizePolicy2.setHorizontalStretch(0)
+ sizePolicy2.setVerticalStretch(0)
+ sizePolicy2.setHeightForWidth(self.previewLabel.sizePolicy().hasHeightForWidth())
+ self.previewLabel.setSizePolicy(sizePolicy2)
+ self.previewLabel.setStyleSheet(u"QLabel { color: gray }")
+ self.previewLabel.setText(u"None")
+ self.previewLabel.setWordWrap(True)
- self.gridLayout.addWidget(self.label_10, 0, 0, 1, 1)
-
- self.idLabel = QLabel(ScoreEditor)
- self.idLabel.setObjectName(u"idLabel")
-
- self.gridLayout.addWidget(self.idLabel, 0, 1, 1, 1)
-
- self.warnIfIncompleteCheckBox = QCheckBox(ScoreEditor)
- self.warnIfIncompleteCheckBox.setObjectName(u"warnIfIncompleteCheckBox")
-
- self.gridLayout.addWidget(self.warnIfIncompleteCheckBox, 12, 0, 1, 1)
+ self.gridLayout.addWidget(self.previewLabel, 12, 1, 1, 1)
QWidget.setTabOrder(self.scoreLineEdit, self.pureSpinBox)
QWidget.setTabOrder(self.pureSpinBox, self.pureNoneCheckBox)
@@ -274,20 +293,21 @@ class Ui_ScoreEditor(object):
# setupUi
def retranslateUi(self, ScoreEditor):
- self.pureNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
- self.clearTypeNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
- self.dateNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
- self.lostNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
- self.modifierNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
- self.commentNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
- self.label_5.setText(QCoreApplication.translate("ScoreEditor", u"formLabel.date", None))
self.commitButton.setText(QCoreApplication.translate("ScoreEditor", u"commitButton", None))
- self.maxRecallNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
- self.label_9.setText(QCoreApplication.translate("ScoreEditor", u"formLabel.comment", None))
self.label.setText(QCoreApplication.translate("ScoreEditor", u"formLabel.score", None))
+ self.commentNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
self.farNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
self.idLabel.setText(QCoreApplication.translate("ScoreEditor", u"idAutoInsert", None))
+ self.label_5.setText(QCoreApplication.translate("ScoreEditor", u"formLabel.date", None))
+ self.maxRecallNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
+ self.clearTypeNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
+ self.modifierNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
+ self.dateNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
+ self.pureNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
+ self.lostNoneCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"setNone", None))
self.warnIfIncompleteCheckBox.setText(QCoreApplication.translate("ScoreEditor", u"warnIfIncomplete", None))
+ self.label_9.setText(QCoreApplication.translate("ScoreEditor", u"formLabel.comment", None))
+ self.label_11.setText(QCoreApplication.translate("ScoreEditor", u"formLabel.preview", None))
pass
# retranslateUi
diff --git a/ui/implements/components/scoreEditor.py b/ui/implements/components/scoreEditor.py
index 6a6aa19..dad5946 100644
--- a/ui/implements/components/scoreEditor.py
+++ b/ui/implements/components/scoreEditor.py
@@ -135,6 +135,8 @@ class ScoreEditor(Ui_ScoreEditor, QWidget):
self.dateTimeEdit.setDateTime(QDateTime.currentDateTime())
+ self.valueChanged.connect(self.updatePreviewLabel)
+
def retranslateUi(self, *args):
super().retranslateUi(self)
@@ -145,6 +147,17 @@ class ScoreEditor(Ui_ScoreEditor, QWidget):
item.title = titleCallable()
item.text = textCallable()
+ def updatePreviewLabel(self):
+ if score := self.value():
+ texts = [
+ f"({score.song_id}, {score.rating_class}), Score {score.score}",
+ f"PURE {score.pure}, FAR {score.far}, LOST {score.lost}, MR {score.max_recall}",
+ f"Date {score.date}, Clear type {score.clear_type}, Modifier {score.modifier}",
+ ]
+ self.previewLabel.setText("
".join(texts))
+ else:
+ self.previewLabel.setText("None")
+
def validateBeforeAccept(self):
return self.__validateBeforeAccept
@@ -267,6 +280,7 @@ class ScoreEditor(Ui_ScoreEditor, QWidget):
self.__chart = None
self.resetLimits()
self.updateValidateLabel()
+ self.updatePreviewLabel()
def validateScore(self) -> ScoreValidateResult:
if not isinstance(self.__chart, Chart):
diff --git a/ui/resources/lang/en_US.ts b/ui/resources/lang/en_US.ts
index d4d3b5a..dba7fe2 100644
--- a/ui/resources/lang/en_US.ts
+++ b/ui/resources/lang/en_US.ts
@@ -314,49 +314,54 @@ validation
ScoreEditor
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
setNone
None
-
+
formLabel.date
Time
-
+
formLabel.comment
Comment
-
+
+ formLabel.preview
+ Preview
+
+
+
formLabel.score
Score
-
+
idAutoInsert
(Auto insert)
-
+
warnIfIncomplete
Warn if incomplete
-
+
commitButton
Commit
-
+
validate.ok
OK
@@ -401,57 +406,57 @@ validation
Cannot verify an incomplete score. Commit anyway?
-
+
confirmDialog.chartNotSet.title
Chart not set
-
+
confirmDialog.chartNotSet.text
Chart not set, cannot commit.
-
+
confirmDialog.scoreIncomplete.title
Score incomplete
-
+
confirmDialog.scoreIncomplete.text
Necessary score field missing, cannot commit.
-
+
validate.chartNotSet
Chart not set
-
+
validate.chartIncomple
No chart data, cannot verify
-
+
validate.scoreMismatch
Possible invalid score
-
+
validate.scoreEmpty
Empty score
-
+
validate.scoreIncomplete
Missing necessary score field
-
+
validate.scoreIncompleteForValidate
Score incomplete, cannot verify
-
+
validate.unknownState
Unknown
diff --git a/ui/resources/lang/zh_CN.ts b/ui/resources/lang/zh_CN.ts
index a5c7b0f..a013f40 100644
--- a/ui/resources/lang/zh_CN.ts
+++ b/ui/resources/lang/zh_CN.ts
@@ -313,49 +313,54 @@
ScoreEditor
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
setNone
置空
-
+
formLabel.date
时间
-
+
formLabel.comment
注释
-
+
+ formLabel.preview
+ 预览
+
+
+
formLabel.score
分数
-
+
idAutoInsert
(自动插入)
-
+
warnIfIncomplete
不完整时要求确认
-
+
commitButton
提交
-
+
validate.ok
OK
@@ -400,57 +405,57 @@
无法验证不完整的分数。继续提交吗?
-
+
confirmDialog.chartNotSet.title
未指定谱面
-
+
confirmDialog.chartNotSet.text
未指定谱面,无法提交。
-
+
confirmDialog.scoreIncomplete.title
分数不完整
-
+
confirmDialog.scoreIncomplete.text
缺失必要的分数数据,无法提交。
-
+
validate.chartNotSet
未指定谱面
-
+
validate.chartIncomple
谱面数据缺失,无法验证分数
-
+
validate.scoreMismatch
分数可能有误
-
+
validate.scoreEmpty
分数为空
-
+
validate.scoreIncomplete
缺失必要分数数据
-
+
validate.scoreIncompleteForValidate
分数不完整,无法验证
-
+
validate.unknownState
未知