g_key_file_load_from_file(self->key_file, self->key_path,
G_KEY_FILE_KEEP_COMMENTS, &error);
if (error && defaults) {
- g_debug("GisPrefs: new - Trying %s defaults", defaults);
+ g_debug("GisPrefs: new - Trying defaults");
g_clear_error(&error);
g_key_file_load_from_file(self->key_file, defaults,
G_KEY_FILE_KEEP_COMMENTS, &error);
g_free(tmp);
}
if (error) {
- g_warning("GisPrefs: new - Unable to load key file `%s': %s",
+ g_debug("GisPrefs: new - Unable to load key file `%s': %s",
self->key_path, error->message);
}
return self;
#define make_pref_type(name, c_type, g_type) \
c_type gis_prefs_get_##name##_v(GisPrefs *self, \
- const gchar *group, const gchar *key) \
+ const gchar *group, const gchar *key, GError **_error) \
{ \
GError *error = NULL; \
c_type value = g_key_file_get_##name(self->key_file, group, key, &error); \
if (error && error->code != G_KEY_FILE_ERROR_GROUP_NOT_FOUND) \
g_warning("GisPrefs: get_value_##name - error getting key %s: %s\n", \
key, error->message); \
+ if (error && _error) \
+ *_error = error; \
return value; \
} \
-c_type gis_prefs_get_##name(GisPrefs *self, const gchar *key) \
+c_type gis_prefs_get_##name(GisPrefs *self, const gchar *key, GError **error) \
{ \
gchar **keys = g_strsplit(key, "/", 2); \
- c_type value = gis_prefs_get_##name##_v(self, keys[0], keys[1]); \
+ c_type value = gis_prefs_get_##name##_v(self, keys[0], keys[1], error); \
g_strfreev(keys); \
return value; \
} \
g_debug("GisPrefs: init");
self->key_file = g_key_file_new();
}
-static GObject *gis_prefs_constructor(GType gtype, guint n_properties,
- GObjectConstructParam *properties)
-{
- g_debug("GisPrefs: constructor");
- GObjectClass *parent_class = G_OBJECT_CLASS(gis_prefs_parent_class);
- return parent_class->constructor(gtype, n_properties, properties);
-}
static void gis_prefs_dispose(GObject *_self)
{
g_debug("GisPrefs: dispose");
}
G_OBJECT_CLASS(gis_prefs_parent_class)->dispose(_self);
}
-static void gis_prefs_finalize(GObject *_self)
-{
- g_debug("GisPrefs: finalize");
- G_OBJECT_CLASS(gis_prefs_parent_class)->finalize(_self);
-}
static void gis_prefs_class_init(GisPrefsClass *klass)
{
g_debug("GisPrefs: class_init");
GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
- gobject_class->constructor = gis_prefs_constructor;
gobject_class->dispose = gis_prefs_dispose;
- gobject_class->finalize = gis_prefs_finalize;
signals[SIG_PREF_CHANGED] = g_signal_new(
"pref-changed",
G_TYPE_FROM_CLASS(gobject_class),