impr: minor improvements

This commit is contained in:
283375 2023-09-23 18:20:34 +08:00
parent ce44a21be5
commit 97b26510fb
Signed by: 283375
SSH Key Fingerprint: SHA256:UcX0qg6ZOSDOeieKPGokA5h7soykG61nz2uxuQgVLSk
3 changed files with 34 additions and 38 deletions

View File

@ -6,6 +6,23 @@ from pathlib import Path
versionFile = Path("ui/resources/VERSION") versionFile = Path("ui/resources/VERSION")
assert versionFile.exists() assert versionFile.exists()
versionTexts = []
projectVersionText = "arcaea-offline-pyside-ui\n"
gitDescribe = os.popen("git describe --tags --long")
gitDescribeContent = gitDescribe.read().replace("\n", "")
if gitDescribe.close() is None:
projectVersionText += f"{gitDescribeContent}"
else:
gitRevParse = os.popen("git rev-parse --short HEAD")
gitRevParseContent = gitRevParse.read().replace("\n", "")
projectVersionText += f"commit {gitRevParseContent}"
gitRevParse.close()
projectVersionText += "\n"
versionTexts.append(projectVersionText)
# detect pip # detect pip
pipName = None pipName = None
possiblePipNames = ["pip3", "pip"] possiblePipNames = ["pip3", "pip"]
@ -19,7 +36,6 @@ for possiblePipName in possiblePipNames:
pipName = possiblePipName pipName = possiblePipName
break break
versionTexts = []
# if possiblePipName: # if possiblePipName:
# pipFreezeLines = os.popen(f"{possiblePipName} freeze").read().split("\n") # pipFreezeLines = os.popen(f"{possiblePipName} freeze").read().split("\n")

View File

@ -1,6 +1,6 @@
from PySide6.QtCore import QFile, Qt, Slot from PySide6.QtCore import QFile, Qt, Slot
from PySide6.QtGui import QPixmap from PySide6.QtGui import QPixmap
from PySide6.QtWidgets import QMessageBox, QWidget from PySide6.QtWidgets import QMessageBox, QTextBrowser, QWidget
from ui.designer.tabs.tabAbout_ui import Ui_TabAbout from ui.designer.tabs.tabAbout_ui import Ui_TabAbout
from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.language import LanguageChangeEventFilter
@ -28,8 +28,12 @@ class TabAbout(Ui_TabAbout, QWidget):
@Slot() @Slot()
def on_versionInfoButton_clicked(self): def on_versionInfoButton_clicked(self):
textBrowser = QTextBrowser(self)
textBrowser.setWindowFlag(Qt.WindowType.Dialog, True)
textBrowser.setWindowTitle("version")
versionFile = QFile(":/VERSION") versionFile = QFile(":/VERSION")
versionFile.open(QFile.OpenModeFlag.ReadOnly) versionFile.open(QFile.OpenModeFlag.ReadOnly)
versionText = str(versionFile.readAll(), encoding="utf-8") versionText = str(versionFile.readAll(), encoding="utf-8")
versionFile.close() versionFile.close()
QMessageBox.information(self, None, versionText) textBrowser.setText(versionText)
textBrowser.show()

View File

@ -9,16 +9,7 @@ from arcaea_offline.external.andreal.api_data import (
from arcaea_offline.models import Chart from arcaea_offline.models import Chart
from PySide6.QtCore import QCoreApplication, QDir, QFileInfo, Qt, Slot from PySide6.QtCore import QCoreApplication, QDir, QFileInfo, Qt, Slot
from PySide6.QtGui import QGuiApplication, QImage, QPainter, QPaintEvent, QPixmap from PySide6.QtGui import QGuiApplication, QImage, QPainter, QPaintEvent, QPixmap
from PySide6.QtWidgets import ( from PySide6.QtWidgets import QButtonGroup, QFileDialog, QLabel, QMessageBox, QWidget
QButtonGroup,
QDialog,
QDialogButtonBox,
QFileDialog,
QLabel,
QMessageBox,
QVBoxLayout,
QWidget,
)
from ui.designer.tabs.tabTools.tabTools_Andreal_ui import Ui_TabTools_Andreal from ui.designer.tabs.tabTools.tabTools_Andreal_ui import Ui_TabTools_Andreal
from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.language import LanguageChangeEventFilter
@ -70,27 +61,6 @@ class ChartSelectorDialog(ChartSelector):
self.setSongIdSelectorMode(SongIdSelectorMode.Chart) self.setSongIdSelectorMode(SongIdSelectorMode.Chart)
class ImageTypeWhatIsThisDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.verticalLayout = QVBoxLayout(self)
self.label = QLabel(
# fmt: off
QCoreApplication.translate('TabTools_Andreal', 'imageWhatIsThisDialog.description')
# fmt: on
)
self.verticalLayout.addWidget(self.label)
self.buttonBox = QDialogButtonBox(Qt.Orientation.Horizontal)
self.buttonBox.addButton(QDialogButtonBox.StandardButton.Ok)
self.buttonBox.accepted.connect(self.close)
self.buttonBox.rejected.connect(self.close)
self.verticalLayout.addWidget(self.buttonBox)
class TabTools_Andreal(Ui_TabTools_Andreal, QWidget): class TabTools_Andreal(Ui_TabTools_Andreal, QWidget):
def __init__(self, parent=None): def __init__(self, parent=None):
super().__init__(parent) super().__init__(parent)
@ -129,10 +99,6 @@ class TabTools_Andreal(Ui_TabTools_Andreal, QWidget):
self.andrealHelper.ready.connect(self.generateReady) self.andrealHelper.ready.connect(self.generateReady)
self.andrealHelper.finished.connect(self.generateFinished) self.andrealHelper.finished.connect(self.generateFinished)
self.imageTypeWhatIsThisButton.clicked.connect(
lambda: ImageTypeWhatIsThisDialog(self).show()
)
self.imageTypeButtonGroup = QButtonGroup(self) self.imageTypeButtonGroup = QButtonGroup(self)
self.imageTypeButtonGroup.addButton(self.imageType_infoRadioButton, 0) self.imageTypeButtonGroup.addButton(self.imageType_infoRadioButton, 0)
self.imageTypeButtonGroup.addButton(self.imageType_bestRadioButton, 1) self.imageTypeButtonGroup.addButton(self.imageType_bestRadioButton, 1)
@ -163,6 +129,16 @@ class TabTools_Andreal(Ui_TabTools_Andreal, QWidget):
f"{chart.title}({chart.song_id}), {chart.rating_class}" f"{chart.title}({chart.song_id}), {chart.rating_class}"
) )
@Slot()
def on_imageTypeWhatIsThisButton_clicked(self):
QMessageBox.information(
self,
None,
# fmt: off
QCoreApplication.translate("TabTools_Andreal", "imageWhatIsThisDialog.description"),
# fmt: on
)
def imageFormat(self): def imageFormat(self):
buttonId = self.imageFormatButtonGroup.checkedId() buttonId = self.imageFormatButtonGroup.checkedId()
return ["jpg", "png"][buttonId] if buttonId > -1 else None return ["jpg", "png"][buttonId] if buttonId > -1 else None