add initial quick menu support
This commit is contained in:
@ -8,9 +8,98 @@ from fenrirscreenreader.core import debug
|
||||
|
||||
class quickMenuManager():
|
||||
def __init__(self):
|
||||
pass
|
||||
self.position = 0
|
||||
self.quickMenu = []
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
self.env = environment
|
||||
self.loadMenu(self.env['runtime']['settingsManager'].getSetting('menu', 'quickMenu'))
|
||||
def shutdown(self):
|
||||
pass
|
||||
pass
|
||||
def loadMenu(self, menuString):
|
||||
self.position = 0
|
||||
self.quickMenu = []
|
||||
if menuString == '':
|
||||
return
|
||||
entrys = menuString.split(';')
|
||||
for e in entrys:
|
||||
entry = e.split('#')
|
||||
if len(entry) != 2:
|
||||
continue
|
||||
self.quickMenu.append({'section': entry[0], 'setting': entry[1]})
|
||||
def nextEntry(self):
|
||||
if len(self.quickMenu) == 0:
|
||||
return False
|
||||
self.position += 1
|
||||
if self.position >= len(self.quickMenu):
|
||||
self.position = 0
|
||||
return True
|
||||
def prevEntry(self):
|
||||
if len(self.quickMenu) == 0:
|
||||
return False
|
||||
self.position -= 1
|
||||
if self.position < 0:
|
||||
self.position = len(self.quickMenu) - 1
|
||||
return True
|
||||
def nextValue(self):
|
||||
if len(self.quickMenu) == 0:
|
||||
return False
|
||||
try:
|
||||
valueString = self.env['runtime']['settingsManager'].getSetting(self.quickMenu[self.position]['section'], self.quickMenu[self.position]['setting'])
|
||||
except:
|
||||
return False
|
||||
# bool
|
||||
if valueString.upper() in ['TRUE', 'FALSE']:
|
||||
value = valueString.upper() == 'TRUE'
|
||||
value = not value
|
||||
self.env['runtime']['settingsManager'].setSettingAsBool(self.quickMenu[self.position]['section'], self.quickMenu[self.position]['setting'], value)
|
||||
return True
|
||||
# float
|
||||
try:
|
||||
value = float(valueString)
|
||||
value += 0.05
|
||||
if value > 1.0:
|
||||
value = 1.0
|
||||
self.env['runtime']['settingsManager'].setSettingAsFloat(self.quickMenu[self.position]['section'], self.quickMenu[self.position]['setting'], value)
|
||||
return True
|
||||
except:
|
||||
pass
|
||||
return True
|
||||
def prevValue(self):
|
||||
if len(self.quickMenu) == 0:
|
||||
return False
|
||||
try:
|
||||
valueString = self.env['runtime']['settingsManager'].getSetting(self.quickMenu[self.position]['section'], self.quickMenu[self.position]['setting'])
|
||||
except:
|
||||
return False
|
||||
# bool
|
||||
if valueString.upper() in ['TRUE', 'FALSE']:
|
||||
value = valueString.upper() == 'TRUE'
|
||||
value = not value
|
||||
self.env['runtime']['settingsManager'].setSettingAsBool(self.quickMenu[self.position]['section'], self.quickMenu[self.position]['setting'], value)
|
||||
return True
|
||||
# float
|
||||
try:
|
||||
value = float(valueString)
|
||||
value -= 0.05
|
||||
if value < 0.0:
|
||||
value = 0
|
||||
self.env['runtime']['settingsManager'].setSettingAsFloat(self.quickMenu[self.position]['section'], self.quickMenu[self.position]['setting'], value)
|
||||
return True
|
||||
except:
|
||||
pass
|
||||
return True
|
||||
def getCurrentEntry(self):
|
||||
if len(self.quickMenu) == 0:
|
||||
return ''
|
||||
try:
|
||||
return _(self.quickMenu[self.position]['section']) + ' ' + _(self.quickMenu[self.position]['setting'])
|
||||
except:
|
||||
return _('setting invalid')
|
||||
def getCurrentValue(self):
|
||||
if len(self.quickMenu) == 0:
|
||||
return ''
|
||||
try:
|
||||
return self.env['runtime']['settingsManager'].getSetting(self.quickMenu[self.position]['section'], self.quickMenu[self.position]['setting'])
|
||||
except:
|
||||
return _('setting value invalid')
|
||||
|
||||
|
Reference in New Issue
Block a user