[Idle-dev] CVS: idle EditorWindow.py,1.19,1.20 configDialog.py,1.43,1.44
Stephen M. Gava
elguavas@users.sourceforge.net
Sun, 17 Mar 2002 18:38:46 -0800
Update of /cvsroot/idlefork/idle
In directory usw-pr-cvs1:/tmp/cvs-serv25917
Modified Files:
EditorWindow.py configDialog.py
Log Message:
further work on dynamic reconfiguration;
keybindings
Index: EditorWindow.py
===================================================================
RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -r1.19 -r1.20
*** EditorWindow.py 12 Mar 2002 00:21:56 -0000 1.19
--- EditorWindow.py 18 Mar 2002 02:38:44 -0000 1.20
***************
*** 493,496 ****
--- 493,529 ----
fontWeight))
+ def ResetKeybindings(self):
+ #this function is called from configDialog.py
+ #to update the keybindings if they are changed
+ self.Bindings.default_keydefs=idleConf.GetCurrentKeySet()
+ keydefs = self.Bindings.default_keydefs
+ for event, keylist in keydefs.items():
+ self.text.event_delete(event)
+ self.apply_bindings()
+ #update menu accelerators
+ menuEventDict={}
+ for menu in self.Bindings.menudefs:
+ menuEventDict[menu[0]]={}
+ for item in menu[1]:
+ if item:
+ menuEventDict[menu[0]][prepstr(item[0])[1]]=item[1]
+ for menubarItem in self.menudict.keys():
+ menu=self.menudict[menubarItem]
+ end=menu.index(END)+1
+ for index in range(0,end):
+ if menu.type(index)=='command':
+ accel=menu.entrycget(index,'accelerator')
+ if accel:
+ itemName=menu.entrycget(index,'label')
+ event=''
+ if menuEventDict.has_key(menubarItem):
+ if menuEventDict[menubarItem].has_key(itemName):
+ event=menuEventDict[menubarItem][itemName]
+ if event:
+ #print 'accel was:',accel
+ accel=get_accelerator(keydefs, event)
+ menu.entryconfig(index,accelerator=accel)
+ #print 'accel now:',accel,'\n'
+
def saved_change_hook(self):
short = self.short_title()
Index: configDialog.py
===================================================================
RCS file: /cvsroot/idlefork/idle/configDialog.py,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -r1.43 -r1.44
*** configDialog.py 12 Mar 2002 02:33:52 -0000 1.43
--- configDialog.py 18 Mar 2002 02:38:44 -0000 1.44
***************
*** 1097,1100 ****
--- 1097,1101 ----
instance.ResetColorizer()
instance.ResetFont()
+ instance.ResetKeybindings()
def Cancel(self):