mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-04-22 02:30:18 +00:00
fix: ChartSelector
not selecting rating class
This commit is contained in:
parent
8628399469
commit
9bb6f5b3d9
@ -27,6 +27,7 @@ class ChartSelector(Ui_ChartSelector, QWidget):
|
|||||||
|
|
||||||
self.valueChanged.connect(self.updateResultLabel)
|
self.valueChanged.connect(self.updateResultLabel)
|
||||||
self.songIdSelector.valueChanged.connect(self.updateRatingClassEnabled)
|
self.songIdSelector.valueChanged.connect(self.updateRatingClassEnabled)
|
||||||
|
self.songIdSelector.chartSelected.connect(self.selectChart)
|
||||||
|
|
||||||
self.songIdSelector.valueChanged.connect(self.valueChanged)
|
self.songIdSelector.valueChanged.connect(self.valueChanged)
|
||||||
self.ratingClassSelector.valueChanged.connect(self.valueChanged)
|
self.ratingClassSelector.valueChanged.connect(self.valueChanged)
|
||||||
@ -92,8 +93,7 @@ class ChartSelector(Ui_ChartSelector, QWidget):
|
|||||||
|
|
||||||
def updateRatingClassEnabled(self):
|
def updateRatingClassEnabled(self):
|
||||||
ratingClasses = []
|
ratingClasses = []
|
||||||
songId = self.songIdSelector.songId()
|
if songId := self.songIdSelector.songId():
|
||||||
if songId:
|
|
||||||
if self.songIdSelector.mode == SongIdSelectorMode.Chart:
|
if self.songIdSelector.mode == SongIdSelectorMode.Chart:
|
||||||
items = self.db.get_charts_by_song_id(songId)
|
items = self.db.get_charts_by_song_id(songId)
|
||||||
else:
|
else:
|
||||||
@ -106,9 +106,5 @@ class ChartSelector(Ui_ChartSelector, QWidget):
|
|||||||
self.songIdSelector.reset()
|
self.songIdSelector.reset()
|
||||||
|
|
||||||
def selectChart(self, chart: Chart):
|
def selectChart(self, chart: Chart):
|
||||||
if not self.songIdSelector.selectPack(chart.set):
|
|
||||||
return False
|
|
||||||
if not self.songIdSelector.selectSongId(chart.song_id):
|
|
||||||
return False
|
|
||||||
self.ratingClassSelector.select(chart.rating_class)
|
self.ratingClassSelector.select(chart.rating_class)
|
||||||
return True
|
return self.ratingClassSelector.value() == chart.rating_class
|
||||||
|
@ -23,6 +23,7 @@ class SongIdSelectorMode(IntEnum):
|
|||||||
|
|
||||||
class SongIdSelector(Ui_SongIdSelector, QWidget):
|
class SongIdSelector(Ui_SongIdSelector, QWidget):
|
||||||
valueChanged = Signal()
|
valueChanged = Signal()
|
||||||
|
chartSelected = Signal(Chart)
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
@ -126,8 +127,7 @@ class SongIdSelector(Ui_SongIdSelector, QWidget):
|
|||||||
self.packComboBox.clear()
|
self.packComboBox.clear()
|
||||||
packs = self.db.get_packs()
|
packs = self.db.get_packs()
|
||||||
for pack in packs:
|
for pack in packs:
|
||||||
isAppendPack = re.search(r"_append_.*$", pack.id)
|
if isAppendPack := re.search(r"_append_.*$", pack.id):
|
||||||
if isAppendPack:
|
|
||||||
basePackId = re.sub(r"_append_.*$", "", pack.id)
|
basePackId = re.sub(r"_append_.*$", "", pack.id)
|
||||||
basePackName = self.db.get_pack(basePackId).name
|
basePackName = self.db.get_pack(basePackId).name
|
||||||
packName = f"{basePackName} - {pack.name}"
|
packName = f"{basePackName} - {pack.name}"
|
||||||
@ -146,8 +146,7 @@ class SongIdSelector(Ui_SongIdSelector, QWidget):
|
|||||||
|
|
||||||
def fillSongIdComboBox(self):
|
def fillSongIdComboBox(self):
|
||||||
self.songIdComboBox.clear()
|
self.songIdComboBox.clear()
|
||||||
packId = self.packComboBox.currentData()
|
if packId := self.packComboBox.currentData():
|
||||||
if packId:
|
|
||||||
if self.mode == SongIdSelectorMode.SongId:
|
if self.mode == SongIdSelectorMode.SongId:
|
||||||
items = self.db.get_songs_by_pack_id(packId)
|
items = self.db.get_songs_by_pack_id(packId)
|
||||||
elif self.mode == SongIdSelectorMode.Chart:
|
elif self.mode == SongIdSelectorMode.Chart:
|
||||||
@ -208,9 +207,10 @@ class SongIdSelector(Ui_SongIdSelector, QWidget):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def selectChart(self, chart: Chart):
|
def selectChart(self, chart: Chart):
|
||||||
if not self.selectPack(chart.set):
|
packSelected = self.selectPack(chart.set)
|
||||||
return False
|
songIdSelected = self.selectSongId(chart.song_id)
|
||||||
return self.selectSongId(chart.song_id)
|
self.chartSelected.emit(chart)
|
||||||
|
return packSelected and songIdSelected
|
||||||
|
|
||||||
@Slot(QModelIndex)
|
@Slot(QModelIndex)
|
||||||
def searchCompleterSetSelection(self, index: QModelIndex):
|
def searchCompleterSetSelection(self, index: QModelIndex):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user