]> granicus.if.org Git - python/commitdiff
further work on new config system
authorSteven M. Gava <elguavas@python.net>
Tue, 5 Mar 2002 00:25:58 +0000 (00:25 +0000)
committerSteven M. Gava <elguavas@python.net>
Tue, 5 Mar 2002 00:25:58 +0000 (00:25 +0000)
Lib/idlelib/configDialog.py
Lib/idlelib/keybindingDialog.py

index 6b9a146ab1b6e02705bde90b4e47265674fbfa53..753a1fc1539c26c25359a91ed21c7f5fe10fa9e6 100644 (file)
@@ -463,7 +463,10 @@ class ConfigDialog(Toplevel):
     def VarChanged_themeIsBuiltin(self,*params):
         value=self.themeIsBuiltin.get()
         self.AddChangedItem('main','Theme','default',value)
-        self.PaintThemeSample()
+        if value:
+            self.VarChanged_builtinTheme()
+        else:
+            self.VarChanged_customTheme()
 
     def VarChanged_highlightTarget(self,*params):
         self.SetHighlightTarget()
@@ -495,9 +498,9 @@ class ConfigDialog(Toplevel):
         value=self.keysAreBuiltin.get() 
         self.AddChangedItem('main','Keys','default',value)
         if value: 
-            self.LoadKeysList(self.builtinKeys.get())
+            self.VarChanged_builtinKeys()
         else:
-            self.LoadKeysList(self.customKeys.get())
+            self.VarChanged_customKeys()
 
     def VarChanged_winWidth(self,*params):
         value=self.winWidth.get()
@@ -936,24 +939,31 @@ class ConfigDialog(Toplevel):
             type='bool',default=1))
         ##currently set theme
         currentOption=idleConf.CurrentTheme()
+        print 'current option',currentOption
         ##load available theme option menus
         if self.themeIsBuiltin.get(): #default theme selected
+            print 'builtin theme'
             itemList=idleConf.GetSectionList('default','highlight')
             itemList.sort()
+            print 'builtin items:',itemList
             self.optMenuThemeBuiltin.SetMenu(itemList,currentOption)
             itemList=idleConf.GetSectionList('user','highlight')
             itemList.sort()
+            print 'user items:',itemList
             if not itemList:
                 self.radioThemeCustom.config(state=DISABLED)
                 self.customTheme.set('- no custom themes -')    
             else:
                 self.optMenuThemeCustom.SetMenu(itemList,itemList[0])
         else: #user theme selected
+            print 'user theme'
             itemList=idleConf.GetSectionList('user','highlight')
             itemList.sort()
+            print 'user items:',itemList
             self.optMenuThemeCustom.SetMenu(itemList,currentOption)
             itemList=idleConf.GetSectionList('default','highlight')
             itemList.sort()
+            print 'builtin items:',itemList
             self.optMenuThemeBuiltin.SetMenu(itemList,itemList[0])
         self.SetThemeType()
         ##load theme element option menu
@@ -1112,4 +1122,5 @@ if __name__ == '__main__':
     root=Tk()
     Button(root,text='Dialog',
             command=lambda:ConfigDialog(root,'Settings')).pack()
+    root.instanceDict={}
     root.mainloop()
index 3b1ddbafeca110dd45975c68b4517a8d1aaf0327..f99e4520b92ec269fae774cc3ae8e959e2fe540a 100644 (file)
@@ -142,7 +142,8 @@ class GetKeysDialog(Toplevel):
         if modifiers: modifiers[0]='<'+modifiers[0]
         keyList=keyList+modifiers
         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)
             else:
                 finalKey=self.TranslateKey(finalKey)
@@ -225,16 +226,18 @@ class GetKeysDialog(Toplevel):
             tkMessageBox.showerror(title='Key Sequence Error',
                     message='No final key specified.')
             keysOk=0
-        elif (not modifiers) and (finalKey not in self.functionKeys):
-            #modifier required if not a function key
+        elif (not modifiers) and (finalKey in 
+                self.alphanumKeys+self.punctuationKeys):
+            #modifier required
             tkMessageBox.showerror(title='Key Sequence Error',
                     message='No modifier key(s) specified.')
             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
             tkMessageBox.showerror(title='Key Sequence Error',
-                    message='Shift alone is only a useful modifier '+
-                            'when used with a function key.')
+                    message='Shift alone is not a useful modifier '+
+                            'when used with this final key key.')
             keysOk=0
         elif keySequence in self.currentKeySequences: #keys combo already in use
             tkMessageBox.showerror(title='Key Sequence Error',