mirror of
https://github.com/python/cpython.git
synced 2025-07-23 19:25:40 +00:00
further work on new config system
This commit is contained in:
parent
a8e1d81bdc
commit
f31eec0e2e
2 changed files with 23 additions and 9 deletions
|
@ -463,7 +463,10 @@ class ConfigDialog(Toplevel):
|
||||||
def VarChanged_themeIsBuiltin(self,*params):
|
def VarChanged_themeIsBuiltin(self,*params):
|
||||||
value=self.themeIsBuiltin.get()
|
value=self.themeIsBuiltin.get()
|
||||||
self.AddChangedItem('main','Theme','default',value)
|
self.AddChangedItem('main','Theme','default',value)
|
||||||
self.PaintThemeSample()
|
if value:
|
||||||
|
self.VarChanged_builtinTheme()
|
||||||
|
else:
|
||||||
|
self.VarChanged_customTheme()
|
||||||
|
|
||||||
def VarChanged_highlightTarget(self,*params):
|
def VarChanged_highlightTarget(self,*params):
|
||||||
self.SetHighlightTarget()
|
self.SetHighlightTarget()
|
||||||
|
@ -495,9 +498,9 @@ class ConfigDialog(Toplevel):
|
||||||
value=self.keysAreBuiltin.get()
|
value=self.keysAreBuiltin.get()
|
||||||
self.AddChangedItem('main','Keys','default',value)
|
self.AddChangedItem('main','Keys','default',value)
|
||||||
if value:
|
if value:
|
||||||
self.LoadKeysList(self.builtinKeys.get())
|
self.VarChanged_builtinKeys()
|
||||||
else:
|
else:
|
||||||
self.LoadKeysList(self.customKeys.get())
|
self.VarChanged_customKeys()
|
||||||
|
|
||||||
def VarChanged_winWidth(self,*params):
|
def VarChanged_winWidth(self,*params):
|
||||||
value=self.winWidth.get()
|
value=self.winWidth.get()
|
||||||
|
@ -936,24 +939,31 @@ class ConfigDialog(Toplevel):
|
||||||
type='bool',default=1))
|
type='bool',default=1))
|
||||||
##currently set theme
|
##currently set theme
|
||||||
currentOption=idleConf.CurrentTheme()
|
currentOption=idleConf.CurrentTheme()
|
||||||
|
print 'current option',currentOption
|
||||||
##load available theme option menus
|
##load available theme option menus
|
||||||
if self.themeIsBuiltin.get(): #default theme selected
|
if self.themeIsBuiltin.get(): #default theme selected
|
||||||
|
print 'builtin theme'
|
||||||
itemList=idleConf.GetSectionList('default','highlight')
|
itemList=idleConf.GetSectionList('default','highlight')
|
||||||
itemList.sort()
|
itemList.sort()
|
||||||
|
print 'builtin items:',itemList
|
||||||
self.optMenuThemeBuiltin.SetMenu(itemList,currentOption)
|
self.optMenuThemeBuiltin.SetMenu(itemList,currentOption)
|
||||||
itemList=idleConf.GetSectionList('user','highlight')
|
itemList=idleConf.GetSectionList('user','highlight')
|
||||||
itemList.sort()
|
itemList.sort()
|
||||||
|
print 'user items:',itemList
|
||||||
if not itemList:
|
if not itemList:
|
||||||
self.radioThemeCustom.config(state=DISABLED)
|
self.radioThemeCustom.config(state=DISABLED)
|
||||||
self.customTheme.set('- no custom themes -')
|
self.customTheme.set('- no custom themes -')
|
||||||
else:
|
else:
|
||||||
self.optMenuThemeCustom.SetMenu(itemList,itemList[0])
|
self.optMenuThemeCustom.SetMenu(itemList,itemList[0])
|
||||||
else: #user theme selected
|
else: #user theme selected
|
||||||
|
print 'user theme'
|
||||||
itemList=idleConf.GetSectionList('user','highlight')
|
itemList=idleConf.GetSectionList('user','highlight')
|
||||||
itemList.sort()
|
itemList.sort()
|
||||||
|
print 'user items:',itemList
|
||||||
self.optMenuThemeCustom.SetMenu(itemList,currentOption)
|
self.optMenuThemeCustom.SetMenu(itemList,currentOption)
|
||||||
itemList=idleConf.GetSectionList('default','highlight')
|
itemList=idleConf.GetSectionList('default','highlight')
|
||||||
itemList.sort()
|
itemList.sort()
|
||||||
|
print 'builtin items:',itemList
|
||||||
self.optMenuThemeBuiltin.SetMenu(itemList,itemList[0])
|
self.optMenuThemeBuiltin.SetMenu(itemList,itemList[0])
|
||||||
self.SetThemeType()
|
self.SetThemeType()
|
||||||
##load theme element option menu
|
##load theme element option menu
|
||||||
|
@ -1112,4 +1122,5 @@ if __name__ == '__main__':
|
||||||
root=Tk()
|
root=Tk()
|
||||||
Button(root,text='Dialog',
|
Button(root,text='Dialog',
|
||||||
command=lambda:ConfigDialog(root,'Settings')).pack()
|
command=lambda:ConfigDialog(root,'Settings')).pack()
|
||||||
|
root.instanceDict={}
|
||||||
root.mainloop()
|
root.mainloop()
|
||||||
|
|
|
@ -142,7 +142,8 @@ class GetKeysDialog(Toplevel):
|
||||||
if modifiers: modifiers[0]='<'+modifiers[0]
|
if modifiers: modifiers[0]='<'+modifiers[0]
|
||||||
keyList=keyList+modifiers
|
keyList=keyList+modifiers
|
||||||
if finalKey:
|
if finalKey:
|
||||||
if (not modifiers) and (finalKey in self.functionKeys):
|
if (not modifiers) and (finalKey not
|
||||||
|
in self.alphanumKeys+self.punctuationKeys):
|
||||||
finalKey='<'+self.TranslateKey(finalKey)
|
finalKey='<'+self.TranslateKey(finalKey)
|
||||||
else:
|
else:
|
||||||
finalKey=self.TranslateKey(finalKey)
|
finalKey=self.TranslateKey(finalKey)
|
||||||
|
@ -225,16 +226,18 @@ class GetKeysDialog(Toplevel):
|
||||||
tkMessageBox.showerror(title='Key Sequence Error',
|
tkMessageBox.showerror(title='Key Sequence Error',
|
||||||
message='No final key specified.')
|
message='No final key specified.')
|
||||||
keysOk=0
|
keysOk=0
|
||||||
elif (not modifiers) and (finalKey not in self.functionKeys):
|
elif (not modifiers) and (finalKey in
|
||||||
#modifier required if not a function key
|
self.alphanumKeys+self.punctuationKeys):
|
||||||
|
#modifier required
|
||||||
tkMessageBox.showerror(title='Key Sequence Error',
|
tkMessageBox.showerror(title='Key Sequence Error',
|
||||||
message='No modifier key(s) specified.')
|
message='No modifier key(s) specified.')
|
||||||
keysOk=0
|
keysOk=0
|
||||||
elif (modifiers==['Shift']) and (finalKey not in self.functionKeys):
|
elif (modifiers==['Shift']) and (finalKey not
|
||||||
|
in self.functionKeys+('Tab',)):
|
||||||
#shift alone is only a useful modifier with a function key
|
#shift alone is only a useful modifier with a function key
|
||||||
tkMessageBox.showerror(title='Key Sequence Error',
|
tkMessageBox.showerror(title='Key Sequence Error',
|
||||||
message='Shift alone is only a useful modifier '+
|
message='Shift alone is not a useful modifier '+
|
||||||
'when used with a function key.')
|
'when used with this final key key.')
|
||||||
keysOk=0
|
keysOk=0
|
||||||
elif keySequence in self.currentKeySequences: #keys combo already in use
|
elif keySequence in self.currentKeySequences: #keys combo already in use
|
||||||
tkMessageBox.showerror(title='Key Sequence Error',
|
tkMessageBox.showerror(title='Key Sequence Error',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue