switch themes without restarting
This commit is contained in:
parent
8b2cf307bf
commit
96d051adfe
@ -17,12 +17,10 @@ self.gametab_pair.setObjectName("gametab_pair")
|
|||||||
self.gametab_misc.setObjectName("gametab_misc")
|
self.gametab_misc.setObjectName("gametab_misc")
|
||||||
self.gametab_msgqueue.setObjectName("gametab_msgqueue")
|
self.gametab_msgqueue.setObjectName("gametab_msgqueue")
|
||||||
self.gametab_music.setObjectName("gametab_music")
|
self.gametab_music.setObjectName("gametab_music")
|
||||||
self.areaitems.setObjectName("areaitems")
|
|
||||||
self.gametab_players.setObjectName("gametab_player")
|
self.gametab_players.setObjectName("gametab_player")
|
||||||
self.demoitems.setObjectName("demoitems")
|
|
||||||
|
|
||||||
self.gamewindow.setStyleSheet("""
|
self.gamewindow.setStyleSheet("""
|
||||||
QWidget#main, QSlider, QCheckBox, QLabel#musiclabel, QLabel#sfxlabel, QLabel#blipslabel, QLabel#notmutedlabel, QLabel#mutedlabel, QLabel#iniswapinfo, QLabel#pairoffset_l, QLabel#ypairoffset_l, QLabel#pair_order_l
|
QWidget#main, QSlider, QCheckBox, QLabel#musiclabel, QLabel#sfxlabel, QLabel#blipslabel, QLabel#notmutedlabel, QLabel#mutedlabel, QLabel#iniswapinfo, QLabel#pairoffset_l, QLabel#ypairoffset_l, QLabel#pair_order_l, QWidget#gametab_log, QWidget#gametab_evidence, QWidget#gametab_mute, QWidget#gametab_iniswap, QWidget#gametab_pair, QWidget#gametab_misc, QWidget#gametab_msgqueue, QWidget#gametab_music, QWidget#gametab_player
|
||||||
{
|
{
|
||||||
color: #eeeeee;
|
color: #eeeeee;
|
||||||
background: #111111;
|
background: #111111;
|
||||||
@ -35,6 +33,8 @@ self.gamewindow.setStyleSheet("""
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.found_songitem_color = "#444444"
|
||||||
|
|
||||||
self.width = 820
|
self.width = 820
|
||||||
self.height = 730
|
self.height = 730
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
self.gamewindow.setStyleSheet("")
|
||||||
|
|
||||||
self.width = 820
|
self.width = 820
|
||||||
self.height = 730
|
self.height = 730
|
||||||
|
|
||||||
@ -42,6 +44,7 @@ self.ooclogin.move(814 - (self.ooclogin.size().width()), self.oocinput.y() + sel
|
|||||||
self.musicareatabs.setGeometry(814 - 288, 468, 288, 258)
|
self.musicareatabs.setGeometry(814 - 288, 468, 288, 258)
|
||||||
self.musicitems.setGeometry(8, 8, 268, 184)
|
self.musicitems.setGeometry(8, 8, 268, 184)
|
||||||
self.musicsearch.setGeometry(8, self.musicitems.size().height() + 16, 268, self.musicsearch.sizeHint().height())
|
self.musicsearch.setGeometry(8, self.musicitems.size().height() + 16, 268, self.musicsearch.sizeHint().height())
|
||||||
|
self.found_songitem_color = "#80ff80"
|
||||||
|
|
||||||
self.iclog.setGeometry(8, 8, 714 - 304 - 22, 212)
|
self.iclog.setGeometry(8, 8, 714 - 304 - 22, 212)
|
||||||
|
|
||||||
|
14
gameview.py
14
gameview.py
@ -1225,6 +1225,8 @@ class GUI(QtGui.QWidget):
|
|||||||
self.musicsearch.setPlaceholderText("Search...")
|
self.musicsearch.setPlaceholderText("Search...")
|
||||||
self.musicsearch.textChanged.connect(self.onMusicSearch)
|
self.musicsearch.textChanged.connect(self.onMusicSearch)
|
||||||
|
|
||||||
|
self.found_songitem_color = "background: #80FF80;"
|
||||||
|
|
||||||
self.areaitems = QtGui.QListWidget()
|
self.areaitems = QtGui.QListWidget()
|
||||||
self.areaitems.itemDoubleClicked.connect(self.onAreaClick)
|
self.areaitems.itemDoubleClicked.connect(self.onAreaClick)
|
||||||
|
|
||||||
@ -1583,6 +1585,7 @@ class GUI(QtGui.QWidget):
|
|||||||
self.playsfx = 1
|
self.playsfx = 1
|
||||||
self.demo_recorder = None
|
self.demo_recorder = None
|
||||||
self.demo_playing = False
|
self.demo_playing = False
|
||||||
|
self.musiclist = {}
|
||||||
|
|
||||||
self.slide_enabled = bool(get_option("General", "slide", False))
|
self.slide_enabled = bool(get_option("General", "slide", False))
|
||||||
self.slide_available = False
|
self.slide_available = False
|
||||||
@ -1621,13 +1624,16 @@ class GUI(QtGui.QWidget):
|
|||||||
# Finally, load the theme
|
# Finally, load the theme
|
||||||
self.width = 820
|
self.width = 820
|
||||||
self.height = 730
|
self.height = 730
|
||||||
|
self.load_theme()
|
||||||
|
|
||||||
|
def load_theme(self):
|
||||||
theme = get_option("General", "theme", "default")
|
theme = get_option("General", "theme", "default")
|
||||||
try:
|
try:
|
||||||
with open(AO2XPpath+"ao2xp_themes/"+theme+"/theme.py") as t:
|
with open(AO2XPpath+"ao2xp_themes/"+theme+"/theme.py") as t:
|
||||||
exec t
|
exec t
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
QtGui.QMessageBox.critical(None, "Unable to load theme", "There was a problem loading the current theme \"%s\":\n\n%s." % (theme, e))
|
QtGui.QMessageBox.critical(None, "Unable to load theme", "There was a problem loading the current theme \"%s\":\n\n%s." % (theme, e))
|
||||||
os._exit(-2)
|
os._exit(-2)
|
||||||
|
|
||||||
def reset_offsets(self):
|
def reset_offsets(self):
|
||||||
self.pairoffset.setValue(0)
|
self.pairoffset.setValue(0)
|
||||||
@ -1755,7 +1761,7 @@ class GUI(QtGui.QWidget):
|
|||||||
songitem = QtGui.QListWidgetItem()
|
songitem = QtGui.QListWidgetItem()
|
||||||
songitem.setText(song)
|
songitem.setText(song)
|
||||||
if exists(unicode(AOpath + 'sounds/music/' + fname.replace("<and>","&").lower())):
|
if exists(unicode(AOpath + 'sounds/music/' + fname.replace("<and>","&").lower())):
|
||||||
songitem.setBackgroundColor(QtGui.QColor(128, 255, 128))
|
songitem.setBackgroundColor(QtGui.QColor(self.found_songitem_color))
|
||||||
self.musicitems.addItem(songitem)
|
self.musicitems.addItem(songitem)
|
||||||
else:
|
else:
|
||||||
self.allMusic()
|
self.allMusic()
|
||||||
@ -3671,7 +3677,7 @@ class GUI(QtGui.QWidget):
|
|||||||
songitem = QtGui.QListWidgetItem()
|
songitem = QtGui.QListWidgetItem()
|
||||||
songitem.setText(song)
|
songitem.setText(song)
|
||||||
if exists(unicode(AOpath + 'sounds/music/' + fname.replace("<and>","&").lower())):
|
if exists(unicode(AOpath + 'sounds/music/' + fname.replace("<and>","&").lower())):
|
||||||
songitem.setBackgroundColor(QtGui.QColor(128, 255, 128))
|
songitem.setBackgroundColor(QtGui.QColor(self.found_songitem_color))
|
||||||
#else:
|
#else:
|
||||||
#songitem.setBackgroundColor(QtGui.QColor(255, 128, 128))
|
#songitem.setBackgroundColor(QtGui.QColor(255, 128, 128))
|
||||||
self.musicitems.addItem(songitem)
|
self.musicitems.addItem(songitem)
|
||||||
|
18
options.py
18
options.py
@ -145,8 +145,8 @@ class Settings(QtGui.QDialog):
|
|||||||
autojoinarea_layout.addWidget(self.autojoinarea)
|
autojoinarea_layout.addWidget(self.autojoinarea)
|
||||||
|
|
||||||
self.autoconnect.addItem("Always show server list")
|
self.autoconnect.addItem("Always show server list")
|
||||||
if exists(AOpath+'serverlist.txt'):
|
if exists('serverlist.txt'):
|
||||||
with open(AOpath+'serverlist.txt') as file:
|
with open('serverlist.txt') as file:
|
||||||
for server in [line.rstrip().split(':') for line in file]:
|
for server in [line.rstrip().split(':') for line in file]:
|
||||||
self.autoconnect.addItem(server[-1])
|
self.autoconnect.addItem(server[-1])
|
||||||
autoconnect_layout.addWidget(autoconnect_label)
|
autoconnect_layout.addWidget(autoconnect_label)
|
||||||
@ -238,6 +238,7 @@ class Settings(QtGui.QDialog):
|
|||||||
self.savelogs_state = False
|
self.savelogs_state = False
|
||||||
self.combinelogs_state = False
|
self.combinelogs_state = False
|
||||||
self.savedemos_state = False
|
self.savedemos_state = False
|
||||||
|
self.theme_state = ""
|
||||||
|
|
||||||
def showSettings(self):
|
def showSettings(self):
|
||||||
if exists("AO2XP.ini"):
|
if exists("AO2XP.ini"):
|
||||||
@ -254,10 +255,10 @@ class Settings(QtGui.QDialog):
|
|||||||
except:
|
except:
|
||||||
self.defaultshowname.setText(ini.read_ini(self.inifile, "General", "showname"))
|
self.defaultshowname.setText(ini.read_ini(self.inifile, "General", "showname"))
|
||||||
self.enableslide.setChecked(ini.read_ini_bool(self.inifile, "General", "slide", False))
|
self.enableslide.setChecked(ini.read_ini_bool(self.inifile, "General", "slide", False))
|
||||||
self.allowdownload_chars.setChecked(ini.read_ini_bool(self.inifile, "General", "download characters"))
|
self.allowdownload_chars.setChecked(ini.read_ini_bool(self.inifile, "General", "download characters", False))
|
||||||
self.allowdownload_sounds.setChecked(ini.read_ini_bool(self.inifile, "General", "download sounds"))
|
self.allowdownload_sounds.setChecked(ini.read_ini_bool(self.inifile, "General", "download sounds", False))
|
||||||
self.allowdownload_music.setChecked(ini.read_ini_bool(self.inifile, "General", "download music"))
|
self.allowdownload_music.setChecked(ini.read_ini_bool(self.inifile, "General", "download music"))
|
||||||
self.allowdownload_evidence.setChecked(ini.read_ini_bool(self.inifile, "General", "download evidence"))
|
self.allowdownload_evidence.setChecked(ini.read_ini_bool(self.inifile, "General", "download evidence", False))
|
||||||
self.currtheme.setCurrentIndex(self.themes.index(ini.read_ini(self.inifile, "General", "theme", "default")))
|
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.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.autopick.setEditText(ini.read_ini(self.inifile, "General", "auto pick").decode('utf-8'))
|
||||||
@ -300,6 +301,7 @@ class Settings(QtGui.QDialog):
|
|||||||
self.savelogs_state = self.savetolog.isChecked()
|
self.savelogs_state = self.savetolog.isChecked()
|
||||||
self.combinelogs_state = self.savetolog_combine.isChecked()
|
self.combinelogs_state = self.savetolog_combine.isChecked()
|
||||||
self.savedemos_state = self.savedemos.isChecked()
|
self.savedemos_state = self.savedemos.isChecked()
|
||||||
|
self.theme_state = self.currtheme.currentText()
|
||||||
|
|
||||||
self.tabs.setCurrentIndex(0)
|
self.tabs.setCurrentIndex(0)
|
||||||
self.show()
|
self.show()
|
||||||
@ -343,6 +345,8 @@ class Settings(QtGui.QDialog):
|
|||||||
|
|
||||||
self.gamewindow.gamewidget.text_wait_time = self.textstaytime.value()
|
self.gamewindow.gamewidget.text_wait_time = self.textstaytime.value()
|
||||||
self.gamewindow.gamewidget.slide_enabled = self.enableslide.isChecked()
|
self.gamewindow.gamewidget.slide_enabled = self.enableslide.isChecked()
|
||||||
|
if not self.theme_state == self.currtheme.currentText():
|
||||||
|
self.gamewindow.gamewidget.load_theme()
|
||||||
|
|
||||||
if not self.gamewindow.gamewidget.demo_playing:
|
if not self.gamewindow.gamewidget.demo_playing:
|
||||||
if not (self.savelogs_state == self.savetolog.isChecked() and self.combinelogs_state == self.savetolog_combine.isChecked()):
|
if not (self.savelogs_state == self.savetolog.isChecked() and self.combinelogs_state == self.savetolog_combine.isChecked()):
|
||||||
@ -369,8 +373,8 @@ class Settings(QtGui.QDialog):
|
|||||||
if code == 0:
|
if code == 0:
|
||||||
subprocess.Popen(["./AO2XPupdat"])
|
subprocess.Popen(["./AO2XPupdat"])
|
||||||
_exit(0)
|
_exit(0)
|
||||||
elif osname == "Darwin": # bundle
|
#elif osname == "Darwin": # bundle
|
||||||
os.chdir(Cocoa.NSBundle.mainBundle().resourcePath()) # return to Resources folder
|
# os.chdir(Cocoa.NSBundle.mainBundle().resourcePath()) # return to Resources folder
|
||||||
|
|
||||||
def onReloadAudio(self):
|
def onReloadAudio(self):
|
||||||
audio.free()
|
audio.free()
|
||||||
|
Loading…
Reference in New Issue
Block a user