On Thu, 2003-08-28 at 21:02, Alexandre Julliard wrote:
It should definitely be possible to apply a subset of changes; we don't want to rewrite the full config everytime a change is made. If I toggle the "managed" flag for instance I expect that specific key to be written to the registry, nothing else. Yes, it will complicate the implementation a bit...
OK. That's not how my current codebase works, but apply the patches anyway and I'll steer it onto a different course.
Probably the best way to do it is to have a queue of transaction structures, and each time you want to change a registry key (or rather section/value pair) a new ConfigureTransaction is added to the tail of the queue. The queue can either be processed instantly, or block until OK/Cancel.
Alternatively, you can also place marks in the queue, so you can do gnome2 style "Revert" buttons, ie all changes take effect immediately (or rather are written to the registry immediately), but you can basically undo any changes you made while the dialog is still open.
That'd probably work quite well, though if we have an UI complex enough to need revert buttons we've probably gone wrong somewhere.
Sound good?