SettingsSchemaSource.this

Attempts to create a new schema source corresponding to the contents of the given directory.

This function is not required for normal uses of gtk.Settings but it may be useful to authors of plugin management systems.

The directory should contain a file called gschemas.compiled as produced by the [glib-compile-schemas][glib-compile-schemas] tool.

If trusted is TRUE then gschemas.compiled is trusted not to be corrupted. This assumption has a performance advantage, but can result in crashes or inconsistent behaviour in the case of a corrupted file. Generally, you should set trusted to TRUE for files installed by the system and to FALSE for files in the home directory.

In either case, an empty file or some types of corruption in the file will result in G_FILE_ERROR_INVAL being returned.

If parent is non-NULL then there are two effects.

First, if Settings.schemaSourceLookup is called with the recursive flag set to TRUE and the schema can not be found in the source, the lookup will recurse to the parent.

Second, any references to other schemas specified within this source (ie: child or extends) references may be resolved from the parent.

For this second reason, except in very unusual situations, the parent should probably be given as the default schema source, as returned by Settings.schemaSourceGetDefault.

  1. this(GSettingsSchemaSource* gSettingsSchemaSource, bool ownedRef)
  2. this(string directory, SettingsSchemaSource parent, bool trusted)
    class SettingsSchemaSource

Parameters

directory string

the filename of a directory

parent SettingsSchemaSource
trusted bool

TRUE, if the directory is trusted

Throws

GException on failure. ConstructionException GTK+ fails to create the object.

Meta

Since

2.32