GUI refactor + improve slide setting

This commit is contained in:
cidoku 2025-10-07 16:53:15 -03:00
parent 1b30f79fab
commit dc96709d37
10 changed files with 934 additions and 919 deletions

View File

@ -2,27 +2,27 @@ with open(AO2XPpath + "ao2xp_themes/default/theme.py") as t:
exec t
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.gametab_players.setObjectName("gametab_player")
self.lblMusicVolume.setObjectName("musiclabel")
self.lblSoundVolume.setObjectName("sfxlabel")
self.lblBlipsVolume.setObjectName("blipslabel")
self.lblNotMuted.setObjectName("lblNotMuted")
self.lblMuted.setObjectName("lblMuted")
self.lblIniSwapInfo.setObjectName("lblIniSwapInfo")
self.lblPairOffset.setObjectName("lblPairOffset")
self.lblPairOffsetY.setObjectName("lblPairOffsetY")
self.lblPairOrder.setObjectName("lblPairOrder")
self.tabLog.setObjectName("tabLog")
self.tabEvidence.setObjectName("tabEvidence")
self.tabMute.setObjectName("tabMute")
self.tabIniSwap.setObjectName("tabIniSwap")
self.tabPair.setObjectName("tabPair")
self.tabMisc.setObjectName("tabMisc")
self.tabQueue.setObjectName("tabQueue")
self.tabMusic.setObjectName("tabMusic")
self.tabPlayers.setObjectName("gameTab_player")
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#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
QWidget#main, QSlider, QCheckBox, QLabel#musiclabel, QLabel#sfxlabel, QLabel#blipslabel, QLabel#lblNotMuted, QLabel#lblMuted, QLabel#lblIniSwapInfo, QLabel#lblPairOffset, QLabel#lblPairOffsetY, QLabel#lblPairOrder, QWidget#tabLog, QWidget#tabEvidence, QWidget#tabMute, QWidget#tabIniSwap, QWidget#tabPair, QWidget#tabMisc, QWidget#tabQueue, QWidget#tabMusic, QWidget#gameTab_player
{
color: #eeeeee;
background: #111111;
@ -35,4 +35,4 @@ self.gamewindow.setStyleSheet("""
"""
)
self.found_songitem_color = "#444444"
self.foundSongItemColor = "#444444"

View File

@ -20,164 +20,164 @@ self.textFontPointSize = 12 * _scale
# IC input and demo slider
viewportRight = max(self.viewport.x() + self.viewport.width(), 512)
viewportBottom = self.viewport.y() + self.viewport.height()
self.icchatinput.setGeometry(self.viewport.x(), viewportBottom, self.viewport.width(), 23)
self.demoslider.setGeometry(self.icchatinput.x(), self.icchatinput.y(), self.viewport.width(), 23)
viewportBottom += self.icchatinput.height() # 407
self.ICChatInput.setGeometry(self.viewport.x(), viewportBottom, self.viewport.width(), 23)
self.sliDemoSeekbar.setGeometry(self.ICChatInput.x(), self.ICChatInput.y(), self.viewport.width(), 23)
viewportBottom += self.ICChatInput.height() # 407
# IC options
self.emotedropdown.setGeometry(164 - 28, viewportBottom + 7, 72, 20)
self.colordropdown.setGeometry(self.emotedropdown.x(), viewportBottom + 33, 72, 20)
self.posdropdown.setGeometry(self.emotedropdown.x() + self.emotedropdown.size().width() + 4, self.emotedropdown.y(), 72, 20)
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, viewportBottom + 31, 60, 23)
self.settingsbtn.setGeometry(self.callmodbtn.x()+self.callmodbtn.size().width(), viewportBottom + 31, self.callmodbtn.width(), 23)
self.changechar.setGeometry(10, viewportBottom + 7, self.callmodbtn.size().width() + self.settingsbtn.size().width(), 23)
self.shownameedit.move(self.posdropdown.x() + self.posdropdown.width() + 4, self.posdropdown.y())
self.shownameedit.resize(viewportRight - self.shownameedit.x(), 20)
self.boxEmotes.setGeometry(164 - 28, viewportBottom + 7, 72, 20)
self.boxColors.setGeometry(self.boxEmotes.x(), viewportBottom + 33, 72, 20)
self.boxPositions.setGeometry(self.boxEmotes.x() + self.boxEmotes.size().width() + 4, self.boxEmotes.y(), 72, 20)
self.cbFlip.move(self.boxPositions.x() + self.boxPositions.width() + 4, self.boxColors.y() - 5)
self.cbPreanim.move(self.cbFlip.x(), self.cbFlip.y() + 14)
self.cbNoInterrupt.move(self.cbFlip.x() + 140, self.cbFlip.y())
self.cbAdditive.move(self.cbNoInterrupt.x(), self.cbPreanim.y())
self.cbBench.move(self.cbFlip.x() + 70, self.cbFlip.y())
self.cbSlide.move(self.cbBench.x(), self.cbPreanim.y())
self.boxEffects.setGeometry(self.boxPositions.x(), self.boxColors.y(), 72, 20)
self.btnCallMod.setGeometry(10, viewportBottom + 31, 60, 23)
self.btnSettings.setGeometry(self.btnCallMod.x()+self.btnCallMod.size().width(), viewportBottom + 31, self.btnCallMod.width(), 23)
self.btnChangeChar.setGeometry(10, viewportBottom + 7, self.btnCallMod.size().width() + self.btnSettings.size().width(), 23)
self.shownameEdit.move(self.boxPositions.x() + self.boxPositions.width() + 4, self.boxPositions.y())
self.shownameEdit.resize(viewportRight - self.shownameEdit.x(), 20)
self.gametabs.move(8, viewportBottom + 61)
self.gametabs.resize(viewportRight - 102, 256)
self.gameTabs.move(8, viewportBottom + 61)
self.gameTabs.resize(viewportRight - 102, 256)
leftSideHeight = self.gametabs.y() + self.gametabs.height() + 6
leftSideHeight = self.gameTabs.y() + self.gameTabs.height() + 6
self.iclog.setGeometry(8, 8, self.gametabs.width() - 22, 212)
self.ICLog.setGeometry(8, 8, self.gameTabs.width() - 22, 212)
self.evidencedropdown.setGeometry(8, 8, 192, 20)
self.privatedropdown.setGeometry(8, 8, 192, 20)
self.evidencedesc.setGeometry(8, 108, self.gametabs.width() - 22, 112)
self.evidenceimage.setGeometry(self.evidencedesc.x() + self.evidencedesc.width() - 70, 8, 70, 70)
self.boxEvidence.setGeometry(8, 8, 192, 20)
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.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.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.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.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.evidencepresent.move(self.evidencedesc.x() + self.evidencedesc.width() / 2 - self.evidencepresent.button_off.size().width() / 2, self.evidencedesc.y() - self.evidencepresent.button_off.size().height())
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.msgqueue_list.setGeometry(8, 8, self.gametabs.width() - 22, 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.queueItems.setGeometry(8, 8, self.gameTabs.width() - 22, 180)
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.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.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, 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.btnIniSwapConfirm.resize(self.btnIniSwapConfirm.sizeHint())
self.btnIniSwapConfirm.move(714 - 304 - 22 - self.btnIniSwapConfirm.size().width(), 8)
self.btnIniSwapReset.resize(self.btnIniSwapConfirm.size())
self.btnIniSwapReset.move(714 - 304 - 22 - self.btnIniSwapConfirm.size().width(), 16 + self.btnIniSwapConfirm.size().height())
self.lblIniSwapInfo.setGeometry(8, 32, 192, 24)
self.btnIniSwapRefresh.move(8, 64)
self.btnIniSwapRefresh.resize(self.btnIniSwapRefresh.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.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.spacebartext.move(self.mocktext.x(), self.mocktext.y()+24)
self.autocaps.move(self.spacebartext.x(), self.spacebartext.y()+24)
self.cbSpacing.move(self.cbMockText.x(), self.cbMockText.y()+24)
self.cbAutoCaps.move(self.cbSpacing.x(), self.cbSpacing.y()+24)
# Judge options
self.defensebar.moveBar(self.gametabs.x() + self.gametabs.width() + 11, viewportBottom + 61)
self.prosecutionbar.moveBar(self.defensebar.x(), viewportBottom + 75)
self.realizationbtn.move(self.defensebar.x(), viewportBottom + 89)
self.shakebtn.move(self.realizationbtn.x() + self.realizationbtn.width(), self.realizationbtn.y())
self.btnDefenseBar.moveBar(self.gameTabs.x() + self.gameTabs.width() + 11, viewportBottom + 61)
self.btnProsecutionBar.moveBar(self.btnDefenseBar.x(), viewportBottom + 75)
self.btnRealization.move(self.btnDefenseBar.x(), viewportBottom + 89)
self.btnShake.move(self.btnRealization.x() + self.btnRealization.width(), self.btnRealization.y())
self.wtcebtn_1.move(self.defensebar.x(), viewportBottom + 137)
self.wtcebtn_2.move(self.wtcebtn_1.x(), self.wtcebtn_1.y() + self.wtcebtn_1.size().height())
self.notguiltybtn.move(self.wtcebtn_1.x(), self.wtcebtn_2.y() + self.wtcebtn_2.size().height())
self.guiltybtn.move(self.wtcebtn_1.x(), self.notguiltybtn.y() + self.notguiltybtn.size().height())
self.btnWitnessTestimony.move(self.btnDefenseBar.x(), viewportBottom + 137)
self.btnCrossExamination.move(self.btnWitnessTestimony.x(), self.btnWitnessTestimony.y() + self.btnWitnessTestimony.size().height())
self.btnNotGuilty.move(self.btnWitnessTestimony.x(), self.btnCrossExamination.y() + self.btnCrossExamination.size().height())
self.btnGuilty.move(self.btnWitnessTestimony.x(), self.btnNotGuilty.y() + self.btnNotGuilty.size().height())
## Sidebar
# OOC chat
self.ooclog.setGeometry(viewportRight + 14, 0, 288, max(730, leftSideHeight) - 482)
self.oocnameinput.resize(self.oocnameinput.sizeHint().width() - 32, self.oocnameinput.sizeHint().height())
self.oocnameinput.move(viewportRight + 14, self.ooclog.y() + self.ooclog.height())
self.oocinput.resize(self.ooclog.width() - self.oocnameinput.width(), self.oocinput.sizeHint().height())
self.oocinput.move(viewportRight + 14 + self.oocnameinput.size().width(), self.oocnameinput.y())
self.OOCLog.setGeometry(viewportRight + 14, 0, 288, max(730, leftSideHeight) - 482)
self.OOCNameInput.resize(self.OOCNameInput.sizeHint().width() - 32, self.OOCNameInput.sizeHint().height())
self.OOCNameInput.move(viewportRight + 14, self.OOCLog.y() + self.OOCLog.height())
self.OOCInput.resize(self.OOCLog.width() - self.OOCNameInput.width(), self.OOCInput.sizeHint().height())
self.OOCInput.move(viewportRight + 14 + self.OOCNameInput.size().width(), self.OOCNameInput.y())
oocBottom = self.oocnameinput.y() + self.oocnameinput.height() # 268
oocBottom = self.OOCNameInput.y() + self.OOCNameInput.height() # 268
# Volume sliders and mod login
self.musicslider.setGeometry(self.oocnameinput.x(), oocBottom + 8, 192, 16)
self.soundslider.setGeometry(self.oocnameinput.x(), oocBottom + 32, 192, 16)
self.blipslider.setGeometry(self.oocnameinput.x(), oocBottom + 56, 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.sliMusicVolume.setGeometry(self.OOCNameInput.x(), oocBottom + 8, 192, 16)
self.sliSoundVolume.setGeometry(self.OOCNameInput.x(), oocBottom + 32, 192, 16)
self.sliBlipsVolume.setGeometry(self.OOCNameInput.x(), oocBottom + 56, 192, 16)
self.lblMusicVolume.move(self.sliMusicVolume.x() + self.sliMusicVolume.size().width()+8, self.sliMusicVolume.y())
self.lblSoundVolume.move(self.sliSoundVolume.x() + self.sliSoundVolume.size().width()+8, self.sliSoundVolume.y())
self.lblBlipsVolume.move(self.sliBlipsVolume.x() + self.sliBlipsVolume.size().width()+8, self.sliBlipsVolume.y())
self.pinglabel.setGeometry(self.sliderlabel3.x() + 32, self.sliderlabel3.y(), 96, 14)
self.ooclogin.resize(48, 20)
self.ooclogin.move(viewportRight + 14 + self.ooclog.size().width() - (self.ooclogin.size().width()), oocBottom + 6)
self.lblPing.setGeometry(self.lblBlipsVolume.x() + 32, self.lblBlipsVolume.y(), 96, 14)
self.OOCLogin.resize(48, 20)
self.OOCLogin.move(viewportRight + 14 + self.OOCLog.size().width() - (self.OOCLogin.size().width()), oocBottom + 6)
# Objection and emote buttons
self.holditbtn.move(viewportRight + 14, oocBottom + 84)
self.objectbtn.move(self.holditbtn.x() + 70, self.holditbtn.y())
self.takethatbtn.move(self.objectbtn.x() + 70, self.holditbtn.y())
self.customobject.move(self.takethatbtn.x() + 70, self.holditbtn.y())
self.btnHoldIt.move(viewportRight + 14, oocBottom + 84)
self.btnObjection.move(self.btnHoldIt.x() + 70, self.btnHoldIt.y())
self.btnTakeThat.move(self.btnObjection.x() + 70, self.btnHoldIt.y())
self.btnCustomObjection.move(self.btnTakeThat.x() + 70, self.btnHoldIt.y())
self.emotePageGeometry = (viewportRight + 14, oocBottom + 116, 288, 98)
self.prevemotepage.move(viewportRight + 8, oocBottom + 147)
self.nextemotepage.move(viewportRight + 286, self.prevemotepage.y())
self.btnPrevEmotePage.move(viewportRight + 8, oocBottom + 147)
self.btnNextEmotePage.move(viewportRight + 286, self.btnPrevEmotePage.y())
# Server tabs
self.musicareatabs.setGeometry(viewportRight + 14, oocBottom + 200, 288, 258)
self.serverTabs.setGeometry(viewportRight + 14, oocBottom + 200, 288, 258)
self.musicitems.setGeometry(8, 8, 268, 184)
self.musicsearch.setGeometry(8, self.musicitems.size().height() + 16, 268, self.musicsearch.sizeHint().height())
self.found_songitem_color = "#80ff80"
self.musicItems.setGeometry(8, 8, 268, 184)
self.musicSearch.setGeometry(8, self.musicItems.size().height() + 16, 268, self.musicSearch.sizeHint().height())
self.foundSongItemColor = "#80ff80"
self.backgrounditems.setGeometry(8, 8, 268, 184)
self.backgroundsearch.setGeometry(8, self.musicitems.size().height() + 16, 268 - self.backgroundrefresh.sizeHint().width() - 20, self.musicsearch.sizeHint().height())
self.backgroundrefresh.resize(self.backgroundrefresh.sizeHint())
self.backgroundrefresh.move(268 - self.backgroundrefresh.sizeHint().width(), self.backgrounditems.size().height() + 16)
self.backgroundItems.setGeometry(8, 8, 268, 184)
self.backgroundSearch.setGeometry(8, self.musicItems.size().height() + 16, 268 - self.btnBackgroundsRefresh.sizeHint().width() - 20, self.musicSearch.sizeHint().height())
self.btnBackgroundsRefresh.resize(self.btnBackgroundsRefresh.sizeHint())
self.btnBackgroundsRefresh.move(268 - self.btnBackgroundsRefresh.sizeHint().width(), self.backgroundItems.size().height() + 16)
self.player_list.setGeometry(8, 8, 268, 180)
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.playerItems.setGeometry(8, 8, 268, 180)
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)
# Main window
self.width = self.ooclog.x() + self.ooclog.width() + 4
self.width = self.OOCLog.x() + self.OOCLog.width() + 4
self.height = max(730, leftSideHeight)

View File

@ -57,13 +57,13 @@ Initialize BASS and the opus plugin
import pybass.pybassmidi as bassmidi
if not dll.BASS_Init(ini.read_ini_int("AO2XP.ini", "Audio", "device", -1), freq, 0, 0, 0):
print "[audio] Audio library could not be initialized. Error", getbasserror()
print "[audio] Audio library could not be initialized. Error", getBassError()
if not dll.BASS_PluginLoad(os.path.abspath(opus), 0):
print "[audio] Opus plugin failed to load. Error", getbasserror()
print "[audio] Opus plugin failed to load. Error", getBassError()
if not dll.BASS_PluginLoad(os.path.abspath(flac), 0):
print "[audio] FLAC plugin failed to load. Error", getbasserror()
print "[audio] FLAC plugin failed to load. Error", getBassError()
if not dll.BASS_PluginLoad(os.path.abspath(midi), 0):
print "[audio] MIDI plugin failed to load. Error", getbasserror()
print "[audio] MIDI plugin failed to load. Error", getBassError()
if os.path.exists(os.path.abspath("gm.sf2")):
dll.BASS_SetConfigPtr(bassmidi.BASS_CONFIG_MIDI_DEFFONT, "gm.sf2");
@ -76,10 +76,10 @@ Free BASS
"""
dll.BASS_Free()
def getcurrdevice():
def getCurrDevice():
return dll.BASS_GetDevice()
def getdevices():
def getDevices():
"""
Get BASS devices
"""
@ -91,13 +91,13 @@ Get BASS devices
ind += 1
return devices
def loadhandle(mem, file, offset=0, length=0, flags=0):
def loadHandle(mem, file, offset=0, length=0, flags=0):
"""
Load a BASS stream handle
"""
return dll.BASS_StreamCreateFile(mem, file, QWORD(offset), QWORD(length), flags)
def loadURLhandle(url, offset, flags, proc=DOWNLOADPROC(), user=0):
def loadURLHandle(url, offset, flags, proc=DOWNLOADPROC(), user=0):
"""
Load a BASS stream handle from an URL
"""
@ -115,7 +115,7 @@ Load a BASS stream handle
"""
return bassmidi.BASS_MIDI_StreamCreateFile(mem, file, QWORD(offset), QWORD(length), flags, 0)
def freehandle(handle):
def freeHandle(handle):
"""
Free a handle
"""
@ -127,36 +127,36 @@ Free a module handle
"""
return dll.BASS_MusicFree(handle)
def playhandle(handle, restart):
def playHandle(handle, restart):
"""
Play a handle
"""
return dll.BASS_ChannelPlay(handle, restart)
def pausehandle(handle):
def pauseHandle(handle):
"""
Play a handle
"""
return dll.BASS_ChannelPause(handle)
def stophandle(handle):
def stopHandle(handle):
"""
Stop handle playback
"""
return dll.BASS_ChannelStop(handle)
def handleisactive(handle):
def handleIsActive(handle):
"""
Get handle playback status
"""
return dll.BASS_ChannelIsActive(handle)
def sethandleattr(handle, attr, value):
def setHandleAttr(handle, attr, value):
"""
Set handle attribute
"""
if use_ctypes and type(value) == float: value = ctypes.c_float(value)
return dll.BASS_ChannelSetAttribute(handle, attr, value)
def getbasserror():
def getBassError():
return dll.BASS_ErrorGetCode()

View File

@ -51,9 +51,9 @@ class CustomObjection(QtGui.QLabel):
def mousePressEvent(self, event):
self.setPressed(not self.isPressed())
self.parent.objectbtn.setPressed(False)
self.parent.holditbtn.setPressed(False)
self.parent.takethatbtn.setPressed(False)
self.parent.btnObjection.setPressed(False)
self.parent.btnHoldIt.setPressed(False)
self.parent.btnTakeThat.setPressed(False)
self.clicked.emit()
class WTCEbuttons(QtGui.QLabel):
@ -111,16 +111,16 @@ class Objections(QtGui.QLabel):
def mousePressEvent(self, event):
self.setPressed(not self.isPressed())
self.parent.customobject.setPressed(False)
self.parent.btnCustomObjection.setPressed(False)
if self.type == 1:
self.parent.objectbtn.setPressed(False)
self.parent.takethatbtn.setPressed(False)
self.parent.btnObjection.setPressed(False)
self.parent.btnTakeThat.setPressed(False)
elif self.type == 2:
self.parent.holditbtn.setPressed(False)
self.parent.takethatbtn.setPressed(False)
self.parent.btnHoldIt.setPressed(False)
self.parent.btnTakeThat.setPressed(False)
elif self.type == 3:
self.parent.objectbtn.setPressed(False)
self.parent.holditbtn.setPressed(False)
self.parent.btnObjection.setPressed(False)
self.parent.btnHoldIt.setPressed(False)
self.clicked.emit()
class PixmapButton(QtGui.QAbstractButton):

View File

@ -51,7 +51,7 @@ class charselect(QtGui.QWidget):
self.cancelbtn.clicked.connect(self.onCancel)
self.cancelbtn.move(25, self.quittolobby.y())
self.buttons = []
self.btns = []
self.chartaken = []
self.prevpage = PixmapButton(self, QtGui.QPixmap(AO2XPpath + "themes/default/arrow_left.png"))
@ -73,15 +73,15 @@ class charselect(QtGui.QWidget):
self.max_chars_on_page = columns * rows
for i in range(self.max_chars_on_page):
self.buttons.append(CharIcon(self, i))
self.btns.append(CharIcon(self, i))
self.chartaken.append(QtGui.QLabel(self))
self.chartaken[i].setPixmap(QtGui.QPixmap(AO2XPpath + "themes/default/char_taken.png"))
self.chartaken[i].hide()
x_pos = (btn_width + x_spacing) * x_mod_count
y_pos = (btn_height + y_spacing) * y_mod_count
self.buttons[i].setGeometry(left+x_pos, top+y_pos, btn_width, btn_height)
self.btns[i].setGeometry(left+x_pos, top+y_pos, btn_width, btn_height)
self.chartaken[i].move(left+x_pos, top+y_pos)
self.buttons[i].show()
self.btns[i].show()
x_mod_count += 1
if x_mod_count == columns:
@ -106,7 +106,7 @@ class charselect(QtGui.QWidget):
i = ind - (self.page * self.max_chars_on_page)
if ind >= len(charList):
self.chartaken[i].hide()
self.buttons[i].hide()
self.btns[i].hide()
self.nextpage.hide()
continue
else:
@ -133,8 +133,8 @@ class charselect(QtGui.QWidget):
self.chartaken[i].setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
self.chartaken[i].show()
self.buttons[i].show()
self.buttons[i].setToolTip(charList[ind][0])
self.btns[i].show()
self.btns[i].setToolTip(charList[ind][0])
def showCharPageFiltered(self, name):
charList = []
@ -164,8 +164,8 @@ class charselect(QtGui.QWidget):
self.charsearch.setText("") # Automatically calls showCharPage
def setButtonImage(self, filename, i, charid):
self.buttons[i].setPixmap(QtGui.QPixmap(filename))
self.buttons[i].setCharIndex(charid)
self.btns[i].setPixmap(QtGui.QPixmap(filename))
self.btns[i].setCharIndex(charid)
def onCharClicked(self, charid):
char = self.charList[charid]

View File

@ -46,7 +46,7 @@ class DemoPlayer(QtCore.QObject):
self.load_demo(file)
print "[client] Started demo playback (%s commands)" % self.demoLength
self.parent.demoslider.setMaximum(self.demoLength - 1)
self.parent.sliDemoSeekbar.setMaximum(self.demoLength - 1)
self.OOC_Log.emit("<b>Demo playback started.</b>")
secs = self.demoLengthMs / 1000
@ -68,9 +68,9 @@ class DemoPlayer(QtCore.QObject):
return
packet = self.demo[self.time]
self.parent.demoslider.blockSignals(True)
self.parent.demoslider.setValue(self.time)
self.parent.demoslider.blockSignals(False)
self.parent.sliDemoSeekbar.blockSignals(True)
self.parent.sliDemoSeekbar.setValue(self.time)
self.parent.sliDemoSeekbar.blockSignals(False)
self.time += 1
self.paused = False

File diff suppressed because it is too large Load Diff

View File

@ -70,16 +70,16 @@ class lobby(QtGui.QWidget):
self.connectingimg.setPixmap(self.pix_connecting)
self.connectingimg.hide()
self.settingsbtn = QtGui.QPushButton(self)
self.settingsbtn.setText("Settings")
self.settingsbtn.resize(self.settingsbtn.sizeHint())
self.settingsbtn.move(self.pix_lobby.size().width() - self.settingsbtn.size().width(), 0)
self.settingsbtn.clicked.connect(self.onSettingsClicked)
self.btnSettings = QtGui.QPushButton(self)
self.btnSettings.setText("Settings")
self.btnSettings.resize(self.btnSettings.sizeHint())
self.btnSettings.move(self.pix_lobby.size().width() - self.btnSettings.size().width(), 0)
self.btnSettings.clicked.connect(self.onSettingsClicked)
self.demobtn = QtGui.QPushButton(self)
self.demobtn.setText("Play a demo")
self.demobtn.resize(self.demobtn.sizeHint())
self.demobtn.move(self.settingsbtn.x() - self.demobtn.size().width(), 0)
self.demobtn.move(self.btnSettings.x() - self.demobtn.size().width(), 0)
self.demobtn.clicked.connect(self.on_demo_clicked)
self.btn_public = PicButton(self.pix_btn_public, self)
@ -165,12 +165,12 @@ class lobby(QtGui.QWidget):
self.connectprogress.move(135-20, 92)
self.oocname = 'Name'
self.oocnameinput = QtGui.QLineEdit(self)
self.oocnameinput.setText(self.oocname)
self.oocnameinput.move(0, 646)
self.oocnameinput.resize(91, 19)
self.oocnameinput.setStyleSheet('background-color: rgb(87, 87, 87);')
self.oocnameinput.textChanged.connect(self.setoocname)
self.OOCNameInput = QtGui.QLineEdit(self)
self.OOCNameInput.setText(self.oocname)
self.OOCNameInput.move(0, 646)
self.OOCNameInput.resize(91, 19)
self.OOCNameInput.setStyleSheet('background-color: rgb(87, 87, 87);')
self.OOCNameInput.textChanged.connect(self.setoocname)
self.lobbychatinput = QtGui.QLineEdit(self)
self.lobbychatinput.setPlaceholderText("Say something...")
@ -308,7 +308,7 @@ class lobby(QtGui.QWidget):
self.serverlist.hide()
self.onlineplayers.hide()
self.serverinfo.hide()
self.settingsbtn.hide()
self.btnSettings.hide()
self.demobtn.hide()
self.connectprogress.setText('Connecting...')
@ -329,7 +329,7 @@ class lobby(QtGui.QWidget):
self.serverlist.show()
self.onlineplayers.show()
self.serverinfo.show()
self.settingsbtn.show()
self.btnSettings.show()
self.demobtn.show()
def onClicked_serverlist(self, item):
@ -361,7 +361,7 @@ class lobby(QtGui.QWidget):
self.lobbychatinput.clear()
def setoocname(self):
self.oocname = self.oocnameinput.text().toUtf8()
self.oocname = self.OOCNameInput.text().toUtf8()
def lobbychatlog_update(self):
if self.lobbychatlog.verticalScrollBar().value() == self.lobbychatlog.verticalScrollBar().maximum(): self.lobbychatlog.verticalScrollBar().setValue(self.lobbychatlog.verticalScrollBar().maximum())

View File

@ -188,24 +188,24 @@ class Settings(QtGui.QDialog):
musiclabel = QtGui.QLabel("Music")
soundlabel = QtGui.QLabel("Sounds")
bliplabel = QtGui.QLabel("Blips")
self.musicslider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
self.soundslider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
self.blipslider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
self.musicslider.setRange(0, 100)
self.soundslider.setRange(0, 100)
self.blipslider.setRange(0, 100)
self.sliMusicVolume = QtGui.QSlider(QtCore.Qt.Horizontal, self)
self.sliSoundVolume = QtGui.QSlider(QtCore.Qt.Horizontal, self)
self.sliBlipsVolume = QtGui.QSlider(QtCore.Qt.Horizontal, self)
self.sliMusicVolume.setRange(0, 100)
self.sliSoundVolume.setRange(0, 100)
self.sliBlipsVolume.setRange(0, 100)
audio_layout.setWidget(2, QtGui.QFormLayout.LabelRole, musiclabel)
audio_layout.setWidget(2, QtGui.QFormLayout.FieldRole, self.musicslider)
audio_layout.setWidget(2, QtGui.QFormLayout.FieldRole, self.sliMusicVolume)
audio_layout.setWidget(3, QtGui.QFormLayout.LabelRole, soundlabel)
audio_layout.setWidget(3, QtGui.QFormLayout.FieldRole, self.soundslider)
audio_layout.setWidget(3, QtGui.QFormLayout.FieldRole, self.sliSoundVolume)
audio_layout.setWidget(4, QtGui.QFormLayout.LabelRole, bliplabel)
audio_layout.setWidget(4, QtGui.QFormLayout.FieldRole, self.blipslider)
audio_layout.setWidget(4, QtGui.QFormLayout.FieldRole, self.sliBlipsVolume)
self.reloadaudio = QtGui.QPushButton(text="Reload audio system")
self.reloadaudio.clicked.connect(self.onReloadAudio)
audio_layout.setWidget(5, QtGui.QFormLayout.FieldRole, self.reloadaudio)
for device in audio.getdevices():
for device in audio.getDevices():
self.device_list.addItem(device)
###### Callwords tab ######
@ -267,10 +267,10 @@ class Settings(QtGui.QDialog):
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()))
self.musicslider.setValue(ini.read_ini_int(self.inifile, "Audio", "Music volume", 100))
self.soundslider.setValue(ini.read_ini_int(self.inifile, "Audio", "Sound volume", 100))
self.blipslider.setValue(ini.read_ini_int(self.inifile, "Audio", "Blip volume", 100))
self.device_list.setCurrentIndex(ini.read_ini_int(self.inifile, "Audio", "device", audio.getCurrDevice()))
self.sliMusicVolume.setValue(ini.read_ini_int(self.inifile, "Audio", "Music volume", 100))
self.sliSoundVolume.setValue(ini.read_ini_int(self.inifile, "Audio", "Sound volume", 100))
self.sliBlipsVolume.setValue(ini.read_ini_int(self.inifile, "Audio", "Blip volume", 100))
else:
self.savetolog.setChecked(False)
self.savetolog_combine.setChecked(False)
@ -287,10 +287,10 @@ class Settings(QtGui.QDialog):
self.autopick.setEditText("")
self.autojoinarea.setText("")
self.device_list.setCurrentIndex(audio.getcurrdevice())
self.musicslider.setValue(100)
self.soundslider.setValue(100)
self.blipslider.setValue(100)
self.device_list.setCurrentIndex(audio.getCurrDevice())
self.sliMusicVolume.setValue(100)
self.sliSoundVolume.setValue(100)
self.sliBlipsVolume.setValue(100)
self.callwords_edit.clear()
if exists(AO2XPpath + "callwords.ini"):
@ -333,9 +333,9 @@ class Settings(QtGui.QDialog):
self.inifile.set("General", "install updates", self.check_updates.isChecked())
self.inifile.set("Audio", "device", self.device_list.currentIndex())
self.inifile.set("Audio", "Music volume", self.musicslider.value())
self.inifile.set("Audio", "Sound volume", self.soundslider.value())
self.inifile.set("Audio", "Blip volume", self.blipslider.value())
self.inifile.set("Audio", "Music volume", self.sliMusicVolume.value())
self.inifile.set("Audio", "Sound volume", self.sliSoundVolume.value())
self.inifile.set("Audio", "Blip volume", self.sliBlipsVolume.value())
with open("AO2XP.ini", "wb") as f:
self.inifile.write(f)
@ -344,14 +344,21 @@ class Settings(QtGui.QDialog):
f.write(self.callwords_edit.toPlainText().toUtf8())
self.gamewindow.gamewidget.textWaitTime = self.textstaytime.value()
self.gamewindow.gamewidget.slideEnabled = self.enableslide.isChecked()
slideEnabled = self.enableslide.isChecked()
self.gamewindow.gamewidget.slideEnabled = slideEnabled
self.gamewindow.gamewidget.cbSlide.setEnabled(slideEnabled)
if not slideEnabled:
self.gamewindow.gamewidget.cbSlide.setChecked(False)
if not self.theme_state == self.currtheme.currentText():
self.gamewindow.gamewidget.loadTheme(True)
if not self.gamewindow.gamewidget.demoPlaying:
if not (self.savelogs_state == self.savetolog.isChecked() and self.combinelogs_state == self.savetolog_combine.isChecked()):
self.gamewindow.gamewidget.ooclog.setLogFiles()
self.gamewindow.gamewidget.iclog.setLogFiles(self.gamewindow.gamewidget.ooclog.logfile)
self.gamewindow.gamewidget.OOCLog.setLogFiles()
self.gamewindow.gamewidget.ICLog.setLogFiles(self.gamewindow.gamewidget.OOCLog.logfile)
if not self.savedemos_state == self.savedemos.isChecked():
if self.savedemos.isChecked():

View File

@ -60,10 +60,10 @@ def handlePackets(caller, total, record=True):
elif header == 'ZZ':
if caller.parent.modcall:
audio.freehandle(caller.parent.modcall)
caller.parent.modcall = audio.loadhandle(0, "mod_call.wav", 0, 0, 0)
audio.sethandleattr(caller.parent.modcall, BASS_ATTRIB_VOL, caller.parent.soundslider.value() / 100.0)
audio.playhandle(caller.parent.modcall, False)
audio.freeHandle(caller.parent.modcall)
caller.parent.modcall = audio.loadHandle(0, "mod_call.wav", 0, 0, 0)
audio.setHandleAttr(caller.parent.modcall, BASS_ATTRIB_VOL, caller.parent.sliSoundVolume.value() / 100.0)
audio.playHandle(caller.parent.modcall, False)
if len(network) > 1:
caller.OOC_Log.emit('<b>[MOD CALL] ' + network[1].replace("\n", "<br />") + '</b>')
@ -80,7 +80,7 @@ def handlePackets(caller, total, record=True):
testimony = network[1]
wtcefile = AOpath + "sounds/general/sfx-testimony2"
if caller.parent.wtceSfx:
audio.freehandle(caller.parent.wtceSfx)
audio.freeHandle(caller.parent.wtceSfx)
if testimony == 'judgeruling':
variant = int(network[2])
@ -90,10 +90,10 @@ def handlePackets(caller, total, record=True):
wtcefile = AOpath + "sounds/general/sfx-guilty"
else:
variant = 0
caller.parent.wtceSfx = audio.loadhandle(False, wtcefile+".opus" if exists(wtcefile+".opus") else wtcefile+".wav", 0, 0, 0)
audio.sethandleattr(caller.parent.wtceSfx, BASS_ATTRIB_VOL, caller.parent.soundslider.value() / 100.0)
caller.parent.wtceSfx = audio.loadHandle(False, wtcefile+".opus" if exists(wtcefile+".opus") else wtcefile+".wav", 0, 0, 0)
audio.setHandleAttr(caller.parent.wtceSfx, BASS_ATTRIB_VOL, caller.parent.sliSoundVolume.value() / 100.0)
if caller.parent.wtceSfx:
audio.playhandle(caller.parent.wtceSfx, True)
audio.playHandle(caller.parent.wtceSfx, True)
caller.parent.wtceSignal.emit(testimony, variant)
elif header == 'HP':
@ -118,14 +118,14 @@ def handlePackets(caller, total, record=True):
statusStrings = ["You have logged out", "Wrong password", "Logged in"]
if status == 1:
caller.parent.login = True
caller.parent.player_kick.setDisabled(False)
caller.parent.player_ban.setDisabled(False)
caller.parent.ooclogin.setText("Lo&g out")
caller.parent.buttonPlayerKick.setDisabled(False)
caller.parent.buttonPlayerBan.setDisabled(False)
caller.parent.OOCLogin.setText("Lo&g out")
elif status == -1:
caller.parent.login = False
caller.parent.player_kick.setDisabled(True)
caller.parent.player_ban.setDisabled(True)
caller.parent.ooclogin.setText("Lo&gin")
caller.parent.buttonPlayerKick.setDisabled(True)
caller.parent.buttonPlayerBan.setDisabled(True)
caller.parent.OOCLogin.setText("Lo&gin")
caller.OOC_Log.emit("<b>%s</b>" % (statusStrings[status+1]))
# elif header == "CHECK": #ping
@ -160,7 +160,7 @@ def handlePackets(caller, total, record=True):
caller.parent.areas[4].append(area_val)
areaitem = QtGui.QListWidgetItem()
caller.parent.areaitems.addItem(areaitem)
caller.parent.areaItems.addItem(areaitem)
for j in range(4):
if j != kind: