auto switch area on join

This commit is contained in:
simio 2025-02-21 06:02:16 -03:00
parent 53d77b587f
commit 1aac0f982b
2 changed files with 21 additions and 7 deletions

View File

@ -1865,17 +1865,18 @@ class gui(QtGui.QWidget):
self.stopMusic()
def onMusicClick(self, item):
if "cccc_ic_support" in self.features and self.showname:
self.tcp.send('MC#' + item.text() + '#' + str(self.mychar) + '#' + self.showname + '#%')
else:
self.tcp.send('MC#' + item.text() + '#' + str(self.mychar) + '#%')
self.sendMC(item.text())
def onAreaClick(self, item):
area = item.text().split('\n')[0]
self.sendMC(area)
def sendMC(self, content):
if "cccc_ic_support" in self.features and self.showname:
self.tcp.send('MC#' + area + '#' + str(self.mychar) + '#' + self.showname + '#%')
self.tcp.send('MC#' + content + '#' + str(self.mychar) + '#' + self.showname + '#%')
else:
self.tcp.send('MC#' + area + '#' + str(self.mychar) + '#%')
self.tcp.send('MC#' + content + '#' + str(self.mychar) + '#%')
def icLogChanged(self):
if self.icLog.verticalScrollBar().value() == self.icLog.verticalScrollBar().maximum(): self.icLog.verticalScrollBar().setValue(self.icLog.verticalScrollBar().maximum())
@ -2967,7 +2968,6 @@ class gui(QtGui.QWidget):
if "base/" in webAO_bucket:
webAO_bucket = webAO_bucket.replace("base/", "")
buckets[0] = webAO_bucket
self.charselect.setCharList(charlist)
autopick = get_option("General", "auto pick").decode('utf-8').lower()
coincidence = -1
@ -2981,6 +2981,10 @@ class gui(QtGui.QWidget):
else:
self.charselect.show()
#putting it down here because some servers won't allow you to switch areas without picking a character first
autojoinarea = get_option("General", "auto join area").decode('utf-8')
if autojoinarea != "": self.sendMC(autojoinarea)
self.oocnameinput.setText(ini.read_ini("AO2XP.ini", "General", "OOC name", "unnamed"))
self.shownameedit.setText(ini.read_ini("AO2XP.ini", "General", "Showname"))

View File

@ -116,6 +116,12 @@ class Settings(QtGui.QDialog):
autopick_layout.addWidget(autopick_label)
autopick_layout.addWidget(self.autopick)
autojoinarea_layout = QtGui.QHBoxLayout()
autojoinarea_label = QtGui.QLabel("Go to this area automatically on join")
self.autojoinarea = QtGui.QLineEdit()
autojoinarea_layout.addWidget(autojoinarea_label)
autojoinarea_layout.addWidget(self.autojoinarea)
self.autoconnect.addItem("Always show server list")
if exists(AOpath+'serverlist.txt'):
with open(AOpath+'serverlist.txt') as file:
@ -147,6 +153,7 @@ class Settings(QtGui.QDialog):
general_layout.addLayout(currtheme_layout)
general_layout.addLayout(autoconnect_layout)
general_layout.addLayout(autopick_layout)
general_layout.addLayout(autojoinarea_layout)
general_layout.addWidget(separators[3])
general_layout.addLayout(update_layout)
general_layout.addWidget(savechangeswarn, 50, QtCore.Qt.AlignBottom)
@ -228,6 +235,8 @@ class Settings(QtGui.QDialog):
self.currtheme.setCurrentIndex(self.themes.index(ini.read_ini(self.inifile, "General", "theme", "default")))
self.autoconnect.setCurrentIndex(ini.read_ini_int(self.inifile, "General", "auto connect", -1) + 1)
self.autopick.setEditText(ini.read_ini(self.inifile, "General", "auto pick").decode('utf-8'))
self.autojoinarea.setText(ini.read_ini(self.inifile, "General", "auto join area").decode('utf-8'))
self.check_updates.setChecked(ini.read_ini_bool(self.inifile, "General", "install updates", False)) # Automatic updates are opt-in!
self.device_list.setCurrentIndex(ini.read_ini_int(self.inifile, "Audio", "device", audio.getcurrdevice()))
@ -279,6 +288,7 @@ class Settings(QtGui.QDialog):
self.inifile.set("General", "theme", self.currtheme.currentText())
self.inifile.set("General", "auto connect", self.autoconnect.currentIndex() - 1)
self.inifile.set("General", "auto pick", self.autopick.currentText().toUtf8())
self.inifile.set("General", "auto join area", self.autojoinarea.text().toUtf8())
self.inifile.set("General", "install updates", self.check_updates.isChecked())
self.inifile.set("Audio", "device", self.device_list.currentIndex())