further work on new config system;
user defined help items
diff --git a/Lib/idlelib/configDialog.py b/Lib/idlelib/configDialog.py
index bff86d9..978cbf1 100644
--- a/Lib/idlelib/configDialog.py
+++ b/Lib/idlelib/configDialog.py
@@ -367,11 +367,13 @@
                 width=8,command=self.HelpListItemAdd)
         self.buttonHelpListRemove=Button(frameHelpListButtons,text='Remove',
                 state=DISABLED,width=8,command=self.HelpListItemRemove)
-        checkHelpBrowser=Checkbutton(frameHelp,variable=self.userHelpBrowser,
-            onvalue=1,offvalue=0,text='user specified (html) help browser:',
-            command=self.OnCheckUserHelpBrowser)
-        self.entryHelpBrowser=Entry(frameHelp,textvariable=self.helpBrowser,
-                width=40)
+        # the following is better handled by the BROWSER environment
+        # variable under unix/linux
+        #checkHelpBrowser=Checkbutton(frameHelp,variable=self.userHelpBrowser,
+        #    onvalue=1,offvalue=0,text='user specified (html) help browser:',
+        #    command=self.OnCheckUserHelpBrowser)
+        #self.entryHelpBrowser=Entry(frameHelp,textvariable=self.helpBrowser,
+        #        width=40)
         #widget packing
         #body
         frameRun.pack(side=TOP,padx=5,pady=5,fill=X)
@@ -398,8 +400,8 @@
         self.buttonHelpListEdit.pack(side=TOP,anchor=W,pady=5)
         self.buttonHelpListAdd.pack(side=TOP,anchor=W)
         self.buttonHelpListRemove.pack(side=TOP,anchor=W,pady=5)
-        checkHelpBrowser.pack(side=TOP,anchor=W,padx=5)
-        self.entryHelpBrowser.pack(side=TOP,anchor=W,padx=5,pady=5)
+        #checkHelpBrowser.pack(side=TOP,anchor=W,padx=5)
+        #self.entryHelpBrowser.pack(side=TOP,anchor=W,padx=5,pady=5)
         return frame
 
     def AttachVarCallbacks(self):
@@ -870,7 +872,7 @@
     def HelpListItemEdit(self):
         itemIndex=self.listHelp.index(ANCHOR)
         helpSource=self.userHelpList[itemIndex]
-        newHelpSource=GetHelpSourceDialog(self,'New Help Source',
+        newHelpSource=GetHelpSourceDialog(self,'Edit Help Source',
                 menuItem=helpSource[0],filePath=helpSource[1]).result
         if (not newHelpSource) or (newHelpSource==helpSource):
             return #no changes
@@ -1013,11 +1015,11 @@
         for helpItem in self.userHelpList:
             self.listHelp.insert(END,helpItem[0]+'  '+helpItem[1])
         self.SetHelpListButtonStates()
-        self.userHelpBrowser.set(idleConf.GetOption('main','General',
-                'user-help-browser',default=0,type='bool'))
-        self.helpBrowser.set(idleConf.GetOption('main','General',
-                'user-help-browser-command',default=''))
-        self.OnCheckUserHelpBrowser()
+        #self.userHelpBrowser.set(idleConf.GetOption('main','General',
+        #        'user-help-browser',default=0,type='bool'))
+        #self.helpBrowser.set(idleConf.GetOption('main','General',
+        #        'user-help-browser-command',default=''))
+        #self.OnCheckUserHelpBrowser()
     
     def LoadConfigs(self):
         """
@@ -1070,9 +1072,12 @@
         """
         save all configuration changes to user config files.
         """
-        if self.changedItems['main'].has_key('HelpFiles'):
-            #this section gets completely replaced
-            idleConf.userCfg['main'].remove_section('HelpFiles')
+        #if self.changedItems['main'].has_key('HelpFiles'):
+        #this section gets completely replaced
+        print idleConf.GetAllExtraHelpSourcesList()
+        idleConf.userCfg['main'].remove_section('HelpFiles')
+        idleConf.userCfg['main'].Save()
+        print idleConf.GetAllExtraHelpSourcesList()
         for configType in self.changedItems.keys():
             cfgTypeHasChanges=0
             for section in self.changedItems[configType].keys():
@@ -1081,6 +1086,7 @@
                     if self.SetUserValue(configType,section,item,value):
                         cfgTypeHasChanges=1
             if cfgTypeHasChanges: 
+                print configType,'- changed'
                 idleConf.userCfg[configType].Save()                
         self.ResetChangedItems() #clear the changed items dict
          
@@ -1097,6 +1103,7 @@
             instance.ResetColorizer()
             instance.ResetFont()
             instance.ResetKeybindings()
+            instance.ResetExtraHelpMenu()
         
     def Cancel(self):
         self.destroy()