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")
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
pipName = None
possiblePipNames = ["pip3", "pip"]
@ -19,7 +36,6 @@ for possiblePipName in possiblePipNames:
pipName = possiblePipName
break
versionTexts = []
# if possiblePipName:
# pipFreezeLines = os.popen(f"{possiblePipName} freeze").read().split("\n")

View File

@ -1,6 +1,6 @@
from PySide6.QtCore import QFile, Qt, Slot
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.extends.shared.language import LanguageChangeEventFilter
@ -28,8 +28,12 @@ class TabAbout(Ui_TabAbout, QWidget):
@Slot()
def on_versionInfoButton_clicked(self):
textBrowser = QTextBrowser(self)
textBrowser.setWindowFlag(Qt.WindowType.Dialog, True)
textBrowser.setWindowTitle("version")
versionFile = QFile(":/VERSION")
versionFile.open(QFile.OpenModeFlag.ReadOnly)
versionText = str(versionFile.readAll(), encoding="utf-8")
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 PySide6.QtCore import QCoreApplication, QDir, QFileInfo, Qt, Slot
from PySide6.QtGui import QGuiApplication, QImage, QPainter, QPaintEvent, QPixmap
from PySide6.QtWidgets import (
QButtonGroup,
QDialog,
QDialogButtonBox,
QFileDialog,
QLabel,
QMessageBox,
QVBoxLayout,
QWidget,
)
from PySide6.QtWidgets import QButtonGroup, QFileDialog, QLabel, QMessageBox, QWidget
from ui.designer.tabs.tabTools.tabTools_Andreal_ui import Ui_TabTools_Andreal
from ui.extends.shared.language import LanguageChangeEventFilter
@ -70,27 +61,6 @@ class ChartSelectorDialog(ChartSelector):
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):
def __init__(self, parent=None):
super().__init__(parent)
@ -129,10 +99,6 @@ class TabTools_Andreal(Ui_TabTools_Andreal, QWidget):
self.andrealHelper.ready.connect(self.generateReady)
self.andrealHelper.finished.connect(self.generateFinished)
self.imageTypeWhatIsThisButton.clicked.connect(
lambda: ImageTypeWhatIsThisDialog(self).show()
)
self.imageTypeButtonGroup = QButtonGroup(self)
self.imageTypeButtonGroup.addButton(self.imageType_infoRadioButton, 0)
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}"
)
@Slot()
def on_imageTypeWhatIsThisButton_clicked(self):
QMessageBox.information(
self,
None,
# fmt: off
QCoreApplication.translate("TabTools_Andreal", "imageWhatIsThisDialog.description"),
# fmt: on
)
def imageFormat(self):
buttonId = self.imageFormatButtonGroup.checkedId()
return ["jpg", "png"][buttonId] if buttonId > -1 else None