background list

This commit is contained in:
cidoku 2025-08-18 03:27:03 -04:00
parent be6b788cec
commit 491226ec03
3 changed files with 44 additions and 3 deletions

View File

@ -3,8 +3,8 @@ self.gamewindow.setStyleSheet("")
self.width = 820
self.height = 730
self.viewport_w = 256*2
self.viewport_h = 192*2
#self.viewport_w = 256*2
#self.viewport_h = 192*2
self.ao2text.setGeometry(16, 32, self.viewport_w - 32, 112)
self.ao2text.setStyleSheet("background-color: rgba(0, 0, 0, 0); color: white;")
@ -49,6 +49,11 @@ self.musicitems.setGeometry(8, 8, 268, 184)
self.musicsearch.setGeometry(8, self.musicitems.size().height() + 16, 268, self.musicsearch.sizeHint().height())
self.found_songitem_color = "#80ff80"
self.backgrounditems.setGeometry(8, 8, 268, 184)
self.backgroundsearch.setGeometry(8, self.musicitems.size().height() + 16, 268 - self.backgroundrefresh.sizeHint().width() - 20, self.musicsearch.sizeHint().height())
self.backgroundrefresh.resize(self.backgroundrefresh.sizeHint())
self.backgroundrefresh.move(268 - self.backgroundrefresh.sizeHint().width(), self.backgrounditems.size().height() + 16)
self.iclog.setGeometry(8, 8, 714 - 304 - 22, 212)
self.evidencedropdown.setGeometry(8, 8, 192, 20)

View File

@ -13,7 +13,7 @@ Features added since the last commit of [Headshot's AO2XP](https://github.com/he
- Exporting/importing evidence to/from a file
- Timers
- Slide animations
- Player and area lists
- Player, area, and background lists
- Search boxes on music list and character select
- Join a server automatically on launch
- Pick a character and join an area automatically on join

View File

@ -1236,6 +1236,7 @@ class GUI(QtGui.QWidget):
self.gametab_misc = QtGui.QWidget() # ao2xp misc/fun stuff
self.gametab_players = QtGui.QWidget() # client list
self.gametab_music = QtGui.QWidget() # music list
self.gametab_backgrounds = QtGui.QWidget() # backgrounds list
self.musicareatabs = QtGui.QTabWidget(self)
self.musicitems = QtGui.QListWidget(self.gametab_music)
@ -1249,6 +1250,18 @@ class GUI(QtGui.QWidget):
self.areaitems = QtGui.QListWidget()
self.areaitems.itemDoubleClicked.connect(self.onAreaClick)
self.backgrounds = []
self.backgrounditems = QtGui.QListWidget(self.gametab_backgrounds)
self.backgrounditems.itemDoubleClicked.connect(self.onBackgroundClick)
self.backgroundsearch = QtGui.QLineEdit(self.gametab_backgrounds)
self.backgroundsearch.setPlaceholderText("Search...")
self.backgroundsearch.textChanged.connect(self.onBackgroundSearch)
self.backgroundrefresh = QtGui.QPushButton(self.gametab_backgrounds)
self.backgroundrefresh.setText('Refresh')
self.backgroundrefresh.clicked.connect(self.loadBackgrounds)
self.loadBackgrounds()
self.demoitems = demo.get_demo_treeview()
self.demoitems.doubleClicked.connect(self.on_demo_click)
@ -1406,6 +1419,7 @@ class GUI(QtGui.QWidget):
self.musicareatabs.addTab(self.gametab_music, "&Music")
self.musicareatabs.addTab(self.areaitems, "&Areas")
self.musicareatabs.addTab(self.gametab_players, 'Pla&yers')
self.musicareatabs.addTab(self.gametab_backgrounds, "&Backs")
self.musicareatabs.addTab(self.demoitems, "Demos")
self.icchatinput = QtGui.QLineEdit(self)
@ -1787,6 +1801,25 @@ class GUI(QtGui.QWidget):
self.musicitems.addItem(songitem)
else:
self.allMusic()
def loadBackgrounds(self):
self.backgrounditems.clear()
self.backgroundsearch.clear()
self.backgrounds = []
for folder in os.listdir(unicode(AOpath + 'background')):
self.backgrounds.append(folder)
self.backgrounditems.addItem(folder)
def onBackgroundSearch(self, text):
self.backgrounditems.clear()
if text:
for bg in self.backgrounds:
if QtCore.QString(bg).contains(text, QtCore.Qt.CaseInsensitive):
self.backgrounditems.addItem(bg)
else:
for bg in self.backgrounds:
self.backgrounditems.addItem(bg)
def setEvidenceImg(self, guiobj, image, scale=False):
if exists(AOpath + 'evidence/' + image):
@ -2391,6 +2424,9 @@ class GUI(QtGui.QWidget):
area = item.text().split('\n')[0]
self.sendMC(area)
def onBackgroundClick(self, item):
self.sendOOCchat(self.oocnameinput.text().toUtf8(), "/bg " + item.text())
def sendMC(self, content):
if "cccc_ic_support" in self.features and self.showname:
self.tcp.send('MC#' + content + '#' + str(self.mychar) + '#' + self.showname.decode('utf-8') + '#%')