diff --git a/AO2XPbase/ao2xp_themes/default/theme.py b/AO2XPbase/ao2xp_themes/default/theme.py index 1ef39ed..108c414 100644 --- a/AO2XPbase/ao2xp_themes/default/theme.py +++ b/AO2XPbase/ao2xp_themes/default/theme.py @@ -36,7 +36,9 @@ self.oocinput.move(814 - 288 + self.oocnameinput.size().width(), 248) self.ooclogin.resize(48, 20) self.ooclogin.move(814 - (self.ooclogin.size().width()), self.oocinput.y() + self.ooclogin.size().height()) -self.musicareatabs.setGeometry(814 - 288, 468, 288, 256) +self.musicareatabs.setGeometry(814 - 288, 468, 288, 258) +self.musicitems.setGeometry(8, 8, 268, 184) +self.musicsearch.setGeometry(8, self.musicitems.size().height() + 16, 268, self.musicsearch.sizeHint().height()) self.icLog.setGeometry(8, 8, 714 - 304 - 22, 212) diff --git a/gameview.py b/gameview.py index 7137b05..eb7011c 100644 --- a/gameview.py +++ b/gameview.py @@ -854,12 +854,6 @@ class gui(QtGui.QWidget): self.ooclogin = QtGui.QPushButton("Lo&gin", self) self.ooclogin.clicked.connect(self.onOOCLoginBtn) - self.musicareatabs = QtGui.QTabWidget(self) - self.musicitems = QtGui.QListWidget() - self.musicitems.itemDoubleClicked.connect(self.onMusicClick) - self.areaitems = QtGui.QListWidget() - self.areaitems.itemDoubleClicked.connect(self.onAreaClick) - self.gametabs = QtGui.QTabWidget(self) self.gametab_log = QtGui.QWidget() # the IC chat log self.gametab_evidence = QtGui.QWidget() # court record @@ -869,6 +863,17 @@ class gui(QtGui.QWidget): self.gametab_pair = QtGui.QWidget() # AO2 pair self.gametab_misc = QtGui.QWidget() # ao2xp misc/fun stuff self.gametab_players = QtGui.QWidget() # client list + self.gametab_music = QtGui.QWidget() # music list + + self.musicareatabs = QtGui.QTabWidget(self) + self.musicitems = QtGui.QListWidget(self.gametab_music) + self.musicitems.itemDoubleClicked.connect(self.onMusicClick) + self.musicsearch = QtGui.QLineEdit(self.gametab_music) + self.musicsearch.setPlaceholderText("Search...") + self.musicsearch.textChanged.connect(self.onMusicSearch) + + self.areaitems = QtGui.QListWidget() + self.areaitems.itemDoubleClicked.connect(self.onAreaClick) self.icLog = ChatLogs(self.gametab_log, 0, self.ooclog.logfile) self.icLog.setReadOnly(True) @@ -1021,7 +1026,7 @@ class gui(QtGui.QWidget): self.gametabs.addTab(self.gametab_misc, 'Mi&sc') self.gametabs.addTab(self.gametab_msgqueue, '&Queue') - self.musicareatabs.addTab(self.musicitems, "&Music") + self.musicareatabs.addTab(self.gametab_music, "&Music") self.musicareatabs.addTab(self.areaitems, "&Areas") self.musicareatabs.addTab(self.gametab_players, 'Pla&yers') @@ -1337,6 +1342,20 @@ class gui(QtGui.QWidget): def onChangeShowname(self, text): self.showname = str(text.toUtf8()) + + def onMusicSearch(self, text): + self.musicitems.clear() + if text: + for song in self.musiclist: + if QtCore.QString(song).contains(text, QtCore.Qt.CaseInsensitive): + song = song.replace("","&").decode('utf-8') + songitem = QtGui.QListWidgetItem() + songitem.setText(song) + if exists(AOpath + 'sounds/music/' + song.lower()): + songitem.setBackgroundColor(QtGui.QColor(128, 255, 128)) + self.musicitems.addItem(songitem) + else: + self.allMusic() def setEvidenceImg(self, guiobj, image, scale=False): if exists(AOpath + 'evidence/' + image): @@ -3092,15 +3111,7 @@ class gui(QtGui.QWidget): for msg in oocjoin: self.ooclog.append(msg) - for song in musiclist: - song = song.replace("","&").decode('utf-8') - songitem = QtGui.QListWidgetItem() - songitem.setText(song) - if exists(AOpath + 'sounds/music/' + song.lower()): - songitem.setBackgroundColor(QtGui.QColor(128, 255, 128)) - #else: - #songitem.setBackgroundColor(QtGui.QColor(255, 128, 128)) - self.musicitems.addItem(songitem) + self.allMusic() for area in areas[0]: areaitem = QtGui.QListWidgetItem() @@ -3132,6 +3143,17 @@ class gui(QtGui.QWidget): self.tcpthread.start() self.icchatinput.setFocus() + + def allMusic(self): + for song in self.musiclist: + song = song.replace("","&").decode('utf-8') + songitem = QtGui.QListWidgetItem() + songitem.setText(song) + if exists(AOpath + 'sounds/music/' + song.lower()): + songitem.setBackgroundColor(QtGui.QColor(128, 255, 128)) + #else: + #songitem.setBackgroundColor(QtGui.QColor(255, 128, 128)) + self.musicitems.addItem(songitem) def allEvidence(self, evi): self.evidence = evi