36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
|
from otp.otpbase import OTPLocalizer
|
||
|
from otp.speedchat.SCMenu import SCMenu
|
||
|
from otp.speedchat import SCMenuHolder, SCStaticTextTerminal
|
||
|
|
||
|
class SCSpecialMenu(SCMenu):
|
||
|
|
||
|
def __init__(self, sections):
|
||
|
SCMenu.__init__(self)
|
||
|
self.sections = sections
|
||
|
self.__messagesChanged()
|
||
|
|
||
|
def appendPhrases(self, section, menu):
|
||
|
for phrase in section[1]:
|
||
|
if phrase not in OTPLocalizer.SpeedChatStaticText:
|
||
|
print 'warning: tried to link speedchat menu phrase %s which does not seem to exist' % phrase
|
||
|
break
|
||
|
|
||
|
menu.append(SCStaticTextTerminal.SCStaticTextTerminal(phrase))
|
||
|
|
||
|
def __messagesChanged(self):
|
||
|
self.clearMenu()
|
||
|
|
||
|
try:
|
||
|
lt = base.localAvatar
|
||
|
except:
|
||
|
return
|
||
|
|
||
|
for section in self.sections:
|
||
|
if section[0] == -1:
|
||
|
self.appendPhrases(section, self)
|
||
|
else:
|
||
|
menu = SCMenu()
|
||
|
|
||
|
self.appendPhrases(section, menu)
|
||
|
self.append(SCMenuHolder.SCMenuHolder(str(section[0]), menu))
|