DhSettings

DhSettings — libdevhelp settings

Functions

Properties

gchar * fixed-font Read / Write / Construct
gboolean group-books-by-language Read / Write / Construct
gboolean use-system-fonts Read / Write / Construct
gchar * variable-font Read / Write / Construct

Signals

Types and Values

struct DhSettings

Object Hierarchy

    GObject
    ╰── DhSettings

Includes

#include <devhelp/devhelp.h>

Description

DhSettings represents the libdevhelp settings. The libdevhelp provides a GSettings schema, but for some settings the use of GSettings is optional: it is instead possible to set the DhSettings property and do not bind it to the GSettings key, to force a certain value and to not provide a user configuration for it in the application.

To have the documentation about the available GSettings keys, their types, the default values, etc, read the *.gschema.xml file.

Note that DhSettings do not expose the GSettings objects, you should use the DhSettings wrapper API instead. So instead of using g_settings_bind(), you should use g_object_bind_property() with a DhSettings property as the source. This has the small drawback that the writability of the GSettings keys are not exposed, it is assumed that all keys are writable; if knowing the writability of the GSettings keys is really wanted, the DhSettings API can be changed to expose publicly the GSettings objects (for that purpose only).

Different default value

If you want to save a DhSettings setting with GSettings, but with a different default value than the one provided by the libdevhelp GSettings schema, the recommended thing to do is to *not* call the bind function provided by DhSettings for that property, provide your own GSettings schema with the same key but with a different default value, and call yourself g_settings_bind().


GSettings keys without corresponding properties

For the following GSettings keys, the use of GSettings is mandatory, there are no corresponding DhSettings properties (and thus no bind function).

  • "books-disabled": if the use of GSettings is not wanted, a custom DhBookList can be created instead.

Functions

dh_settings_get_default ()

DhSettings *
dh_settings_get_default (void);

Gets the default DhSettings object. It has the default GSettings paths (see DhSettingsBuilder) and dh_settings_bind_all() has been called.

Returns

the default DhSettings object.

[transfer none]

Since: 3.30


dh_settings_bind_all ()

void
dh_settings_bind_all (DhSettings *settings);

Binds all the DhSettings properties to their corresponding GSettings keys.

Parameters

settings

a DhSettings.

 

Since: 3.30


dh_settings_get_group_books_by_language ()

gboolean
dh_settings_get_group_books_by_language
                               (DhSettings *settings);

Parameters

settings

a DhSettings.

 

Returns

the value of the “group-books-by-language” property.

Since: 3.30


dh_settings_set_group_books_by_language ()

void
dh_settings_set_group_books_by_language
                               (DhSettings *settings,
                                gboolean group_books_by_language);

Sets the “group-books-by-language” property.

Parameters

settings

a DhSettings.

 

group_books_by_language

the new value.

 

Since: 3.30


dh_settings_bind_group_books_by_language ()

void
dh_settings_bind_group_books_by_language
                               (DhSettings *settings);

Binds the “group-books-by-language” property to the corresponding GSettings key.

Parameters

settings

a DhSettings.

 

Since: 3.30


dh_settings_is_book_enabled ()

gboolean
dh_settings_is_book_enabled (DhSettings *settings,
                             DhBook *book);

Returns whether book is enabled according to the "books-disabled" GSettings key. If the book ID is present in "books-disabled", this function returns FALSE, otherwise TRUE is returned.

Parameters

settings

a DhSettings.

 

book

a DhBook.

 

Returns

whether book is enabled.

Since: 3.30


dh_settings_set_book_enabled ()

void
dh_settings_set_book_enabled (DhSettings *settings,
                              DhBook *book,
                              gboolean enabled);

Modifies the "books-disabled" GSettings key. It adds or removes the book ID from "books-disabled".

Parameters

settings

a DhSettings.

 

book

a DhBook.

 

enabled

the new value.

 

Since: 3.30


dh_settings_freeze_books_disabled_changed ()

void
dh_settings_freeze_books_disabled_changed
                               (DhSettings *settings);

Tells settings to not emit the “books-disabled-changed” signal until dh_settings_thaw_books_disabled_changed() is called.

A bit like g_object_freeze_notify(), except that there is no freeze count.

This function is useful if you call dh_settings_set_book_enabled() several times in a row.

Parameters

settings

a DhSettings.

 

Since: 3.30


dh_settings_thaw_books_disabled_changed ()

void
dh_settings_thaw_books_disabled_changed
                               (DhSettings *settings);

Stops the effect of dh_settings_freeze_books_disabled_changed(), and emits the “books-disabled-changed” signal.

A bit like g_object_thaw_notify(), except that there is no freeze count.

Parameters

settings

a DhSettings.

 

Since: 3.30


dh_settings_get_selected_fonts ()

void
dh_settings_get_selected_fonts (DhSettings *settings,
                                gchar **variable_font,
                                gchar **fixed_font);

If “use-system-fonts” is TRUE, returns the system fonts. Otherwise returns the values of the “variable-font” and “fixed-font” properties.

Parameters

settings

a DhSettings.

 

variable_font

location to store the font name for text with variable width. Free with g_free().

[out]

fixed_font

location to store the font name for text with fixed width. Free with g_free().

[out]

Since: 3.30


dh_settings_get_use_system_fonts ()

gboolean
dh_settings_get_use_system_fonts (DhSettings *settings);

Parameters

settings

a DhSettings.

 

Returns

the value of the “use-system-fonts” property.

Since: 3.30


dh_settings_set_use_system_fonts ()

void
dh_settings_set_use_system_fonts (DhSettings *settings,
                                  gboolean use_system_fonts);

Sets the “use-system-fonts” property.

Parameters

settings

a DhSettings.

 

use_system_fonts

the new value.

 

Since: 3.30


dh_settings_get_variable_font ()

const gchar *
dh_settings_get_variable_font (DhSettings *settings);

Warning: you probably want to use the dh_settings_get_selected_fonts() function instead, to take into account the “use-system-fonts” property.

Parameters

settings

a DhSettings.

 

Returns

the value of the “variable-font” property.

Since: 3.30


dh_settings_set_variable_font ()

void
dh_settings_set_variable_font (DhSettings *settings,
                               const gchar *variable_font);

Sets the “variable-font” property.

Parameters

settings

a DhSettings.

 

variable_font

the new value.

 

Since: 3.30


dh_settings_get_fixed_font ()

const gchar *
dh_settings_get_fixed_font (DhSettings *settings);

Warning: you probably want to use the dh_settings_get_selected_fonts() function instead, to take into account the “use-system-fonts” property.

Parameters

settings

a DhSettings.

 

Returns

the value of the “fixed-font” property.

Since: 3.30


dh_settings_set_fixed_font ()

void
dh_settings_set_fixed_font (DhSettings *settings,
                            const gchar *fixed_font);

Sets the “fixed-font” property.

Parameters

settings

a DhSettings.

 

fixed_font

the new value.

 

Since: 3.30


dh_settings_bind_fonts ()

void
dh_settings_bind_fonts (DhSettings *settings);

Binds the “use-system-fonts”, “variable-font” and “fixed-font” properties to their corresponding GSettings keys.

Parameters

settings

a DhSettings.

 

Since: 3.30

Types and Values

struct DhSettings

struct DhSettings;

Property Details

The “fixed-font” property

  “fixed-font”               gchar *

Font for text with fixed width, such as code examples.

This property is independent of “use-system-fonts”.

Owner: DhSettings

Flags: Read / Write / Construct

Default value: "Monospace 12"

Since: 3.30


The “group-books-by-language” property

  “group-books-by-language”  gboolean

Whether books should be grouped by programming language in the UI.

Owner: DhSettings

Flags: Read / Write / Construct

Default value: FALSE

Since: 3.30


The “use-system-fonts” property

  “use-system-fonts”         gboolean

Whether to use the system default fonts.

Owner: DhSettings

Flags: Read / Write / Construct

Default value: TRUE

Since: 3.30


The “variable-font” property

  “variable-font”            gchar *

Font for text with variable width.

This property is independent of “use-system-fonts”.

Owner: DhSettings

Flags: Read / Write / Construct

Default value: "Sans 12"

Since: 3.30

Signal Details

The “books-disabled-changed” signal

void
user_function (DhSettings *settings,
               gpointer    user_data)

The ::books-disabled-changed signal is emitted when the "books-disabled" GSettings key changes.

Parameters

settings

the DhSettings emitting the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

Since: 3.30


The “fonts-changed” signal

void
user_function (DhSettings *settings,
               gpointer    user_data)

The ::fonts-changed signal is emitted when the return values of dh_settings_get_selected_fonts() have potentially changed.

Parameters

settings

the DhSettings emitting the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First

Since: 3.30