show only song names in list

This commit is contained in:
cidoku 2025-02-23 19:54:31 -03:00
parent 1af0e21b54
commit 6611938cd9

View File

@ -2,6 +2,7 @@ import thread, time, os, buttons, urllib, charselect, ini, random, re
from os.path import exists, basename from os.path import exists, basename
from ConfigParserEdit import ConfigParser from ConfigParserEdit import ConfigParser
from constants import * from constants import *
from collections import OrderedDict
from pybass_constants import * from pybass_constants import *
from PyQt4 import QtGui, QtCore from PyQt4 import QtGui, QtCore
@ -1345,13 +1346,13 @@ class gui(QtGui.QWidget):
def onMusicSearch(self, text): def onMusicSearch(self, text):
self.musicitems.clear() self.musicitems.clear()
if text: if text:
for song in self.musiclist: for song, fname in self.musiclist.items():
if QtCore.QString(song).contains(text, QtCore.Qt.CaseInsensitive): if QtCore.QString(fname).contains(text, QtCore.Qt.CaseInsensitive):
song = song.replace("<and>","&").decode('utf-8')
songitem = QtGui.QListWidgetItem() songitem = QtGui.QListWidgetItem()
songitem.setText(song) songitem.setText(song)
if exists(AOpath + 'sounds/music/' + song.lower()): if exists(unicode(AOpath + 'sounds/music/' + fname.replace("<and>","&").lower())):
songitem.setBackgroundColor(QtGui.QColor(128, 255, 128)) songitem.setBackgroundColor(QtGui.QColor(128, 255, 128))
self.musicitems.addItem(songitem) self.musicitems.addItem(songitem)
else: else:
@ -1918,7 +1919,7 @@ class gui(QtGui.QWidget):
self.stopMusic() self.stopMusic()
def onMusicClick(self, item): def onMusicClick(self, item):
self.sendMC(item.text()) self.sendMC(self.musiclist[item.text()])
def onAreaClick(self, item): def onAreaClick(self, item):
area = item.text().split('\n')[0] area = item.text().split('\n')[0]
@ -3015,11 +3016,15 @@ class gui(QtGui.QWidget):
self.tcp = tcp self.tcp = tcp
self.playerlist = playerlist self.playerlist = playerlist
self.charlist = charlist self.charlist = charlist
self.musiclist = musiclist
self.evidence = evidence self.evidence = evidence
self.areas = areas self.areas = areas
self.areas_len = len(areas[0]) self.areas_len = len(areas[0])
self.features = features self.features = features
self.musiclist = OrderedDict([])
# We want only song names without paths or extensions in the music list
for song in musiclist:
self.musiclist[QtCore.QString(os.path.splitext(basename(song))[0].decode('utf-8').replace("<and>","&"))] = song.decode('utf-8')
if "base/" in webAO_bucket: if "base/" in webAO_bucket:
webAO_bucket = webAO_bucket.replace("base/", "") webAO_bucket = webAO_bucket.replace("base/", "")
@ -3145,11 +3150,10 @@ class gui(QtGui.QWidget):
self.icchatinput.setFocus() self.icchatinput.setFocus()
def allMusic(self): def allMusic(self):
for song in self.musiclist: for song, fname in self.musiclist.items():
song = song.replace("<and>","&").decode('utf-8')
songitem = QtGui.QListWidgetItem() songitem = QtGui.QListWidgetItem()
songitem.setText(song) songitem.setText(song)
if exists(AOpath + 'sounds/music/' + song.lower()): if exists(unicode(AOpath + 'sounds/music/' + fname.replace("<and>","&").lower())):
songitem.setBackgroundColor(QtGui.QColor(128, 255, 128)) songitem.setBackgroundColor(QtGui.QColor(128, 255, 128))
#else: #else:
#songitem.setBackgroundColor(QtGui.QColor(255, 128, 128)) #songitem.setBackgroundColor(QtGui.QColor(255, 128, 128))