From 28599cfb04ecdd2b10c9b822994f3e87922cbcb4 Mon Sep 17 00:00:00 2001 From: 283375 Date: Mon, 23 Oct 2023 15:31:56 +0800 Subject: [PATCH] feat: `DatabaseChecker` re-init database button --- ui/resources/lang/en_US.ts | 22 +++-- ui/resources/lang/zh_CN.ts | 22 +++-- ui/startup/databaseChecker.py | 5 ++ ui/startup/databaseChecker.ui | 14 +++ ui/startup/databaseChecker_ui.py | 146 +++++++++++-------------------- 5 files changed, 97 insertions(+), 112 deletions(-) diff --git a/ui/resources/lang/en_US.ts b/ui/resources/lang/en_US.ts index 9787589..c7ec51a 100644 --- a/ui/resources/lang/en_US.ts +++ b/ui/resources/lang/en_US.ts @@ -54,37 +54,41 @@ DatabaseChecker - dbPathLabel Database path - dbFilenameLabel Database filename - confirmDbPathButton Confirm - dbVersionLabel Database version + + + dbReInitLabel + Re-initialize database + + + + dbReInitButton + Re-initialize + - dbCheckConnLabel Database connection - continueButton Continue @@ -306,7 +310,7 @@ validation PotentialCalculator - + copyButton Copy @@ -1006,7 +1010,7 @@ validation TabTools_ChartRecommend - + constantRangeFromPlayRating Chart Constant Range from Play Rating @@ -1016,7 +1020,7 @@ validation Charts by Constant - + chartsRecommendFromPlayRating Chart from Play Rating Based on Best Score diff --git a/ui/resources/lang/zh_CN.ts b/ui/resources/lang/zh_CN.ts index 9834bda..89656f4 100644 --- a/ui/resources/lang/zh_CN.ts +++ b/ui/resources/lang/zh_CN.ts @@ -54,37 +54,41 @@ DatabaseChecker - dbPathLabel 数据库路径 - dbFilenameLabel 数据库文件名 - confirmDbPathButton 确认 - dbVersionLabel 数据库版本 + + + dbReInitLabel + 重新初始化数据库 + + + + dbReInitButton + 重新初始化 + - dbCheckConnLabel 数据库连接 - continueButton 继续 @@ -305,7 +309,7 @@ PotentialCalculator - + copyButton 复制 @@ -1005,7 +1009,7 @@ TabTools_ChartRecommend - + constantRangeFromPlayRating 由单曲 PTT 逆算谱面定数范围 @@ -1015,7 +1019,7 @@ 按定数查谱 - + chartsRecommendFromPlayRating 由单曲 PTT 结合最好成绩推荐谱面 diff --git a/ui/startup/databaseChecker.py b/ui/startup/databaseChecker.py index aafd54e..e5a4072 100644 --- a/ui/startup/databaseChecker.py +++ b/ui/startup/databaseChecker.py @@ -138,6 +138,11 @@ class DatabaseChecker(Ui_DatabaseChecker, QDialog): db.init() self.updateLabels() + @Slot() + def on_dbReInitButton_clicked(self): + Database().init(checkfirst=True) + QMessageBox.information(self, None, "OK") + @Slot() def on_continueButton_clicked(self): self.accept() diff --git a/ui/startup/databaseChecker.ui b/ui/startup/databaseChecker.ui index 7cd3080..2267096 100644 --- a/ui/startup/databaseChecker.ui +++ b/ui/startup/databaseChecker.ui @@ -125,6 +125,20 @@ + + + + dbReInitLabel + + + + + + + dbReInitButton + + + diff --git a/ui/startup/databaseChecker_ui.py b/ui/startup/databaseChecker_ui.py index 41b5eb1..ace5cd0 100644 --- a/ui/startup/databaseChecker_ui.py +++ b/ui/startup/databaseChecker_ui.py @@ -8,173 +8,131 @@ ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ -from PySide6.QtCore import ( - QCoreApplication, - QDate, - QDateTime, - QLocale, - QMetaObject, - QObject, - QPoint, - QRect, - QSize, - Qt, - QTime, - QUrl, -) -from PySide6.QtGui import ( - QBrush, - QColor, - QConicalGradient, - QCursor, - QFont, - QFontDatabase, - QGradient, - QIcon, - QImage, - QKeySequence, - QLinearGradient, - QPainter, - QPalette, - QPixmap, - QRadialGradient, - QTransform, -) -from PySide6.QtWidgets import ( - QApplication, - QFormLayout, - QFrame, - QHBoxLayout, - QLabel, - QLineEdit, - QPushButton, - QSizePolicy, - QSpacerItem, - QWidget, -) +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QFormLayout, QFrame, QHBoxLayout, + QLabel, QLineEdit, QPushButton, QSizePolicy, + QSpacerItem, QWidget) from ui.implements.components.fileSelector import FileSelector - class Ui_DatabaseChecker(object): def setupUi(self, DatabaseChecker): if not DatabaseChecker.objectName(): - DatabaseChecker.setObjectName("DatabaseChecker") + DatabaseChecker.setObjectName(u"DatabaseChecker") DatabaseChecker.resize(350, 250) - DatabaseChecker.setWindowTitle("DatabaseChecker") + DatabaseChecker.setWindowTitle(u"DatabaseChecker") self.formLayout = QFormLayout(DatabaseChecker) - self.formLayout.setObjectName("formLayout") - self.formLayout.setLabelAlignment( - Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter - ) + self.formLayout.setObjectName(u"formLayout") + self.formLayout.setLabelAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) self.label = QLabel(DatabaseChecker) - self.label.setObjectName("label") + self.label.setObjectName(u"label") self.formLayout.setWidget(0, QFormLayout.LabelRole, self.label) self.dbDirSelector = FileSelector(DatabaseChecker) - self.dbDirSelector.setObjectName("dbDirSelector") + self.dbDirSelector.setObjectName(u"dbDirSelector") self.formLayout.setWidget(0, QFormLayout.FieldRole, self.dbDirSelector) self.label_3 = QLabel(DatabaseChecker) - self.label_3.setObjectName("label_3") + self.label_3.setObjectName(u"label_3") self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label_3) self.dbFilenameLineEdit = QLineEdit(DatabaseChecker) - self.dbFilenameLineEdit.setObjectName("dbFilenameLineEdit") + self.dbFilenameLineEdit.setObjectName(u"dbFilenameLineEdit") self.formLayout.setWidget(1, QFormLayout.FieldRole, self.dbFilenameLineEdit) self.horizontalLayout = QHBoxLayout() - self.horizontalLayout.setObjectName("horizontalLayout") - self.horizontalSpacer = QSpacerItem( - 40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum - ) + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.horizontalLayout.addItem(self.horizontalSpacer) self.confirmDbPathButton = QPushButton(DatabaseChecker) - self.confirmDbPathButton.setObjectName("confirmDbPathButton") + self.confirmDbPathButton.setObjectName(u"confirmDbPathButton") sizePolicy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth( - self.confirmDbPathButton.sizePolicy().hasHeightForWidth() - ) + sizePolicy.setHeightForWidth(self.confirmDbPathButton.sizePolicy().hasHeightForWidth()) self.confirmDbPathButton.setSizePolicy(sizePolicy) self.horizontalLayout.addWidget(self.confirmDbPathButton) + self.formLayout.setLayout(2, QFormLayout.FieldRole, self.horizontalLayout) self.dbVersionLabel = QLabel(DatabaseChecker) - self.dbVersionLabel.setObjectName("dbVersionLabel") - self.dbVersionLabel.setText("-") + self.dbVersionLabel.setObjectName(u"dbVersionLabel") + self.dbVersionLabel.setText(u"-") self.formLayout.setWidget(4, QFormLayout.FieldRole, self.dbVersionLabel) - self.verticalSpacer = QSpacerItem( - 20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding - ) + self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.formLayout.setItem(6, QFormLayout.FieldRole, self.verticalSpacer) self.label_5 = QLabel(DatabaseChecker) - self.label_5.setObjectName("label_5") + self.label_5.setObjectName(u"label_5") self.formLayout.setWidget(7, QFormLayout.LabelRole, self.label_5) self.dbCheckConnLabel = QLabel(DatabaseChecker) - self.dbCheckConnLabel.setObjectName("dbCheckConnLabel") - self.dbCheckConnLabel.setText("...") + self.dbCheckConnLabel.setObjectName(u"dbCheckConnLabel") + self.dbCheckConnLabel.setText(u"...") self.formLayout.setWidget(7, QFormLayout.FieldRole, self.dbCheckConnLabel) self.continueButton = QPushButton(DatabaseChecker) - self.continueButton.setObjectName("continueButton") + self.continueButton.setObjectName(u"continueButton") self.continueButton.setEnabled(False) self.formLayout.setWidget(8, QFormLayout.SpanningRole, self.continueButton) self.label_2 = QLabel(DatabaseChecker) - self.label_2.setObjectName("label_2") + self.label_2.setObjectName(u"label_2") self.formLayout.setWidget(4, QFormLayout.LabelRole, self.label_2) self.line = QFrame(DatabaseChecker) - self.line.setObjectName("line") + self.line.setObjectName(u"line") self.line.setFrameShape(QFrame.HLine) self.line.setFrameShadow(QFrame.Sunken) self.formLayout.setWidget(3, QFormLayout.SpanningRole, self.line) + self.label_4 = QLabel(DatabaseChecker) + self.label_4.setObjectName(u"label_4") + + self.formLayout.setWidget(5, QFormLayout.LabelRole, self.label_4) + + self.dbReInitButton = QPushButton(DatabaseChecker) + self.dbReInitButton.setObjectName(u"dbReInitButton") + + self.formLayout.setWidget(5, QFormLayout.FieldRole, self.dbReInitButton) + + self.retranslateUi(DatabaseChecker) QMetaObject.connectSlotsByName(DatabaseChecker) - # setupUi def retranslateUi(self, DatabaseChecker): - self.label.setText( - QCoreApplication.translate("DatabaseChecker", "dbPathLabel", None) - ) - self.label_3.setText( - QCoreApplication.translate("DatabaseChecker", "dbFilenameLabel", None) - ) - self.confirmDbPathButton.setText( - QCoreApplication.translate("DatabaseChecker", "confirmDbPathButton", None) - ) - self.label_5.setText( - QCoreApplication.translate("DatabaseChecker", "dbCheckConnLabel", None) - ) - self.continueButton.setText( - QCoreApplication.translate("DatabaseChecker", "continueButton", None) - ) - self.label_2.setText( - QCoreApplication.translate("DatabaseChecker", "dbVersionLabel", None) - ) + self.label.setText(QCoreApplication.translate("DatabaseChecker", u"dbPathLabel", None)) + self.label_3.setText(QCoreApplication.translate("DatabaseChecker", u"dbFilenameLabel", None)) + self.confirmDbPathButton.setText(QCoreApplication.translate("DatabaseChecker", u"confirmDbPathButton", None)) + self.label_5.setText(QCoreApplication.translate("DatabaseChecker", u"dbCheckConnLabel", None)) + self.continueButton.setText(QCoreApplication.translate("DatabaseChecker", u"continueButton", None)) + self.label_2.setText(QCoreApplication.translate("DatabaseChecker", u"dbVersionLabel", None)) + self.label_4.setText(QCoreApplication.translate("DatabaseChecker", u"dbReInitLabel", None)) + self.dbReInitButton.setText(QCoreApplication.translate("DatabaseChecker", u"dbReInitButton", None)) pass - # retranslateUi +