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