Support some settings from courtroom_fonts.ini

This commit is contained in:
cidoku 2025-10-12 01:39:58 -03:00
parent de782b05c4
commit 70d8c376e1
2 changed files with 40 additions and 27 deletions

View File

@ -2,16 +2,16 @@
# window size is defined at the end of the file
# IC viewport
_scale = 2
self.viewport.setGeometry(0, 0, 256 * _scale, 192 * _scale)
self.viewportScale = 2
self.viewport.setGeometry(0, 0, 256 * self.viewportScale, 192 * self.viewportScale)
# Textbox
self.name.setGeometry(8 * _scale, -15 + 7 * _scale, 248, 32)
self.name.setGeometry(8 * self.viewportScale, -15 + 7 * self.viewportScale, 248, 32)
self.name.setStyleSheet('color: white')
self.text.setGeometry(8 * _scale, 16 * _scale, self.viewport.width() - 32, 56 * _scale)
self.text.setGeometry(8 * self.viewportScale, 16 * self.viewportScale, self.viewport.width() - 32, 56 * self.viewportScale)
self.text.setStyleSheet("background-color: rgba(0, 0, 0, 0); color: white;")
self.nameFontPointSize = 6 * _scale
self.textFontPointSize = 12 * _scale
self.nameFontPointSize = 6 * self.viewportScale
self.textFontPointSize = 12 * self.viewportScale
# IC input and demo slider
viewportRight = max(self.viewport.x() + self.viewport.width(), 512)

View File

@ -391,7 +391,7 @@ class AOCharMovie(QtGui.QLabel):
if exists(placeholderPath):
imgPath = placeholderPath
print "[debug] Sprite not found: ", pChar, pEmote, emotePrefix
print "[debug] Sprite not found:", pChar, pEmote, emotePrefix
else:
imgPath = ""
self.usePillow = 0
@ -1710,8 +1710,6 @@ class GUI(QtGui.QWidget):
self.width = 820
self.height = 730
self.viewportScale = 1
self.nameFontPointSize = 12
self.textFontPointSize = 24
self.defaultStyle = QtGui.QApplication.style().objectName()
self.loadTheme()
@ -1720,11 +1718,15 @@ class GUI(QtGui.QWidget):
# try:
stylesheet = ""
self.emotePageGeometry = []
self.viewportScale = 0
self.gamewindow.setStyleSheet("")
self.chatbox.resetGeometry()
self.btnReloadTheme.setVisible(False)
self.cbBench.setVisible(True)
self.cbSlide.setVisible(True)
self.nameFontPointSize = 6
self.textFontPointSize = 12
for w in [self.gameTabs, self.serverTabs]:
stack = w.findChild(QtGui.QStackedWidget)
if stack:
@ -1748,7 +1750,7 @@ class GUI(QtGui.QWidget):
if not keys or "=" not in keys or keys[0] == ";": continue
key, value = keys.split("=")
design[key.strip()] = value.replace(" ", "").split(',')
design[key.strip()] = value.split(',')
geometry = {
"viewport": self.viewport,
@ -1828,8 +1830,6 @@ class GUI(QtGui.QWidget):
self.cbSlide.setVisible("slide_enable" in design)
self.cbBench.setVisible("ao2xp_desk" in design)
self.btnReloadTheme.setVisible(True)
# TODO: Load script common to all themes
QtGui.QApplication.setStyle('plastique')
for w in [self.gameTabs, self.serverTabs]:
@ -1856,8 +1856,10 @@ class GUI(QtGui.QWidget):
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)
if not self.viewportScale:
self.viewportScale = self.viewport.height() / float(192)
self.court.resize(self.viewport.size())
self.bench.resize(self.viewport.size())
self.effectView.resize()
@ -1907,15 +1909,6 @@ class GUI(QtGui.QWidget):
self.presentedEvidence.setGeometry(self.viewport.x() + 16, self.viewport.y() + 16, 70 * self.viewportScale, 70 * self.viewportScale)
# Theme fonts
courtroomFonts = AO2XPpath + "ao2xp_themes/" + theme + '/courtroom_fonts.ini'
if exists(courtroomFonts):
fonts = {}
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(',')
fontDb = None
nameFont = None
textFont = None
@ -1926,6 +1919,28 @@ class GUI(QtGui.QWidget):
textFont = QtGui.QFont("Igiari")
nameFont.setPointSize(self.nameFontPointSize)
textFont.setPointSize(self.textFontPointSize)
courtroomFonts = AO2XPpath + "ao2xp_themes/" + theme + '/courtroom_fonts.ini'
if exists(courtroomFonts):
fontData = {}
with open(courtroomFonts) as f:
for keys in f.read().split("\n"):
if not keys or "=" not in keys or keys[0] == ";": continue
key, value = keys.split("=")
fontData[key.strip()] = value.split(',')
if "showname" in fontData:
nameFont.setPointSize(int(*fontData["showname"]))
if "showname_bold" in fontData:
nameFont.setBold(int(*fontData["showname_bold"]))
if "showname_color" in fontData:
self.name.setStyleSheet("color: rgb(%s)" % ",".join(fontData["showname_color"]))
if "message" in fontData:
textFont.setPointSize(int(*fontData["message"]))
if "message_bold" in fontData:
textFont.setBold(int(*fontData["message_bold"]))
self.text.setFont(textFont)
self.ao2text.setFont(textFont)
self.name.setFont(nameFont)
@ -1981,10 +1996,8 @@ class GUI(QtGui.QWidget):
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
# self.name.setStyleSheet('color: white')
# self.text.setStyleSheet("background-color: rgba(0, 0, 0, 0); color: white;")
# IC input and demo slider
viewportRight = max(self.viewport.x() + self.viewport.width(), 512)