From 8b2cf307bfba20cce421bd3016352ba65fa88bb7 Mon Sep 17 00:00:00 2001 From: cidoku Date: Sat, 21 Jun 2025 00:31:32 -0400 Subject: [PATCH] dark theme --- AO2XPbase/ao2xp_themes/dark/theme.py | 173 +++++++++++++++++++++++++++ gameview.py | 17 ++- 2 files changed, 181 insertions(+), 9 deletions(-) create mode 100644 AO2XPbase/ao2xp_themes/dark/theme.py diff --git a/AO2XPbase/ao2xp_themes/dark/theme.py b/AO2XPbase/ao2xp_themes/dark/theme.py new file mode 100644 index 0000000..867277b --- /dev/null +++ b/AO2XPbase/ao2xp_themes/dark/theme.py @@ -0,0 +1,173 @@ + +self.gamewindow.setObjectName("main") +self.sliderlabel1.setObjectName("musiclabel") +self.sliderlabel2.setObjectName("sfxlabel") +self.sliderlabel3.setObjectName("blipslabel") +self.notmutedlabel.setObjectName("notmutedlabel") +self.mutedlabel.setObjectName("mutedlabel") +self.iniswapinfo.setObjectName("iniswapinfo") +self.pairoffset_l.setObjectName("pairoffset_l") +self.ypairoffset_l.setObjectName("ypairoffset_l") +self.pair_order_l.setObjectName("pair_order_l") +self.gametab_log.setObjectName("gametab_log") +self.gametab_evidence.setObjectName("gametab_evidence") +self.gametab_mute.setObjectName("gametab_mute") +self.gametab_iniswap.setObjectName("gametab_iniswap") +self.gametab_pair.setObjectName("gametab_pair") +self.gametab_misc.setObjectName("gametab_misc") +self.gametab_msgqueue.setObjectName("gametab_msgqueue") +self.gametab_music.setObjectName("gametab_music") +self.areaitems.setObjectName("areaitems") +self.gametab_players.setObjectName("gametab_player") +self.demoitems.setObjectName("demoitems") + +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 + { + color: #eeeeee; + background: #111111; + } + + QTextEdit, QLineEdit, QPushButton, QTabWidget, QComboBox, QListWidget, QTreeView { + color: #eeeeee; + background: #222222; + } + """ +) + +self.width = 820 +self.height = 730 + +self.ao2text.setGeometry(16, 32, VIEWPORT_W - 32, 112) +self.ao2text.setStyleSheet("background-color: rgba(0, 0, 0, 0); color: white;") +self.text.setGeometry(16, 32, VIEWPORT_W - 32, 112) +self.text.setStyleSheet("background-color: rgba(0, 0, 0, 0); color: white;") + +self.name.setStyleSheet('color: white') +self.name.move(16, -1) +self.name.resize(248, 32) + +self.icchatinput.setGeometry(0, VIEWPORT_H, VIEWPORT_W, 23) +self.emotedropdown.setGeometry(164 - 28, 344 + 66 + 4, 72, 20) +self.colordropdown.setGeometry(self.emotedropdown.x(), 376 + 64, 72, 20) +self.posdropdown.setGeometry(self.emotedropdown.x() + self.emotedropdown.size().width() + 4, self.emotedropdown.y(), 72, 20) + +self.demoslider.setGeometry(self.icchatinput.x(), self.icchatinput.y(), VIEWPORT_W, 23) + +self.flipbutton.move(self.posdropdown.x() + self.posdropdown.width() + 4, self.colordropdown.y() - 5) +self.sfxbutton.move(self.flipbutton.x(), self.flipbutton.y() + 14) +self.nointerruptbtn.move(self.flipbutton.x() + 140, self.flipbutton.y()) +self.additivebtn.move(self.nointerruptbtn.x(), self.sfxbutton.y()) +self.deskbtn.move(self.flipbutton.x()+70, self.flipbutton.y()) +self.slidebutton.move(self.deskbtn.x(), self.sfxbutton.y()) + +self.effectdropdown.setGeometry(self.posdropdown.x(), self.colordropdown.y(), 72, 20) +self.callmodbtn.setGeometry(10, 376 + 62, 60, 23) +self.settingsbtn.setGeometry(self.callmodbtn.x()+self.callmodbtn.size().width(), 376 + 62, self.callmodbtn.width(), 23) +self.changechar.setGeometry(10, 344 + 66 + 4, self.callmodbtn.size().width() + self.settingsbtn.size().width(), 23) + +self.shownameedit.setGeometry(self.posdropdown.x() + self.posdropdown.width() + 4, self.posdropdown.y(), 168 + 56, 20) + +self.ooclog.setGeometry(814 - 288, 0, 288, 248) +self.oocnameinput.resize(self.oocnameinput.sizeHint().width() - 32, self.oocnameinput.sizeHint().height()) +self.oocnameinput.move(814 - 288, 248) +self.oocinput.resize(self.ooclog.width() - self.oocnameinput.width(), self.oocinput.sizeHint().height()) +self.oocinput.move(814 - 288 + self.oocnameinput.size().width(), 248) +self.ooclogin.resize(48, 20) +self.ooclogin.move(814 - (self.ooclogin.size().width()), self.oocinput.y() + self.ooclogin.size().height()) + +self.musicareatabs.setGeometry(814 - 288, 468, 288, 258) +self.musicitems.setGeometry(8, 8, 268, 184) +self.musicsearch.setGeometry(8, self.musicitems.size().height() + 16, 268, self.musicsearch.sizeHint().height()) + +self.iclog.setGeometry(8, 8, 714 - 304 - 22, 212) + +self.evidencedropdown.setGeometry(8, 8, 192, 20) +self.privatedropdown.setGeometry(8, 8, 192, 20) +self.evidencedesc.setGeometry(8, 108, 714 - 304 - 22, 112) +self.evidenceimage.setGeometry(326, 8, 70, 70) + +self.evidenceadd.move(8, 32) +self.evidenceadd.resize(30, 26) +evidenceadd_size = self.evidenceadd.size() +self.evidenceedit.resize(evidenceadd_size) +self.evidencedelete.resize(evidenceadd_size) +self.evidenceload.resize(evidenceadd_size) +self.evidencesave.resize(evidenceadd_size) +self.evidencemoveprivate.resize(evidenceadd_size) +self.evidencemoveallprivate.resize(evidenceadd_size) +self.evidencemoveglobal.resize(evidenceadd_size) +self.evidencemoveallglobal.resize(evidenceadd_size) +self.evidenceswitchprivate.resize(evidenceadd_size) +self.evidenceswitchglobal.resize(evidenceadd_size) +self.evidenceedit.move(3 + self.evidenceadd.x() + self.evidenceadd.size().width(), self.evidenceadd.y()) +self.evidencedelete.move(3 + self.evidenceedit.x() + self.evidenceedit.size().width(), self.evidenceadd.y()) +self.evidencemoveprivate.move(3 + self.evidencedelete.x() + self.evidencedelete.size().width(), self.evidenceadd.y()) +self.evidencemoveallprivate.move(3 + self.evidencemoveprivate.x() + self.evidencemoveprivate.size().width(), self.evidenceadd.y()) +self.evidencemoveglobal.move(3 + self.evidencedelete.x() + self.evidencedelete.size().width(), self.evidenceadd.y()) +self.evidencemoveallglobal.move(3 + self.evidencemoveprivate.x() + self.evidencemoveprivate.size().width(), self.evidenceadd.y()) +self.evidenceswitchprivate.move(3 + self.evidencemoveallprivate.x() + self.evidencemoveallprivate.size().width(), self.evidenceadd.y()) +self.evidenceswitchglobal.move(3 + self.evidencemoveallprivate.x() + self.evidencemoveallprivate.size().width(), self.evidenceadd.y()) + +self.evidenceload.move(3 + self.evidenceswitchprivate.x() + self.evidenceswitchprivate.size().width(), self.evidenceadd.y()) +self.evidencesave.move(3 + self.evidenceload.x() + self.evidenceload.size().width(), self.evidenceadd.y()) + +self.evidencepresent.move((714 - 304 - 22) / 2 - self.evidencepresent.button_off.size().width() / 2, self.evidencedesc.y() - self.evidencepresent.button_off.size().height()) + +self.msgqueue_list.setGeometry(8, 8, 714 - 304 - 22, 180) +self.player_list.setGeometry(8, 8, 268, 180) +self.remove_queue.resize(self.remove_queue.sizeHint()) +self.remove_queue.move(8, self.msgqueue_list.size().height() + 16) +self.clear_queue.move(self.remove_queue.x() + self.remove_queue.size().width(), self.remove_queue.y()) + +self.player_pair.resize(self.player_pair.sizeHint()) +self.player_kick.resize(self.player_kick.sizeHint()) +self.player_ban.resize(self.player_ban.sizeHint()) +self.player_pair.move(8, self.player_list.size().height() + 16) +self.player_kick.move(8 + self.player_pair.x() + self.player_pair.size().width(), self.player_list.size().height() + 16) +self.player_ban.move(8 + self.player_kick.x() + self.player_kick.size().width(), self.player_list.size().height() + 16) + +self.notmutedlabel.move(8, 8) +self.unmutedlist.setGeometry(8, 24, 160, 192) +self.mutedlist.setGeometry(238, 24, 160, 192) +self.mutedlabel.move(238 + self.mutedlist.size().width() - self.mutedlist.size().width() - 8, 8) +self.mutebtn.setGeometry((714 - 304) / 2 - 26, 64, 48, 32) +self.unmutebtn.setGeometry((714 - 304) / 2 - 26, 128, 48, 32) + +self.iniswaplist.setGeometry(8, 8, 192, self.iniswaplist.sizeHint().height()) +self.iniswapconfirm.resize(self.iniswapconfirm.sizeHint()) +self.iniswapconfirm.move(714 - 304 - 22 - self.iniswapconfirm.size().width(), 8) +self.iniswapreset.resize(self.iniswapconfirm.size()) +self.iniswapreset.move(714 - 304 - 22 - self.iniswapconfirm.size().width(), 16 + self.iniswapconfirm.size().height()) +self.iniswapinfo.setGeometry(8, 32, 192, 24) +self.iniswaprefresh.move(8, 64) +self.iniswaprefresh.resize(self.iniswaprefresh.sizeHint()) + +self.paircheckbox.setGeometry(16, 16, 128, 24) +self.pairdropdown.setGeometry(112, 20, 192, 18) +self.pairoffset.setGeometry(114, 48, 192, 24) +self.pairoffset_l.move(self.pairoffset.x() - 88, self.pairoffset.y()+4) +self.ypairoffset.setGeometry(114, 72, 24, 112) +self.ypairoffset_l.move(self.pairoffset_l.x(), self.pairoffset_l.y()+64) +self.pairoffsetreset.move(self.pairoffset.x() + self.pairoffset.size().width() + 8, self.ypairoffset_l.y()) +self.pair_order_l.move(self.pairoffset_l.x(), self.pairoffset_l.y()+144) +self.pair_order.setGeometry(self.pairoffset.x(), self.pair_order_l.y()-4, 80, self.pairoffsetreset.sizeHint().height()) + +self.spacebartext.move(self.mocktext.x(), self.mocktext.y()+24) +self.autocaps.move(self.spacebartext.x(), self.spacebartext.y()+24) + +self.gametabs.move(8, 468) +self.gametabs.resize(714 - 304, 256) + +self.musicslider.setGeometry(self.oocnameinput.x(), self.oocnameinput.y()+24, 192, 16) +self.soundslider.setGeometry(self.oocnameinput.x(), self.oocnameinput.y()+48, 192, 16) +self.blipslider.setGeometry(self.oocnameinput.x(), self.oocnameinput.y()+72, 192, 16) + +self.sliderlabel1.move(self.musicslider.x() + self.musicslider.size().width()+8, self.musicslider.y()) +self.sliderlabel2.move(self.soundslider.x() + self.soundslider.size().width()+8, self.soundslider.y()) +self.sliderlabel3.move(self.blipslider.x() + self.blipslider.size().width()+8, self.blipslider.y()) + +self.pinglabel.setGeometry(self.sliderlabel3.x() + 32, self.sliderlabel3.y(), 96, 14) + +self.defensebar.moveBar(265 + 164, 164 + 304) +self.prosecutionbar.moveBar(265 + 164, 178 + 304) \ No newline at end of file diff --git a/gameview.py b/gameview.py index c9c698b..dd3d0a0 100644 --- a/gameview.py +++ b/gameview.py @@ -1416,14 +1416,7 @@ class GUI(QtGui.QWidget): self.sfxbutton.stateChanged.connect(self.changeSfxCheck) self.sfxbutton.setText('&Pre-anim') self.sfxbutton.setToolTip("Play a character-specific animation before the next message") - - self.nointerruptbtn = QtGui.QCheckBox(self) - self.nointerruptbtn.setChecked(False) - self.nointerruptbtn.stateChanged.connect(self.icchat_focus) - self.nointerruptbtn.setText('&No interrupt') - self.nointerruptbtn.setToolTip("Show the next message immediately, ignoring animations") - - # AO 2.8 + self.additivebtn = QtGui.QCheckBox(self) self.additivebtn.setChecked(False) self.additivebtn.setText('Additi&ve') @@ -1435,9 +1428,15 @@ class GUI(QtGui.QWidget): self.deskbtn.setChecked(True) self.deskbtn.setText('&Desk') self.deskbtn.stateChanged.connect(self.icchat_focus) - self.deskbtn.resize(self.nointerruptbtn.sizeHint()) self.deskbtn.setToolTip('Show or hide the desk in front of your character') + self.nointerruptbtn = QtGui.QCheckBox(self) + self.nointerruptbtn.setChecked(False) + self.nointerruptbtn.stateChanged.connect(self.icchat_focus) + self.nointerruptbtn.setText('&No interrupt') + self.deskbtn.resize(self.deskbtn.sizeHint()) + self.nointerruptbtn.setToolTip("Show the next message immediately, ignoring animations") + self.slidebutton = QtGui.QCheckBox(self) self.slidebutton.stateChanged.connect(self.icchat_focus) self.slidebutton.setText('&Slide')