separate area list from music list and show online users, area status, etc.
This commit is contained in:
parent
4517786004
commit
c61733de05
@ -36,7 +36,7 @@ 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.musicitems.setGeometry(814 - 288, 468, 288, 256)
|
||||
self.musicareatabs.setGeometry(814 - 288, 468, 288, 256)
|
||||
|
||||
self.icLog.setGeometry(8, 8, 714 - 304 - 22, 212)
|
||||
|
||||
|
72
gameview.py
72
gameview.py
@ -813,8 +813,14 @@ class gui(QtGui.QWidget):
|
||||
self.ooclogin = QtGui.QPushButton("Login", self)
|
||||
self.ooclogin.clicked.connect(self.onOOCLoginBtn)
|
||||
|
||||
self.musicitems = QtGui.QListWidget(self)
|
||||
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.musicareatabs.addTab(self.musicitems, "Music")
|
||||
self.musicareatabs.addTab(self.areaitems, "Areas")
|
||||
|
||||
self.gametabs = QtGui.QTabWidget(self)
|
||||
self.gametab_log = QtGui.QWidget() # the IC chat log
|
||||
@ -1115,6 +1121,7 @@ class gui(QtGui.QWidget):
|
||||
self.chatbox.show()
|
||||
|
||||
self.areas = []
|
||||
self.areas_len = 0
|
||||
self.muteselected = -1
|
||||
self.unmuteselected = -1
|
||||
self.muted = []
|
||||
@ -1293,9 +1300,9 @@ class gui(QtGui.QWidget):
|
||||
|
||||
def onMuteClick(self):
|
||||
if self.unmutedlist.count() == 0:
|
||||
return QtGui.QMessageBox.warning(self, 'smh', 'you muted everyone\nhow does it feel?')
|
||||
return QtGui.QMessageBox.information(self, 'No character selected', 'There are no characters to mute.')
|
||||
if self.muteselected == -1:
|
||||
return QtGui.QMessageBox.warning(self, 'hey genius', 'who exactly are you muting?\nclick on their name then on the >> button')
|
||||
return QtGui.QMessageBox.information(self, 'No character selected', 'To mute a character, select their name from the list to the left, then click the >> button.')
|
||||
for i in range(len(self.charlist)):
|
||||
if self.charlist[i][0] == self.unmutedlist.item(self.muteselected).text():
|
||||
self.muted.append(i)
|
||||
@ -1313,9 +1320,9 @@ class gui(QtGui.QWidget):
|
||||
|
||||
def onUnmuteClick(self):
|
||||
if self.mutedlist.count() == 0:
|
||||
return QtGui.QMessageBox.warning(self, 'smh', "you haven't muted anyone yet\nbet 5$ everyone there is talking endlessly like those kids at the classroom when the teacher hasn't arrived yet")
|
||||
return QtGui.QMessageBox.information(self, 'No character selected', "There are no characters to unmute.")
|
||||
if self.unmuteselected == -1:
|
||||
return QtGui.QMessageBox.warning(self, 'hey genius', 'who exactly are you unmuting?\nclick on their name then on the >> button')
|
||||
return QtGui.QMessageBox.information(self, 'No character selected', 'To unmute a character, select their name from the list to the right, then click the << button.')
|
||||
for char in self.charlist:
|
||||
if char[0] == self.mutedlist.item(self.unmuteselected).text():
|
||||
del self.muted[self.unmuteselected]
|
||||
@ -1590,7 +1597,7 @@ class gui(QtGui.QWidget):
|
||||
target_str = "private"
|
||||
|
||||
if evi in target:
|
||||
return QtGui.QMessageBox.warning(self, "Can't transfer evidence", 'The evidence "%s" already exists in the %s inventory.' % (evi[0], target_str))
|
||||
return QtGui.QMessageBox.information(self, "Can't transfer evidence", 'The evidence "%s" already exists in the %s inventory.' % (evi[0], target_str))
|
||||
else:
|
||||
if self.privateinv:
|
||||
self.tcp.send('PE#' + evi[0] + '#' + evi[1] + '#' + evi[2] + '#%')
|
||||
@ -1623,7 +1630,7 @@ class gui(QtGui.QWidget):
|
||||
self.privatedropdown.addItem(evi[0])
|
||||
|
||||
if fail:
|
||||
return QtGui.QMessageBox.warning(self, "Some evidence wasn't transferred", "The following evidence already exists in the %s inventory:\n\n%s." % (target_str, ", ".join(fail)))
|
||||
return QtGui.QMessageBox.information(self, "Some evidence wasn't transferred", "The following evidence already exists in the %s inventory:\n\n%s." % (target_str, ", ".join(fail)))
|
||||
|
||||
def onSwitchInventory(self, reset=False):
|
||||
self.privateinv = not self.privateinv
|
||||
@ -1692,15 +1699,15 @@ class gui(QtGui.QWidget):
|
||||
self.selectedplayer = s[1:s.indexOf("]")]
|
||||
|
||||
def onClicked_removeQueue(self):
|
||||
if self.selectedmsg == -1:
|
||||
return QtGui.QMessageBox.warning(self, 'Nothing selected', 'Select a message from the list to remove it.')
|
||||
if len(self.msgqueueList) == 0:
|
||||
return QtGui.QMessageBox.warning(self, "Can't remove", 'There are no messages in the message queue.\nEnter a message on the Game chat to add one.')
|
||||
return QtGui.QMessageBox.information(self, "No messages in queue", 'Enter a message on the game chat to add one.')
|
||||
if self.selectedmsg == -1:
|
||||
return QtGui.QMessageBox.information(self, 'No message selected', 'Select a message from the list to remove it.')
|
||||
self.msgqueueList.takeItem(self.selectedmsg)
|
||||
del self.msgqueue[self.selectedmsg]
|
||||
|
||||
def onClicked_clearQueue(self):
|
||||
print "Not implemented"
|
||||
return QtGui.QMessageBox.information(self, "Clear queue", 'Not implemented.')
|
||||
|
||||
def onClicked_playerPair(self):
|
||||
if not self.selectedplayer == -1:
|
||||
@ -1708,11 +1715,11 @@ class gui(QtGui.QWidget):
|
||||
self.paircheckbox.setChecked(True)
|
||||
char = self.playerlist[str(self.selectedplayer)][1]
|
||||
if char == '':
|
||||
return QtGui.QMessageBox.warning(self, "Unable to pair", 'That player has no character selected.')
|
||||
return QtGui.QMessageBox.information(self, "Unable to pair", 'That player has no character selected.')
|
||||
else:
|
||||
self.pairdropdown.setCurrentIndex([c[0] for c in self.charlist].index(char))
|
||||
else:
|
||||
return QtGui.QMessageBox.warning(self, 'No player selected', 'Select a player from the list to attempt pairing.')
|
||||
return QtGui.QMessageBox.information(self, 'No player selected', 'Select a player from the list to attempt pairing.')
|
||||
|
||||
def onClicked_playerKick(self):
|
||||
if not self.selectedplayer == -1:
|
||||
@ -1720,7 +1727,7 @@ class gui(QtGui.QWidget):
|
||||
if reason and ok:
|
||||
self.tcp.send("MA#%s#0#%s#%%" % (self.selectedplayer, reason))
|
||||
else:
|
||||
return QtGui.QMessageBox.warning(self, 'No player selected', 'Select a player from the list to kick.')
|
||||
return QtGui.QMessageBox.information(self, 'No player selected', 'Select a player from the list to kick.')
|
||||
|
||||
def onClicked_playerBan(self):
|
||||
if not self.selectedplayer == -1:
|
||||
@ -1730,7 +1737,7 @@ class gui(QtGui.QWidget):
|
||||
if duration and ok:
|
||||
self.tcp.send("MA#%s#%s#%s#%%" % (self.selectedplayer, duration, reason))
|
||||
else:
|
||||
return QtGui.QMessageBox.warning(self, 'No player selected', 'Select a player from the list to ban.')
|
||||
return QtGui.QMessageBox.information(self, 'No player selected', 'Select a player from the list to ban.')
|
||||
|
||||
def changeEvidence(self, ind, kind):
|
||||
if ind < 0:
|
||||
@ -1808,6 +1815,13 @@ class gui(QtGui.QWidget):
|
||||
else:
|
||||
self.tcp.send('MC#' + item.text() + '#' + str(self.mychar) + '#%')
|
||||
|
||||
def onAreaClick(self, item):
|
||||
area = item.text().split('\n')[0]
|
||||
if "cccc_ic_support" in self.features and self.showname:
|
||||
self.tcp.send('MC#' + area + '#' + str(self.mychar) + '#' + self.showname + '#%')
|
||||
else:
|
||||
self.tcp.send('MC#' + area + '#' + str(self.mychar) + '#%')
|
||||
|
||||
def icLogChanged(self):
|
||||
if self.icLog.verticalScrollBar().value() == self.icLog.verticalScrollBar().maximum(): self.icLog.verticalScrollBar().setValue(self.icLog.verticalScrollBar().maximum())
|
||||
|
||||
@ -2847,6 +2861,7 @@ class gui(QtGui.QWidget):
|
||||
self.musiclist = musiclist
|
||||
self.evidence = evidence
|
||||
self.areas = areas
|
||||
self.areas_len = len(areas[0])
|
||||
self.features = features
|
||||
|
||||
if "base/" in webAO_bucket:
|
||||
@ -2904,6 +2919,7 @@ class gui(QtGui.QWidget):
|
||||
self.unmutedlist.addItem(char[0])
|
||||
|
||||
self.musicitems.clear()
|
||||
self.areaitems.clear()
|
||||
self.evidencedropdown.clear()
|
||||
for evi in evidence:
|
||||
self.evidencedropdown.addItem(evi[0])
|
||||
@ -2932,6 +2948,11 @@ class gui(QtGui.QWidget):
|
||||
#songitem.setBackgroundColor(QtGui.QColor(255, 128, 128))
|
||||
self.musicitems.addItem(songitem)
|
||||
|
||||
for area in areas[0]:
|
||||
areaitem = QtGui.QListWidgetItem()
|
||||
areaitem.setText("Area\n aaa\n aaa")
|
||||
self.areaitems.addItem(areaitem)
|
||||
|
||||
for pid in playerlist:
|
||||
self.updatePlayerList(pid, 0, 0)
|
||||
for type in range(len(playerlist[pid])):
|
||||
@ -3133,7 +3154,7 @@ class EditEvidenceDialog(QtGui.QDialog):
|
||||
path = str(QtGui.QFileDialog.getOpenFileName(self, "Select an image", AOpath + 'evidence', "Images (*.png)"))
|
||||
if path:
|
||||
if not "/evidence/" in path.lower():
|
||||
QtGui.QMessageBox.warning(self, 'Edit evidence', 'Please select a file from the evidence directory.')
|
||||
QtGui.QMessageBox.warning(self, 'Wrong directory', 'Please select a file from the "evidence" directory.')
|
||||
self.onBrowse()
|
||||
return
|
||||
|
||||
@ -3142,7 +3163,7 @@ class EditEvidenceDialog(QtGui.QDialog):
|
||||
ind = os.listdir(AOpath + 'evidence').index(file)
|
||||
self.choosepic.setCurrentIndex(ind)
|
||||
else:
|
||||
QtGui.QMessageBox.warning(self, 'Edit evidence', 'Please select a PNG file.')
|
||||
QtGui.QMessageBox.warning(self, 'Not a valid file', 'Please select a PNG image.')
|
||||
self.onBrowse()
|
||||
|
||||
def EditEvidence(self, ind):
|
||||
@ -3391,7 +3412,7 @@ class TCP_Thread(QtCore.QThread):
|
||||
|
||||
elif header == 'KK':
|
||||
reason = network[1]
|
||||
self.parent.emit(QtCore.SIGNAL('showMessage(QString, QString, QString)'), 'critical', 'Connection lost', 'You were kicked off the server. (%s)' % reason)
|
||||
self.parent.emit(QtCore.SIGNAL('showMessage(QString, QString, QString)'), 'critical', 'Connection lost', 'You were kicked from the server. (%s)' % reason)
|
||||
|
||||
elif header == 'KB':
|
||||
reason = network[1]
|
||||
@ -3399,7 +3420,7 @@ class TCP_Thread(QtCore.QThread):
|
||||
|
||||
elif header == 'BB': # message popup (AO 2.9)
|
||||
message = network[1]
|
||||
self.parent.emit(QtCore.SIGNAL('showMessage(QString, QString, QString)'), 'warning', 'Message from server', message)
|
||||
self.parent.emit(QtCore.SIGNAL('showMessage(QString, QString, QString)'), 'information', 'Message from server', message)
|
||||
|
||||
elif header == 'AUTH': # login status (AO 2.9)
|
||||
status = int(network[1])
|
||||
@ -3435,6 +3456,19 @@ class TCP_Thread(QtCore.QThread):
|
||||
del network[0]
|
||||
type = int(network[0])
|
||||
self.parent.areas[type] = [network[i] for i in range(1, len(network))]
|
||||
for i in range(self.parent.areas_len):
|
||||
try:
|
||||
if self.parent.areas[1][i] == "CASING":
|
||||
self.parent.areaitems.item(i).setText("%s\n%s | %s\n%s users | %s" % (self.parent.areas[4][i], self.parent.areas[1][i].title(), self.parent.areas[2][i], self.parent.areas[0][i], self.parent.areas[3][i]))
|
||||
else:
|
||||
self.parent.areaitems.item(i).setText("%s\n%s\n%s users | %s" % (self.parent.areas[4][i], self.parent.areas[1][i].title(), self.parent.areas[0][i], self.parent.areas[3][i].title()))
|
||||
|
||||
if self.parent.areas[3][i] == "LOCKED":
|
||||
self.parent.areaitems.item(i).setIcon(QtGui.QIcon(AO2XPpath + "icons/" + "lock.png"))
|
||||
else:
|
||||
self.parent.areaitems.item(i).setIcon(QtGui.QIcon(AO2XPpath + "icons/" + "house.png"))
|
||||
except:
|
||||
pass
|
||||
|
||||
class DownloadThread(QtCore.QThread):
|
||||
# Part of the evil HTTPS music download hack for XP systems
|
||||
|
@ -481,7 +481,7 @@ class AOServerInfo(QtCore.QThread):
|
||||
gotChars = False
|
||||
hplist = []
|
||||
joinooc = []
|
||||
areas = [[], [], [], []]
|
||||
areas = [[], [], [], [], []]
|
||||
features = []
|
||||
evidence = []
|
||||
playerlist = {}
|
||||
@ -625,6 +625,11 @@ class AOServerInfo(QtCore.QThread):
|
||||
del network[0]
|
||||
type = int(network[0])
|
||||
areas[type] = [network[i] for i in range(1, len(network))]
|
||||
areas_len = len(areas[type])
|
||||
print '[client]', 'received areas (%d)' % areas_len
|
||||
for i in range(areas_len):
|
||||
areas[4].append(musiclist[0])
|
||||
del musiclist[0]
|
||||
|
||||
elif header == 'DONE':
|
||||
if self.disconnect:
|
||||
|
Loading…
Reference in New Issue
Block a user