improve theme loading from ini
This commit is contained in:
parent
6289b2a834
commit
de782b05c4
@ -2,7 +2,7 @@
|
||||
# window size is defined at the end of the file
|
||||
|
||||
# IC viewport
|
||||
_scale = 2.5
|
||||
_scale = 2
|
||||
self.viewport.setGeometry(0, 0, 256 * _scale, 192 * _scale)
|
||||
|
||||
# Textbox
|
||||
|
||||
116
gameview.py
116
gameview.py
@ -1769,7 +1769,7 @@ class GUI(QtGui.QWidget):
|
||||
"change_character": self.btnChangeChar,
|
||||
"call_mod": self.btnCallMod,
|
||||
"reload_theme": self.btnReloadTheme,
|
||||
"ic_chat_name": self.shownameEdit,
|
||||
"ao2_ic_chat_name": self.shownameEdit,
|
||||
"settings": self.btnSettings,
|
||||
"ao2_chatbox": self.chatbox,
|
||||
"ao2_ic_chat_message": self.ICChatInput,
|
||||
@ -1845,14 +1845,19 @@ class GUI(QtGui.QWidget):
|
||||
stack.setAutoFillBackground(True)
|
||||
stack.setAttribute(QtCore.Qt.WA_NoSystemBackground, False)
|
||||
|
||||
with open(AO2XPpath + "ao2xp_themes/" + theme + "/theme.py") as t:
|
||||
# pyThemes
|
||||
pyTheme = AO2XPpath + "ao2xp_themes/" + theme + "/theme.py"
|
||||
if exists(pyTheme):
|
||||
with open(pyTheme) as t:
|
||||
exec t
|
||||
else:
|
||||
self._themeCommon()
|
||||
|
||||
if switching:
|
||||
# This is to reset the colors on the music list. Not necessary on startup
|
||||
self.onMusicSearch("")
|
||||
|
||||
self.viewportScale = self.viewport.height() / float(192)
|
||||
|
||||
self.court.resize(self.viewport.size())
|
||||
self.bench.resize(self.viewport.size())
|
||||
self.effectView.resize()
|
||||
@ -1863,13 +1868,13 @@ class GUI(QtGui.QWidget):
|
||||
self.sideChar.resize()
|
||||
self.slideWitness.resize()
|
||||
self.slideSpeaker.resize()
|
||||
|
||||
self.ao2text.setGeometry(self.text.geometry())
|
||||
self.ao2text.setStyleSheet(self.text.styleSheet())
|
||||
self.sliDemoSeekbar.setGeometry(self.ICChatInput.geometry())
|
||||
|
||||
# Theme chatbox
|
||||
chatboxPixmap = QtGui.QPixmap(testPath(
|
||||
AO2XPpath + "ao2xp_themes/%s/chatmed.png" % theme,
|
||||
AO2XPpath + "ao2xp_themes/%s/chat.png" % theme,
|
||||
AO2XPpath + 'themes/default/chatmed.png'
|
||||
))
|
||||
@ -1908,7 +1913,6 @@ class GUI(QtGui.QWidget):
|
||||
with open(courtroomDesign) as f:
|
||||
for keys in f.read().split("\n"):
|
||||
if not keys or "=" not in keys or keys[0] == ";": continue
|
||||
|
||||
key, value = keys.split("=")
|
||||
fonts[key.strip()] = value.replace(" ", "").split(',')
|
||||
|
||||
@ -1975,6 +1979,108 @@ class GUI(QtGui.QWidget):
|
||||
# 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)
|
||||
|
||||
def _themeCommon(self):
|
||||
# Textbox
|
||||
self.name.setStyleSheet('color: white')
|
||||
self.text.setStyleSheet("background-color: rgba(0, 0, 0, 0); color: white;")
|
||||
self.nameFontPointSize = 12
|
||||
self.textFontPointSize = 24
|
||||
|
||||
# IC input and demo slider
|
||||
viewportRight = max(self.viewport.x() + self.viewport.width(), 512)
|
||||
|
||||
# IC options
|
||||
gameTabsHeight = self.gameTabs.height() - self.gameTabs.findChild(QtGui.QTabBar).height()
|
||||
self.ICLog.setGeometry(0, 0, self.gameTabs.width(), gameTabsHeight)
|
||||
self.boxPrivateEvidence.setGeometry(8, 8, 192, 20)
|
||||
self.evidenceDescription.setGeometry(8, 108, self.gameTabs.width() - 22, 112)
|
||||
self.evidenceImage.setGeometry(self.evidenceDescription.x() + self.evidenceDescription.width() - 70, 8, 70, 70)
|
||||
self.boxEvidence.setGeometry(8, 8, self.evidenceImage.x() - 16, 20)
|
||||
self.btnEvidenceAdd.move(8, 32)
|
||||
self.btnEvidenceAdd.resize(30, 26)
|
||||
|
||||
evidenceadd_size = self.btnEvidenceAdd.size()
|
||||
self.btnEvidenceEdit.resize(evidenceadd_size)
|
||||
self.btnEvidenceDelete.resize(evidenceadd_size)
|
||||
self.btnEvidenceLoad.resize(evidenceadd_size)
|
||||
self.btnEvidenceSave.resize(evidenceadd_size)
|
||||
self.btnEvidenceMoveToPrivate.resize(evidenceadd_size)
|
||||
self.btnEvidenceMoveAllToPrivate.resize(evidenceadd_size)
|
||||
self.btnEvidenceMoveToGlobal.resize(evidenceadd_size)
|
||||
self.btnEvidenceMoveAllToGlobal.resize(evidenceadd_size)
|
||||
self.btnEvidenceSwitchToPrivate.resize(evidenceadd_size)
|
||||
self.btnEvidenceSwitchToGlobal.resize(evidenceadd_size)
|
||||
self.btnEvidenceEdit.move(3 + self.btnEvidenceAdd.x() + self.btnEvidenceAdd.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceDelete.move(3 + self.btnEvidenceEdit.x() + self.btnEvidenceEdit.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceMoveToPrivate.move(3 + self.btnEvidenceDelete.x() + self.btnEvidenceDelete.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceMoveAllToPrivate.move(3 + self.btnEvidenceMoveToPrivate.x() + self.btnEvidenceMoveToPrivate.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceMoveToGlobal.move(3 + self.btnEvidenceDelete.x() + self.btnEvidenceDelete.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceMoveAllToGlobal.move(3 + self.btnEvidenceMoveToPrivate.x() + self.btnEvidenceMoveToPrivate.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceSwitchToPrivate.move(3 + self.btnEvidenceMoveAllToPrivate.x() + self.btnEvidenceMoveAllToPrivate.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceSwitchToGlobal.move(3 + self.btnEvidenceMoveAllToPrivate.x() + self.btnEvidenceMoveAllToPrivate.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceLoad.move(3 + self.btnEvidenceSwitchToPrivate.x() + self.btnEvidenceSwitchToPrivate.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidenceSave.move(3 + self.btnEvidenceLoad.x() + self.btnEvidenceLoad.size().width(), self.btnEvidenceAdd.y())
|
||||
self.btnEvidencePresent.move(self.evidenceDescription.x() + self.evidenceDescription.width() / 2 - self.btnEvidencePresent.button_off.size().width() / 2, self.evidenceDescription.y() - self.btnEvidencePresent.button_off.size().height())
|
||||
|
||||
self.queueItems.setGeometry(8, 8, self.gameTabs.width() - 22, gameTabsHeight - self.btnQueueRemove.sizeHint().height() - 20)
|
||||
self.btnQueueRemove.resize(self.btnQueueRemove.sizeHint())
|
||||
self.btnQueueRemove.move(8, self.queueItems.size().height() + 16)
|
||||
self.btnQueueClear.move(self.btnQueueRemove.x() + self.btnQueueRemove.size().width(), self.btnQueueRemove.y())
|
||||
|
||||
self.lblNotMuted.move(8, 8)
|
||||
self.unmutedList.setGeometry(8, 24, 160, 192)
|
||||
self.mutedList.setGeometry(238, 24, 160, 192)
|
||||
self.lblMuted.move(238 + self.mutedList.size().width() - self.mutedList.size().width() - 8, 8)
|
||||
self.btnMute.setGeometry((714 - 304) / 2 - 26, 64, 48, 32)
|
||||
self.btnUnmute.setGeometry((714 - 304) / 2 - 26, 128, 48, 32)
|
||||
|
||||
self.iniSwapList.setGeometry(8, 8, self.gameTabs.width() - 16, self.iniSwapList.sizeHint().height())
|
||||
self.btnIniSwapConfirm.resize(self.btnIniSwapRefresh.sizeHint())
|
||||
self.btnIniSwapConfirm.move(8, 64)
|
||||
self.btnIniSwapReset.resize(self.btnIniSwapRefresh.sizeHint())
|
||||
self.btnIniSwapReset.move(8, self.btnIniSwapConfirm.y() + self.btnIniSwapConfirm.size().height() + 8)
|
||||
self.btnIniSwapRefresh.resize(self.btnIniSwapRefresh.sizeHint())
|
||||
self.btnIniSwapRefresh.move(8, self.btnIniSwapReset.y() + self.btnIniSwapReset.size().height() + 8)
|
||||
self.lblIniSwapInfo.setGeometry(8, 32, 192, 24)
|
||||
|
||||
self.cbPair.setGeometry(16, 16, 128, 24)
|
||||
self.boxPair.setGeometry(112, 20, 192, 18)
|
||||
self.sliPairOffset.setGeometry(114, 48, 192, 24)
|
||||
self.lblPairOffset.move(self.sliPairOffset.x() - 88, self.sliPairOffset.y()+4)
|
||||
self.sliPairOffsetY.setGeometry(114, 72, 24, 112)
|
||||
self.lblPairOffsetY.move(self.lblPairOffset.x(), self.lblPairOffset.y()+64)
|
||||
self.btnPairOffsetReset.move(self.sliPairOffset.x() + self.sliPairOffset.size().width() + 8, self.lblPairOffsetY.y())
|
||||
self.lblPairOrder.move(self.lblPairOffset.x(), self.lblPairOffset.y()+144)
|
||||
self.boxPairOrder.setGeometry(self.sliPairOffset.x(), self.lblPairOrder.y()-4, 80, self.btnPairOffsetReset.sizeHint().height())
|
||||
|
||||
self.cbSpacing.move(self.cbMockText.x(), self.cbMockText.y()+24)
|
||||
self.cbAutoCaps.move(self.cbSpacing.x(), self.cbSpacing.y()+24)
|
||||
|
||||
## Sidebar
|
||||
oocBottom = self.OOCNameInput.y() + self.OOCNameInput.height() # 268
|
||||
self.OOCLogin.resize(48, 20)
|
||||
self.OOCLogin.move(viewportRight + 14 + self.OOCLog.size().width() - (self.OOCLogin.size().width()), oocBottom + 6)
|
||||
|
||||
# Server tabs
|
||||
serverTabsHeight = self.serverTabs.height() - self.serverTabs.findChild(QtGui.QTabBar).height()
|
||||
|
||||
self.musicItems.setGeometry(8, 8, self.serverTabs.width() - 20, serverTabsHeight - self.musicSearch.sizeHint().height() - 20)
|
||||
self.btnMusicOptions.setGeometry(self.musicItems.x() + self.musicItems.width() - self.btnMusicOptions.sizeHint().width(), self.musicItems.size().height() + 16, self.btnMusicOptions.sizeHint().width(), self.musicSearch.sizeHint().height())
|
||||
self.musicSearch.setGeometry(8, self.btnMusicOptions.y(), self.musicItems.width() - self.btnMusicOptions.width() - 4, self.musicSearch.sizeHint().height())
|
||||
|
||||
self.playerItems.setGeometry(8, 8, self.serverTabs.width() - 20, serverTabsHeight - self.btnPlayerPair.sizeHint().height() - 20)
|
||||
self.btnPlayerPair.resize(self.btnPlayerPair.sizeHint())
|
||||
self.btnPlayerKick.resize(self.btnPlayerKick.sizeHint())
|
||||
self.btnPlayerBan.resize(self.btnPlayerBan.sizeHint())
|
||||
self.btnPlayerPair.move(8, self.playerItems.size().height() + 16)
|
||||
self.btnPlayerKick.move(8 + self.btnPlayerPair.x() + self.btnPlayerPair.size().width(), self.playerItems.size().height() + 16)
|
||||
self.btnPlayerBan.move(8 + self.btnPlayerKick.x() + self.btnPlayerKick.size().width(), self.playerItems.size().height() + 16)
|
||||
|
||||
self.backgroundItems.setGeometry(8, 8, self.serverTabs.width() - 20, serverTabsHeight - self.btnBackgroundsRefresh.sizeHint().height() - 20)
|
||||
self.backgroundSearch.setGeometry(8, self.backgroundItems.size().height() + 16, self.serverTabs.width() - 20 - self.btnBackgroundsRefresh.sizeHint().width() - 20, self.backgroundSearch.sizeHint().height())
|
||||
self.btnBackgroundsRefresh.resize(self.btnBackgroundsRefresh.sizeHint().width(), self.backgroundSearch.height())
|
||||
self.btnBackgroundsRefresh.move(self.backgroundItems.width() - self.btnBackgroundsRefresh.width(), self.backgroundItems.size().height() + 16)
|
||||
|
||||
def resetPairOffsets(self):
|
||||
self.sliPairOffset.setValue(0)
|
||||
self.sliPairOffsetY.setValue(0)
|
||||
|
||||
@ -106,7 +106,7 @@ class Settings(QtGui.QDialog):
|
||||
self.cbThemes = QtGui.QComboBox()
|
||||
self.themes = listdir(AO2XPpath + "ao2xp_themes")
|
||||
for theme in self.themes:
|
||||
if exists(AO2XPpath + "ao2xp_themes/"+theme+"/theme.py"):
|
||||
if exists(AO2XPpath + "ao2xp_themes/"+theme+"/theme.py") or exists(AO2XPpath + "ao2xp_themes/"+theme+"/courtroom_design.ini"):
|
||||
self.cbThemes.addItem(theme)
|
||||
layTheme.addWidget(lblTheme)
|
||||
layTheme.addWidget(self.cbThemes)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user