diff options
Diffstat (limited to 'addressbook/gui')
-rw-r--r-- | addressbook/gui/widgets/eab-config.c | 24 | ||||
-rw-r--r-- | addressbook/gui/widgets/eab-config.h | 14 |
2 files changed, 37 insertions, 1 deletions
diff --git a/addressbook/gui/widgets/eab-config.c b/addressbook/gui/widgets/eab-config.c index dbbb8cefc2..5cb8d25e81 100644 --- a/addressbook/gui/widgets/eab-config.c +++ b/addressbook/gui/widgets/eab-config.c @@ -54,6 +54,8 @@ ecp_target_free (EConfig *ec, EConfigTarget *t) p->source_changed_id = 0; } break; } + case EAB_CONFIG_TARGET_PREFS: + break; } } @@ -64,6 +66,12 @@ ecp_target_free (EConfig *ec, EConfigTarget *t) if (s->source) g_object_unref (s->source); break; } + case EAB_CONFIG_TARGET_PREFS: { + EABConfigTargetPrefs *s = (EABConfigTargetPrefs *) t; + + if (s->gconf) + g_object_unref (s->gconf); + break; } } ((EConfigClass *) ecp_parent_class)->target_free (ec, t); @@ -91,6 +99,8 @@ ecp_set_target (EConfig *ec, EConfigTarget *t) s->source, "changed", G_CALLBACK (ecp_source_changed), ec); break; } + case EAB_CONFIG_TARGET_PREFS: + break; } } } @@ -145,3 +155,17 @@ eab_config_target_new_source (EABConfig *ecp, struct _ESource *source) return t; } + +EABConfigTargetPrefs * +eab_config_target_new_prefs (EABConfig *ecp, GConfClient *gconf) +{ + EABConfigTargetPrefs *t = e_config_target_new ( + &ecp->config, EAB_CONFIG_TARGET_PREFS, sizeof (*t)); + + if (gconf) + t->gconf = g_object_ref (gconf); + else + t->gconf = NULL; + + return t; +} diff --git a/addressbook/gui/widgets/eab-config.h b/addressbook/gui/widgets/eab-config.h index 5aa822ea62..7cf79244e2 100644 --- a/addressbook/gui/widgets/eab-config.h +++ b/addressbook/gui/widgets/eab-config.h @@ -24,6 +24,7 @@ #ifndef __EAB_CONFIG_H__ #define __EAB_CONFIG_H__ +#include <gconf/gconf-client.h> #include "e-util/e-config.h" #define EAB_TYPE_CONFIG (eab_config_get_type ()) @@ -46,7 +47,8 @@ struct _EABConfigClass { }; enum _eab_config_target_t { - EAB_CONFIG_TARGET_SOURCE + EAB_CONFIG_TARGET_SOURCE, + EAB_CONFIG_TARGET_PREFS }; typedef struct _EABConfigTargetSource EABConfigTargetSource; @@ -57,12 +59,22 @@ struct _EABConfigTargetSource { struct _ESource *source; }; +typedef struct _EABConfigTargetPrefs EABConfigTargetPrefs; + +struct _EABConfigTargetPrefs { + EConfigTarget target; + + /* preferences are global from gconf */ + GConfClient *gconf; +}; + typedef struct _EConfigItem EABConfigItem; GType eab_config_get_type (void); EABConfig *eab_config_new (gint type, const gchar *menuid); EABConfigTargetSource *eab_config_target_new_source (EABConfig *ecp, struct _ESource *source); +EABConfigTargetPrefs *eab_config_target_new_prefs (EABConfig *ecp, GConfClient *gconf); G_END_DECLS |