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
+