mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-07-01 12:26:26 +00:00
feat: SongIdSelectorMode
This commit is contained in:
@ -9,6 +9,7 @@ from PySide6.QtWidgets import QWidget
|
||||
from ui.designer.components.chartSelector_ui import Ui_ChartSelector
|
||||
from ui.extends.shared.database import databaseUpdateSignals
|
||||
from ui.extends.shared.language import LanguageChangeEventFilter
|
||||
from ui.implements.components.songIdSelector import SongIdSelectorMode
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -36,6 +37,9 @@ class ChartSelector(Ui_ChartSelector, QWidget):
|
||||
)
|
||||
databaseUpdateSignals.songDataUpdated.connect(self.updateDatabase)
|
||||
|
||||
def setSongIdSelectorMode(self, mode: SongIdSelectorMode):
|
||||
self.songIdSelector.setMode(mode)
|
||||
|
||||
def value(self):
|
||||
songId = self.songIdSelector.songId()
|
||||
ratingClass = self.ratingClassSelector.value()
|
||||
@ -79,8 +83,11 @@ class ChartSelector(Ui_ChartSelector, QWidget):
|
||||
ratingClasses = []
|
||||
songId = self.songIdSelector.songId()
|
||||
if songId:
|
||||
charts = self.db.get_charts_by_song_id(songId)
|
||||
ratingClasses = [chart.rating_class for chart in charts]
|
||||
if self.songIdSelector.mode == SongIdSelectorMode.Chart:
|
||||
items = self.db.get_charts_by_song_id(songId)
|
||||
else:
|
||||
items = self.db.get_difficulties_by_song_id(songId)
|
||||
ratingClasses = [item.rating_class for item in items]
|
||||
self.ratingClassSelector.setButtonsEnabled(ratingClasses)
|
||||
|
||||
@Slot()
|
||||
|
Reference in New Issue
Block a user