GNOME Bugzilla – Bug 585701
Rework loading of configuration
Last modified: 2009-07-01 18:07:52 UTC
The current gnumeric-gconf code splits the configuration options to be loaded into essentials (loaded right away) and extras (loaded after 1s idle time). 1. Nothing ensures that options things have been loaded when needed. 2. It is not possible to watch for changes to configuration values. I suggest that we rework things along the lines of: A. All configuration values are listed in an xml file. (That might be the schemas files or something derived from there.) B. Code is generated from that xml file, so it not necessary to parse it at run-time. C. Options become GObject properties of the application object. This fixes problem 2. D. When an option is queried, we make sure it has actually been loaded. (Consequently, we hide gnm_app_prefs.) This fixes problem 1. E. An idle timeout starts loading stuff after, say, 1s of idle time. When we start this process, we load, say, 10 keys per second. F. Non-GUI applications (such as ssconvert) either rely on D, or we supply a load-it-all function.
A: Done. B: Done. C: Not done. D: Done. E: Not done. Probably not needed -- items load as they are requested. F: Not needed.
C. is kind-of done: we now have function that return GOConfNode*s. Those can be monitored. This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.