logout button / only enable kick-ban if logged in

This commit is contained in:
cidoku 2025-02-17 21:42:15 -03:00
parent aff375113b
commit 1b74471c3a

View File

@ -685,6 +685,7 @@ class gui(QtGui.QWidget):
charini = ConfigParser()
chatmsg = ''
charid = -1
login = False
#ICchat = QtCore.pyqtSignal(str, str, str, str, str, str, int, int, int, int, int, int, int, int)
#ICchat = QtCore.pyqtSignal(list)
@ -863,9 +864,11 @@ class gui(QtGui.QWidget):
self.playerKick = QtGui.QPushButton(self.gametab_players)
self.playerKick.setText('Kick')
self.playerKick.clicked.connect(self.onClicked_playerKick)
self.playerKick.setDisabled(True)
self.playerBan = QtGui.QPushButton(self.gametab_players)
self.playerBan.setText('Ban')
self.playerBan.clicked.connect(self.onClicked_playerBan)
self.playerBan.setDisabled(True)
self.unmutedlist = QtGui.QListWidget(self.gametab_mute)
self.mutedlist = QtGui.QListWidget(self.gametab_mute)
@ -931,12 +934,12 @@ class gui(QtGui.QWidget):
self.gametabs.addTab(self.gametab_log, 'Log')
self.gametabs.addTab(self.gametab_evidence, 'Evidence')
self.gametabs.addTab(self.gametab_msgqueue, 'Queue')
self.gametabs.addTab(self.gametab_players, 'Players')
self.gametabs.addTab(self.gametab_mute, 'Mute')
self.gametabs.addTab(self.gametab_iniswap, 'INI swap')
self.gametabs.addTab(self.gametab_pair, 'Pair')
self.gametabs.addTab(self.gametab_misc, 'Misc')
self.gametabs.addTab(self.gametab_msgqueue, 'Queue')
self.icchatinput = QtGui.QLineEdit(self)
self.icchatinput.setGeometry(0, VIEWPORT_H, VIEWPORT_W, 23)
@ -1169,10 +1172,16 @@ class gui(QtGui.QWidget):
self.effectdropdown.setCurrentIndex(0)
def onOOCLoginBtn(self):
if not self.oocnameinput.text():
self.oocnameinput.setText("unnamed")
if not self.login:
password, ok = QtGui.QInputDialog.getText(self, "Login as moderator", "Enter password.")
if password and ok:
self.sendOOCchat(self.oocnameinput.text().toUtf8(), "/login")
self.sendOOCchat(self.oocnameinput.text().toUtf8(), password.toUtf8())
else:
self.sendOOCchat(self.oocnameinput.text().toUtf8(), "/logout")
def setPing(self, newping):
self.pinglabel.setText("Ping: %d" % newping)
@ -1595,6 +1604,12 @@ class gui(QtGui.QWidget):
elif type == 'warning':
reply = QtGui.QMessageBox.warning(self, *args, **kwargs)
if self.willDisconnect:
self.selectedplayer = -1
self.playerList.clear()
self.playerKick.setDisabled(True)
self.playerBan.setDisabled(True)
self.ooclogin.setText("Login")
login = False
self.stopMusic()
self.gamewindow.returnToMenu()
@ -2651,7 +2666,7 @@ class gui(QtGui.QWidget):
self.charselect.setCharList(charlist)
self.charselect.show()
self.oocnameinput.setText(ini.read_ini("AO2XP.ini", "General", "OOC name"))
self.oocnameinput.setText(ini.read_ini("AO2XP.ini", "General", "OOC name", "unnamed"))
self.shownameedit.setText(ini.read_ini("AO2XP.ini", "General", "Showname"))
self.pairdropdown.clear()
@ -3040,6 +3055,10 @@ class TCP_Thread(QtCore.QThread):
self.parent.playerList.clear()
self.parent.stopMusic()
self.parent.tcp.close()
self.parent.playerKick.setDisabled(True)
self.parent.playerBan.setDisabled(True)
self.parent.ooclogin.setText("Login")
self.parent.login = False
self.quit()
return
pingtimer -= 1
@ -3184,6 +3203,16 @@ class TCP_Thread(QtCore.QThread):
elif header == 'AUTH': # login status (AO 2.9)
status = int(network[1])
statusStrings = ["You have logged out", "Wrong password", "Logged in"]
if status == 1:
self.parent.login = True
self.parent.playerKick.setDisabled(False)
self.parent.playerBan.setDisabled(False)
self.parent.ooclogin.setText("Log out")
elif status == -1:
self.parent.login = False
self.parent.playerKick.setDisabled(True)
self.parent.playerBan.setDisabled(True)
self.parent.ooclogin.setText("Login")
self.OOC_Log.emit("<b>%s</b>" % (statusStrings[status+1]))
elif header == "CHECK": #ping