refactor: split TabInputScore

This commit is contained in:
2023-09-21 00:32:06 +08:00
parent ddd418039b
commit c3c13bab40
8 changed files with 315 additions and 240 deletions

View File

@ -1,8 +1,5 @@
import traceback
from arcaea_offline.database import Database
from PySide6.QtCore import QCoreApplication, QModelIndex
from PySide6.QtWidgets import QMessageBox, QWidget
from PySide6.QtWidgets import QWidget
from ui.designer.tabs.tabInputScore_ui import Ui_TabInputScore
@ -11,23 +8,14 @@ class TabInputScore(Ui_TabInputScore, QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.chartSelector.valueChanged.connect(self.updateScoreEditorChart)
self.scoreEditor.accepted.connect(self.commit)
def updateScoreEditorChart(self):
chart = self.chartSelector.value()
self.scoreEditor.setChart(chart)
self.chartAndScoreInput.scoreCommited.connect(self.commit)
def commit(self):
try:
Database().insert_score(self.scoreEditor.value())
self.scoreEditor.reset()
except Exception as e:
QMessageBox.critical(
self,
# fmt: off
QCoreApplication.translate("General", "tracebackFormatExceptionOnly.title"),
QCoreApplication.translate("General", "tracebackFormatExceptionOnly.content").format(traceback.format_exception_only(e))
# fmt: on
)
score = self.chartAndScoreInput.value()
if not score:
return
Database().insert_score(score)
self.chartAndScoreInput.scoreEditor.reset()
self.chartAndScoreInput.scoreEditor.setChart(
self.chartAndScoreInput.chartSelector.value()
)