class_docstr: Manage a user's proposed configuration option changes.
  
  Names used across multiple methods:
      page -- one of the 4 top-level dicts representing a
              .idlerc/config-x.cfg file.
      config_type -- name of a page.
      section -- a section within a page/file.
      option -- name of an option within a section.
      value -- value for the option.
  
  Methods
      add_option: Add option and value to changes.
      save_option: Save option and value to config parser.
      save_all: Save all the changes to the config parser and file.
      delete_section: If section exists,
                      delete from changes, userCfg, and file.
      clear: Clear all changes by clearing each page.
class_docstr_tok: ["Manage","a","user","'s","proposed","configuration","option","changes",".","Names","used","across","multiple","methods",":","page","--","one","of","the","4","top-level","dicts","representing","a",".idlerc\/config-x.cfg","file",".","config_type","--","name","of","a","page",".","section","--","a","section","within","a","page\/file",".","option","--","name","of","an","option","within","a","section",".","value","--","value","for","the","option",".","Methods","add_option",":","Add","option","and","value","to","changes",".","save_option",":","Save","option","and","value","to","config","parser",".","save_all",":","Save","all","the","changes","to","the","config","parser","and","file",".","delete_section",":","If","section","exists",",","delete","from","changes",",","userCfg",",","and","file",".","clear",":","Clear","all","changes","by","clearing","each","page","."]
docstr: Return True if the configuration value was added or changed.
  
  Helper for save_all.
docstr_tok: ["Return","True","if","the","configuration","value","was","added","or","changed",".","Helper","for","save_all","."]
code: def save_option(config_type, section, item, value):
      """Return True if the configuration value was added or changed.
  
      Helper for save_all.
      """
      if idleConf.defaultCfg[config_type].has_option(section, item):
          if (
              idleConf.defaultCfg[config_type].Get(section, item)
              == value
          ):
              # The setting equals a default setting, remove it from user cfg.
              return idleConf.userCfg[config_type].RemoveOption(
                  section, item
              )
      # If we got here, set the option.
      return idleConf.userCfg[config_type].SetOption(
          section, item, value
      )
  
imports: from configparser import ConfigParser
  import os
  import sys
  from tkinter.font import Font
  import idlelib
label_desc: Use image node_id 3 for calling the ConfigChanges obj's underlying member method code with example usage: obj.save_option(config_type, section, item, value) and returns: idleConf, idleConf