diff --git a/gameview.py b/gameview.py index 86f22ce..e490d6a 100644 --- a/gameview.py +++ b/gameview.py @@ -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 @@ -2980,6 +2980,10 @@ class gui(QtGui.QWidget): self.charselect.selectChar(coincidence) 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")) diff --git a/options.py b/options.py index ae48a62..59f1dc7 100644 --- a/options.py +++ b/options.py @@ -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())