diff --git a/ui/designer/tabs/tabDb/tabDb_Manage.ui b/ui/designer/tabs/tabDb/tabDb_Manage.ui index f9f0ab2..d000119 100644 --- a/ui/designer/tabs/tabDb/tabDb_Manage.ui +++ b/ui/designer/tabs/tabDb/tabDb_Manage.ui @@ -6,8 +6,8 @@ 0 0 - 630 - 528 + 580 + 521 @@ -17,70 +17,21 @@ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - syncArcSongDbButton - - - - - - - syncArcSongDb.description - - - - - - - importSt3Button - - - - - - - importSt3.description - - - - - - - Qt::Horizontal - - - - - - - exportScoresButton - - - - - - - exportScores.description - - - - - - - Qt::Horizontal - - - - + importPacklistButton - + + + + importPacklist.description + + + + importSonglistButton @@ -88,69 +39,129 @@ - - - importPacklist.description - - - - importSonglist.description - - - - exportArcsongJsonButton - - - - - - - exportArcsongJson.description - - - - + importApkButton - + importApk.description + + + + + 12 + false + + + + chartInfoGroup + + + + + + syncArcSongDbButton + + + + + + + syncArcSongDb.description + + + + + + + + 12 + false + + + + importScoreGroup + + + + + + + importSt3Button + + + + + + + importSt3.description + + + + importOnlineButton - + importOnline.description - + + + + + 12 + false + + + + exportScoreGroup + + + + + + + exportScoresButton + + + + + + + exportScores.description + + + + exportSmartRteB30Button - + exportSmartRteB30.description @@ -163,6 +174,110 @@ + + + + + 12 + false + + + + miscGroup + + + + + + + exportArcsongJsonButton + + + + + + + exportArcsongJson.description + + + + + + + + 12 + false + + + + packSongInfoGroup + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 20 + + + + diff --git a/ui/designer/tabs/tabDb/tabDb_Manage_ui.py b/ui/designer/tabs/tabDb/tabDb_Manage_ui.py index 3ad1dff..0c4cb1a 100644 --- a/ui/designer/tabs/tabDb/tabDb_Manage_ui.py +++ b/ui/designer/tabs/tabDb/tabDb_Manage_ui.py @@ -15,123 +15,158 @@ 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, QLabel, - QPushButton, QSizePolicy, QWidget) +from PySide6.QtWidgets import (QApplication, QFormLayout, QLabel, QPushButton, + QSizePolicy, QSpacerItem, QWidget) class Ui_TabDb_Manage(object): def setupUi(self, TabDb_Manage): if not TabDb_Manage.objectName(): TabDb_Manage.setObjectName(u"TabDb_Manage") - TabDb_Manage.resize(630, 528) + TabDb_Manage.resize(580, 521) TabDb_Manage.setWindowTitle(u"TabDb_Manage") self.formLayout = QFormLayout(TabDb_Manage) self.formLayout.setObjectName(u"formLayout") self.formLayout.setLabelAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) - self.syncArcSongDbButton = QPushButton(TabDb_Manage) - self.syncArcSongDbButton.setObjectName(u"syncArcSongDbButton") - - self.formLayout.setWidget(0, QFormLayout.LabelRole, self.syncArcSongDbButton) - - self.label = QLabel(TabDb_Manage) - self.label.setObjectName(u"label") - - self.formLayout.setWidget(0, QFormLayout.FieldRole, self.label) - - self.importSt3Button = QPushButton(TabDb_Manage) - self.importSt3Button.setObjectName(u"importSt3Button") - - self.formLayout.setWidget(5, QFormLayout.LabelRole, self.importSt3Button) - - self.label_2 = QLabel(TabDb_Manage) - self.label_2.setObjectName(u"label_2") - - self.formLayout.setWidget(5, QFormLayout.FieldRole, self.label_2) - - self.line = QFrame(TabDb_Manage) - self.line.setObjectName(u"line") - self.line.setFrameShape(QFrame.HLine) - self.line.setFrameShadow(QFrame.Sunken) - - self.formLayout.setWidget(7, QFormLayout.SpanningRole, self.line) - - self.exportScoresButton = QPushButton(TabDb_Manage) - self.exportScoresButton.setObjectName(u"exportScoresButton") - - self.formLayout.setWidget(8, QFormLayout.LabelRole, self.exportScoresButton) - - self.label_3 = QLabel(TabDb_Manage) - self.label_3.setObjectName(u"label_3") - - self.formLayout.setWidget(8, QFormLayout.FieldRole, self.label_3) - - self.line_2 = QFrame(TabDb_Manage) - self.line_2.setObjectName(u"line_2") - self.line_2.setFrameShape(QFrame.HLine) - self.line_2.setFrameShadow(QFrame.Sunken) - - self.formLayout.setWidget(1, QFormLayout.SpanningRole, self.line_2) - self.importPacklistButton = QPushButton(TabDb_Manage) self.importPacklistButton.setObjectName(u"importPacklistButton") - self.formLayout.setWidget(2, QFormLayout.LabelRole, self.importPacklistButton) - - self.importSonglistButton = QPushButton(TabDb_Manage) - self.importSonglistButton.setObjectName(u"importSonglistButton") - - self.formLayout.setWidget(3, QFormLayout.LabelRole, self.importSonglistButton) + self.formLayout.setWidget(1, QFormLayout.LabelRole, self.importPacklistButton) self.label_4 = QLabel(TabDb_Manage) self.label_4.setObjectName(u"label_4") - self.formLayout.setWidget(2, QFormLayout.FieldRole, self.label_4) + self.formLayout.setWidget(1, QFormLayout.FieldRole, self.label_4) + + self.importSonglistButton = QPushButton(TabDb_Manage) + self.importSonglistButton.setObjectName(u"importSonglistButton") + + self.formLayout.setWidget(2, QFormLayout.LabelRole, self.importSonglistButton) self.label_5 = QLabel(TabDb_Manage) self.label_5.setObjectName(u"label_5") - self.formLayout.setWidget(3, QFormLayout.FieldRole, self.label_5) - - self.exportArcsongJsonButton = QPushButton(TabDb_Manage) - self.exportArcsongJsonButton.setObjectName(u"exportArcsongJsonButton") - - self.formLayout.setWidget(9, QFormLayout.LabelRole, self.exportArcsongJsonButton) - - self.label_6 = QLabel(TabDb_Manage) - self.label_6.setObjectName(u"label_6") - - self.formLayout.setWidget(9, QFormLayout.FieldRole, self.label_6) + self.formLayout.setWidget(2, QFormLayout.FieldRole, self.label_5) self.importApkButton = QPushButton(TabDb_Manage) self.importApkButton.setObjectName(u"importApkButton") - self.formLayout.setWidget(4, QFormLayout.LabelRole, self.importApkButton) + self.formLayout.setWidget(3, QFormLayout.LabelRole, self.importApkButton) self.label_7 = QLabel(TabDb_Manage) self.label_7.setObjectName(u"label_7") - self.formLayout.setWidget(4, QFormLayout.FieldRole, self.label_7) + self.formLayout.setWidget(3, QFormLayout.FieldRole, self.label_7) + + self.label_11 = QLabel(TabDb_Manage) + self.label_11.setObjectName(u"label_11") + font = QFont() + font.setPointSize(12) + font.setBold(False) + self.label_11.setFont(font) + + self.formLayout.setWidget(5, QFormLayout.SpanningRole, self.label_11) + + self.syncArcSongDbButton = QPushButton(TabDb_Manage) + self.syncArcSongDbButton.setObjectName(u"syncArcSongDbButton") + + self.formLayout.setWidget(6, QFormLayout.LabelRole, self.syncArcSongDbButton) + + self.label = QLabel(TabDb_Manage) + self.label.setObjectName(u"label") + + self.formLayout.setWidget(6, QFormLayout.FieldRole, self.label) + + self.label_12 = QLabel(TabDb_Manage) + self.label_12.setObjectName(u"label_12") + self.label_12.setFont(font) + + self.formLayout.setWidget(8, QFormLayout.SpanningRole, self.label_12) + + self.importSt3Button = QPushButton(TabDb_Manage) + self.importSt3Button.setObjectName(u"importSt3Button") + + self.formLayout.setWidget(9, QFormLayout.LabelRole, self.importSt3Button) + + self.label_2 = QLabel(TabDb_Manage) + self.label_2.setObjectName(u"label_2") + + self.formLayout.setWidget(9, QFormLayout.FieldRole, self.label_2) self.importOnlineButton = QPushButton(TabDb_Manage) self.importOnlineButton.setObjectName(u"importOnlineButton") - self.formLayout.setWidget(6, QFormLayout.LabelRole, self.importOnlineButton) + self.formLayout.setWidget(10, QFormLayout.LabelRole, self.importOnlineButton) self.label_8 = QLabel(TabDb_Manage) self.label_8.setObjectName(u"label_8") - self.formLayout.setWidget(6, QFormLayout.FieldRole, self.label_8) + self.formLayout.setWidget(10, QFormLayout.FieldRole, self.label_8) + + self.label_13 = QLabel(TabDb_Manage) + self.label_13.setObjectName(u"label_13") + self.label_13.setFont(font) + + self.formLayout.setWidget(12, QFormLayout.SpanningRole, self.label_13) + + self.exportScoresButton = QPushButton(TabDb_Manage) + self.exportScoresButton.setObjectName(u"exportScoresButton") + + self.formLayout.setWidget(13, QFormLayout.LabelRole, self.exportScoresButton) + + self.label_3 = QLabel(TabDb_Manage) + self.label_3.setObjectName(u"label_3") + + self.formLayout.setWidget(13, QFormLayout.FieldRole, self.label_3) self.exportSmartRteB30Button = QPushButton(TabDb_Manage) self.exportSmartRteB30Button.setObjectName(u"exportSmartRteB30Button") - self.formLayout.setWidget(10, QFormLayout.LabelRole, self.exportSmartRteB30Button) + self.formLayout.setWidget(14, QFormLayout.LabelRole, self.exportSmartRteB30Button) self.label_9 = QLabel(TabDb_Manage) self.label_9.setObjectName(u"label_9") self.label_9.setOpenExternalLinks(True) self.label_9.setTextInteractionFlags(Qt.LinksAccessibleByKeyboard|Qt.LinksAccessibleByMouse) - self.formLayout.setWidget(10, QFormLayout.FieldRole, self.label_9) + self.formLayout.setWidget(14, QFormLayout.FieldRole, self.label_9) + + self.label_14 = QLabel(TabDb_Manage) + self.label_14.setObjectName(u"label_14") + self.label_14.setFont(font) + + self.formLayout.setWidget(16, QFormLayout.SpanningRole, self.label_14) + + self.exportArcsongJsonButton = QPushButton(TabDb_Manage) + self.exportArcsongJsonButton.setObjectName(u"exportArcsongJsonButton") + + self.formLayout.setWidget(17, QFormLayout.LabelRole, self.exportArcsongJsonButton) + + self.label_6 = QLabel(TabDb_Manage) + self.label_6.setObjectName(u"label_6") + + self.formLayout.setWidget(17, QFormLayout.FieldRole, self.label_6) + + self.label_10 = QLabel(TabDb_Manage) + self.label_10.setObjectName(u"label_10") + self.label_10.setFont(font) + + self.formLayout.setWidget(0, QFormLayout.SpanningRole, self.label_10) + + self.verticalSpacer = QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) + + self.formLayout.setItem(4, QFormLayout.LabelRole, self.verticalSpacer) + + self.verticalSpacer_2 = QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) + + self.formLayout.setItem(7, QFormLayout.LabelRole, self.verticalSpacer_2) + + self.verticalSpacer_3 = QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) + + self.formLayout.setItem(11, QFormLayout.LabelRole, self.verticalSpacer_3) + + self.verticalSpacer_4 = QSpacerItem(20, 20, QSizePolicy.Minimum, QSizePolicy.Minimum) + + self.formLayout.setItem(15, QFormLayout.LabelRole, self.verticalSpacer_4) self.retranslateUi(TabDb_Manage) @@ -140,24 +175,28 @@ class Ui_TabDb_Manage(object): # setupUi def retranslateUi(self, TabDb_Manage): - self.syncArcSongDbButton.setText(QCoreApplication.translate("TabDb_Manage", u"syncArcSongDbButton", None)) - self.label.setText(QCoreApplication.translate("TabDb_Manage", u"syncArcSongDb.description", None)) - self.importSt3Button.setText(QCoreApplication.translate("TabDb_Manage", u"importSt3Button", None)) - self.label_2.setText(QCoreApplication.translate("TabDb_Manage", u"importSt3.description", None)) - self.exportScoresButton.setText(QCoreApplication.translate("TabDb_Manage", u"exportScoresButton", None)) - self.label_3.setText(QCoreApplication.translate("TabDb_Manage", u"exportScores.description", None)) self.importPacklistButton.setText(QCoreApplication.translate("TabDb_Manage", u"importPacklistButton", None)) - self.importSonglistButton.setText(QCoreApplication.translate("TabDb_Manage", u"importSonglistButton", None)) self.label_4.setText(QCoreApplication.translate("TabDb_Manage", u"importPacklist.description", None)) + self.importSonglistButton.setText(QCoreApplication.translate("TabDb_Manage", u"importSonglistButton", None)) self.label_5.setText(QCoreApplication.translate("TabDb_Manage", u"importSonglist.description", None)) - self.exportArcsongJsonButton.setText(QCoreApplication.translate("TabDb_Manage", u"exportArcsongJsonButton", None)) - self.label_6.setText(QCoreApplication.translate("TabDb_Manage", u"exportArcsongJson.description", None)) self.importApkButton.setText(QCoreApplication.translate("TabDb_Manage", u"importApkButton", None)) self.label_7.setText(QCoreApplication.translate("TabDb_Manage", u"importApk.description", None)) + self.label_11.setText(QCoreApplication.translate("TabDb_Manage", u"chartInfoGroup", None)) + self.syncArcSongDbButton.setText(QCoreApplication.translate("TabDb_Manage", u"syncArcSongDbButton", None)) + self.label.setText(QCoreApplication.translate("TabDb_Manage", u"syncArcSongDb.description", None)) + self.label_12.setText(QCoreApplication.translate("TabDb_Manage", u"importScoreGroup", None)) + self.importSt3Button.setText(QCoreApplication.translate("TabDb_Manage", u"importSt3Button", None)) + self.label_2.setText(QCoreApplication.translate("TabDb_Manage", u"importSt3.description", None)) self.importOnlineButton.setText(QCoreApplication.translate("TabDb_Manage", u"importOnlineButton", None)) self.label_8.setText(QCoreApplication.translate("TabDb_Manage", u"importOnline.description", None)) + self.label_13.setText(QCoreApplication.translate("TabDb_Manage", u"exportScoreGroup", None)) + self.exportScoresButton.setText(QCoreApplication.translate("TabDb_Manage", u"exportScoresButton", None)) + self.label_3.setText(QCoreApplication.translate("TabDb_Manage", u"exportScores.description", None)) self.exportSmartRteB30Button.setText(QCoreApplication.translate("TabDb_Manage", u"exportSmartRteB30Button", None)) self.label_9.setText(QCoreApplication.translate("TabDb_Manage", u"exportSmartRteB30.description", None)) + self.label_14.setText(QCoreApplication.translate("TabDb_Manage", u"miscGroup", None)) + self.exportArcsongJsonButton.setText(QCoreApplication.translate("TabDb_Manage", u"exportArcsongJsonButton", None)) + self.label_6.setText(QCoreApplication.translate("TabDb_Manage", u"exportArcsongJson.description", None)) + self.label_10.setText(QCoreApplication.translate("TabDb_Manage", u"packSongInfoGroup", None)) pass # retranslateUi - diff --git a/ui/resources/lang/en_US.ts b/ui/resources/lang/en_US.ts index 86ecfc3..21f5c38 100644 --- a/ui/resources/lang/en_US.ts +++ b/ui/resources/lang/en_US.ts @@ -672,92 +672,117 @@ validation TabDb_Manage - + syncArcSongDbButton Sync arcsong.db - + syncArcSongDb.description Update chart info - + + importScoreGroup + Import Score + + + importSt3Button - Import from Game Save + Game Save Database - + importSt3.description - Import scores from your game save + Import scores from your game save database - - exportScoresButton + + exportScoreGroup Export Scores - - exportScores.description - Export all your scores to a JSON file + + exportScoresButton + D.E.F. V2 - + + exportScores.description + Export all your scores in <i>Arcaea Offline Data Exchange Format V2</i> formed JSON file + + + + miscGroup + Miscellaneous + + + importPacklistButton Import packlist - + importSonglistButton Import songlist - + importPacklist.description Import packlist file - + importSonglist.description Import songlist file - + exportArcsongJsonButton Export arcsong.json - + exportArcsongJson.description - Export arcsong.json file + Export arcsong.json file based on the information in database - + importApkButton Import from APK - + + packSongInfoGroup + Pack/Song Info + + + importApk.description Import packlist and songlist from .apk file - + + chartInfoGroup + Chart Info + + + importOnlineButton - Import from Arcaea Online + Arcaea Online - + importOnline.description - Import scores from the result of Arcaea Online API + Import scores from the Arcaea Online API result - + exportSmartRteB30Button - Export Scores (CSV, SmartRTE B30) + SmartRTE B30 - + exportSmartRteB30.description Export all your scores to <a href="https://smartrte.github.io/b30gen.html">smartrte.github.io</a> compatible CSV file @@ -840,27 +865,27 @@ validation Delete Selected Scores - + quickSelectComboBox.idEarlier Earlier ID - + quickSelectComboBox.dateEarlier Earlier date - + quickSelectComboBox.columnsIntegral More complete data - + deleteSelectionDialog.content {} Deleting {} scores from database, this cannot be undone!<br>Confirm? - + scan_noColumnsDialog.content You haven't selected any column! Are you sure to continue? diff --git a/ui/resources/lang/zh_CN.ts b/ui/resources/lang/zh_CN.ts index 08e3d24..55d368b 100644 --- a/ui/resources/lang/zh_CN.ts +++ b/ui/resources/lang/zh_CN.ts @@ -671,92 +671,117 @@ TabDb_Manage - + syncArcSongDbButton 同步 arcsong.db - + syncArcSongDb.description 更新谱面信息 - - importSt3Button - 导入本地存档 + + importScoreGroup + 导入分数 - + + importSt3Button + 存档文件 + + + importSt3.description 遏卡抑五年,天降飞龙,姿容极度美艳。白衣仙女以妙法擒之,与之相恋。<br>来年,恶人携联结万邦之力来袭,仙女龙妃以根源之术,呼唤神通叁式之威,退敌千里,永护宝库安宁。 - - exportScoresButton + + exportScoreGroup 导出分数 - - exportScores.description - 将所有分数导出为 JSON 文件 + + exportScoresButton + 数据交换格式 V2 - + + exportScores.description + 将所有分数导出为 <i>Arcaea Offline 数据交换格式 V2</i> JSON 文件 + + + + miscGroup + 杂项 + + + importPacklistButton 导入 packlist - + importSonglistButton 导入 songlist - + importPacklist.description 导入 packlist 文件 - + importSonglist.description 导入 songlist 文件 - + exportArcsongJsonButton 导出 arcsong.json - + exportArcsongJson.description - 导出 arcsong.json 文件 + 基于数据库信息导出 arcsong.json 文件 - + importApkButton 从 APK 导入 - + + packSongInfoGroup + 曲包、歌曲信息 + + + importApk.description 从 .apk 文件导入 packlist 和 songlist - - importOnlineButton - 从 Arcaea Online 导入 + + chartInfoGroup + 谱面信息 - + + importOnlineButton + Arcaea Online + + + importOnline.description 从 Arcaea Online 的 API 结果导入分数 - + exportSmartRteB30Button - 导出分数(CSV,SmartRTE B30) + SmartRTE B30 - + exportSmartRteB30.description 将所有分数导出为兼容 <a href="https://smartrte.github.io/b30gen.html">smartrte.github.io</a> 的 CSV 文件 @@ -839,27 +864,27 @@ 删除已选分数 - + quickSelectComboBox.idEarlier ID 更早 - + quickSelectComboBox.dateEarlier 时间更早 - + quickSelectComboBox.columnsIntegral 数据更完整 - + deleteSelectionDialog.content {} 将从数据库中删除 {} 个分数。此操作无法撤销!<br>确认吗? - + scan_noColumnsDialog.content 还未选择任何字段!确定继续吗?