This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terry.reedy
Recipients terry.reedy
Date 2017-06-26.22:34:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
configdialog.ConfigDialog mixes together two things: a user interface for  changing options and a mechanism for storing proposed changes and applying them to the configuration dictionaries managed by config.  The change mechanism is based on a 3-level dict that maps user config file, config file section, and section entry to a new values.  Most GUI event handlers insert entries into the dict.  Cancel clears the dict. Apply and call a method to apply changes (and then clear them).

This issue will factor out the changes structure and all methods that touch it into a new Changes class.  ConfigDialog needs to be able to call methods to add changes, clear changes, apply changes, and maybe something else.  GUI tests need to be able to query currently stored changes.

Tests of Changes, which are part of this issue and should be 'complete', will accept examples changes from the test functions and send changes to either configparser mocks or even the actual configparser structures, but not to disk.

A complete test of the GUI (not part of this issue) will simulate user interaction with every widget and then query Changes() to see that the proper changes orders have been recorded.
Date User Action Args
2017-06-26 22:34:16terry.reedysetrecipients: + terry.reedy
2017-06-26 22:34:16terry.reedysetmessageid: <>
2017-06-26 22:34:16terry.reedylinkissue30779 messages
2017-06-26 22:34:16terry.reedycreate