GnomeScanSettings

GnomeScanSettings — Store settings for plugins

Synopsis

                    GnomeScanSettings;
GnomeScanSettings*  gnome_scan_settings_new             (void);
void                gnome_scan_settings_init_value      (GnomeScanSettings *settings,
                                                         GParamSpec *pspec);
void                gnome_scan_settings_set             (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         const GValue *value);
void                gnome_scan_settings_set_transform   (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         const GValue *value);
void                gnome_scan_settings_set_double      (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         gdouble value);
void                gnome_scan_settings_set_int         (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         gint value);
void                gnome_scan_settings_set_boolean     (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         gboolean value);
void                gnome_scan_settings_set_enum        (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type,
                                                         gint value);
void                gnome_scan_settings_set_boxed       (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type,
                                                         gpointer value);
void                gnome_scan_settings_set_object      (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GObject *value);
void                gnome_scan_settings_set_pointer     (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         gpointer value);
GValue*             gnome_scan_settings_get             (GnomeScanSettings *settings,
                                                         const gchar *name);
GValue*             gnome_scan_settings_get_transformed (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type);
gchar*              gnome_scan_settings_get_string      (GnomeScanSettings *settings,
                                                         const gchar *name);
gdouble             gnome_scan_settings_get_double      (GnomeScanSettings *settings,
                                                         const gchar *name);
gint                gnome_scan_settings_get_int         (GnomeScanSettings *settings,
                                                         const gchar *name);
gboolean            gnome_scan_settings_get_boolean     (GnomeScanSettings *settings,
                                                         const gchar *name);
gint                gnome_scan_settings_get_enum        (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type);
gpointer            gnome_scan_settings_get_boxed       (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type);
GObject*            gnome_scan_settings_get_object      (GnomeScanSettings *settings,
                                                         const gchar *name);
gpointer            gnome_scan_settings_get_pointer     (GnomeScanSettings *settings,
                                                         const gchar *name);
GHashTable*         gnome_scan_settings_get_all         (GnomeScanSettings *settings);

Object Hierarchy

  GObject
   +----GnomeScanSettings

Signals

  "changed"                                        : Run Last

Description

When user switch from a scanner to another, he expects the settings to keep almost the same. e.g. resolution should not be resetted on device selection. The settings are remember in a GnomeScanSettings which maintains a table of GValue using GParamSpec:name as key. This allow to apply the same GnomeScanSettings on various GnomeScanPlugin through gnome_scan_plugin_configure().

Since 0.5.92, GnomeScanSettings load and store automatically settings in GConf in /apps/gnome-scan/prgname%/key%. Ensure you have a call to g_set_prgname() before gnome_scan_init(). Loading is done upon construction. However, storing is done at dispose stage. Ensure to correctly ref/unref your GnomeScanSettings instance in order to actually use this feature.

Details

GnomeScanSettings

typedef struct _GnomeScanSettings GnomeScanSettings;

A GnomeScanSettings manage a table of GValue indexed by the name of the param spec they where associated to.


gnome_scan_settings_new ()

GnomeScanSettings*  gnome_scan_settings_new             (void);

Create a new empty GnomeScanSettings.

Returns :

a new GnomeScanSettings

gnome_scan_settings_init_value ()

void                gnome_scan_settings_init_value      (GnomeScanSettings *settings,
                                                         GParamSpec *pspec);

Store a new value in settings using default value and key from pspec.

settings :

a GnomeScanSettings

pspec :

a GSParamSpec

gnome_scan_settings_set ()

void                gnome_scan_settings_set             (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         const GValue *value);

Store value for name key. See: gnome_scan_settings_get()

settings :

a GnomeScanSettings

name :

GParamSpec name

value :

GParamSpec user value

gnome_scan_settings_set_transform ()

void                gnome_scan_settings_set_transform   (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         const GValue *value);

Store value for name key, keeping existing value type by transforming value. value type is used if the name setting has never been set.

See: gnome_scan_settings_get_transformed()

settings :

a GnomeScanSettings

name :

GParamSpec name

value :

GParamSpec user value

gnome_scan_settings_set_double ()

void                gnome_scan_settings_set_double      (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         gdouble value);

See: gnome_scan_settings_set_transform()

settings :

a GnomeScanSettings

name :

GParamSpec name

value :

gdouble value

gnome_scan_settings_set_int ()

void                gnome_scan_settings_set_int         (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         gint value);

See: gnome_scan_settings_set_transform()

settings :

a GnomeScanSettings

name :

GParamSpec name

value :

gint value

gnome_scan_settings_set_boolean ()

void                gnome_scan_settings_set_boolean     (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         gboolean value);

See: gnome_scan_settings_set_transform()

settings :

a GnomeScanSettings

name :

GParamSpec name

value :

gboolean value

gnome_scan_settings_set_enum ()

void                gnome_scan_settings_set_enum        (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type,
                                                         gint value);

See: gnome_scan_settings_set_transform()

settings :

a GnomeScanSettings

name :

GParamSpec name

type :

enum GType

value :

enum value

gnome_scan_settings_set_boxed ()

void                gnome_scan_settings_set_boxed       (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type,
                                                         gpointer value);

See: gnome_scan_settings_set_transform()

settings :

a GnomeScanSettings

name :

GParamSpec name

type :

value :

a GBoxed

gnome_scan_settings_set_object ()

void                gnome_scan_settings_set_object      (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GObject *value);

See: gnome_scan_settings_set_transform()

settings :

a GnomeScanSettings

name :

GParamSpec name

value :

a GObject

gnome_scan_settings_set_pointer ()

void                gnome_scan_settings_set_pointer     (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         gpointer value);

See: gnome_scan_settings_set_transform()

settings :

a GnomeScanSettings

name :

GParamSpec name

value :

a gpointer

gnome_scan_settings_get ()

GValue*             gnome_scan_settings_get             (GnomeScanSettings *settings,
                                                         const gchar *name);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

Returns :

the value corresponding to key or NULL. See: gnome_scan_settings_set()

gnome_scan_settings_get_transformed ()

GValue*             gnome_scan_settings_get_transformed (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

type :

Transformation destination type.

Returns :

the value corresponding to key or NULL. See: gnome_scan_settings_set()

gnome_scan_settings_get_string ()

gchar*              gnome_scan_settings_get_string      (GnomeScanSettings *settings,
                                                         const gchar *name);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

Returns :

the string corresponding to key. See: gnome_scan_settings_get()

gnome_scan_settings_get_double ()

gdouble             gnome_scan_settings_get_double      (GnomeScanSettings *settings,
                                                         const gchar *name);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

Returns :

the string corresponding to key or NULL. See: gnome_scan_settings_get()

gnome_scan_settings_get_int ()

gint                gnome_scan_settings_get_int         (GnomeScanSettings *settings,
                                                         const gchar *name);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

Returns :

the string corresponding to key or NULL. See: gnome_scan_settings_get()

gnome_scan_settings_get_boolean ()

gboolean            gnome_scan_settings_get_boolean     (GnomeScanSettings *settings,
                                                         const gchar *name);

settings :

a GnomeScanSettings

name :

value name

Returns :

a gboolean

gnome_scan_settings_get_enum ()

gint                gnome_scan_settings_get_enum        (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

type :

GEnum subtype

Returns :

the enum value corresponding to key or 0. See: gnome_scan_settings_get()

gnome_scan_settings_get_boxed ()

gpointer            gnome_scan_settings_get_boxed       (GnomeScanSettings *settings,
                                                         const gchar *name,
                                                         GType type);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

type :

GBoxed derived GType

Returns :

the boxed-type value corresponding to key or NULL. See: gnome_scan_settings_get()

gnome_scan_settings_get_object ()

GObject*            gnome_scan_settings_get_object      (GnomeScanSettings *settings,
                                                         const gchar *name);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

Returns :

the object corresponding to key or NULL. See: gnome_scan_settings_get()

gnome_scan_settings_get_pointer ()

gpointer            gnome_scan_settings_get_pointer     (GnomeScanSettings *settings,
                                                         const gchar *name);

Look for a value stored in the table for name key.

settings :

a GnomeScanSettings

name :

a key

Returns :

the pointer corresponding to key or NULL. See: gnome_scan_settings_get()

gnome_scan_settings_get_all ()

GHashTable*         gnome_scan_settings_get_all         (GnomeScanSettings *settings);

Retrun all stored values in a GHashTable. Use g_hash_table_ref() if you want to keep the GHashTable in memory after settings destruction.

settings :

a GnomeScanSettings

Returns :

a GHashTable containings GValues

Signal Details

The "changed" signal

void                user_function                      (GnomeScanSettings *widget,
                                                        gchar             *key,
                                                        gpointer           user_data)      : Run Last

This signal is emitted when the value is changed by the user.

widget :

The emitting widget

key :

The changed key

value :

The new value

user_data :

user data set when the signal handler was connected.