This pull is primarily concerned with removing the use of GConf from the GTK build. It is replaced by using the [DataContract] attribute and attendant serializer / deserializer for the various Settings implementations.
In addition, some settings are now identified as "application" settings. Application settings are stored in a separate file.
XDG support was also added in this effort to put settings in a proper location.
During this, some other light cleanup was done - specifically separating the implementation of IApplicationInfo out of the INTV.LtoFlash assembly and putting into the application proper. This was long overdue, as it utterly violated the notion of what part of the code identified the application - which must be separate from the plugins that it collects.
In turn, this removed IApplicationInfo from composition - it is provided directly to the application via the RunApplication() method. And of course, being on three platforms, in which application initialization operates in utterly different ways, doing this broke the Mac initialization.
Mac exposed two issues. The OSVersion static initialization needs to be Lazy - you can't make calls to Foundation prior to entering a run loop, apparently. Also, access to IApplicationInfo happens before the application instance global has been established in the guts of Cocoa, apparently - so the value became a static on SingleInstanceApplication.
This pull is primarily concerned with removing the use of
GConf
from the GTK build. It is replaced by using the[DataContract]
attribute and attendant serializer / deserializer for the variousSettings
implementations.In addition, some settings are now identified as "application" settings. Application settings are stored in a separate file.
XDG support was also added in this effort to put settings in a proper location.
During this, some other light cleanup was done - specifically separating the implementation of
IApplicationInfo
out of theINTV.LtoFlash
assembly and putting into the application proper. This was long overdue, as it utterly violated the notion of what part of the code identified the application - which must be separate from the plugins that it collects.In turn, this removed
IApplicationInfo
from composition - it is provided directly to the application via theRunApplication()
method. And of course, being on three platforms, in which application initialization operates in utterly different ways, doing this broke the Mac initialization.Mac exposed two issues. The
OSVersion
static initialization needs to beLazy
- you can't make calls toFoundation
prior to entering a run loop, apparently. Also, access toIApplicationInfo
happens before the application instance global has been established in the guts of Cocoa, apparently - so the value became a static onSingleInstanceApplication
.