diff options
This commit was manufactured by cvs2svn to create tagRELEASE-2_8_0
'RELEASE-2_8_0'.
svn path=/tags/RELEASE-2_8_0/; revision=23849
Diffstat (limited to 'e-util/e-categories-master-list-wombat.c')
-rw-r--r-- | e-util/e-categories-master-list-wombat.c | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/e-util/e-categories-master-list-wombat.c b/e-util/e-categories-master-list-wombat.c deleted file mode 100644 index 9e45199877..0000000000 --- a/e-util/e-categories-master-list-wombat.c +++ /dev/null @@ -1,183 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * e-categories-master-list.c: the master list of categories. - * - * Authors: - * Chris Lahey <clahey@ximian.com> - * - * (C) 1999, 2000 Ximian, Inc. - */ -#include <config.h> - -#include "e-categories-master-list-wombat.h" -#include "e-categories-config.h" -#include "e-config-listener.h" - -#include <libxml/tree.h> -#include <libxml/parser.h> - -#define PARENT_TYPE e_categories_master_list_array_get_type () - -#define d(x) - -struct _ECategoriesMasterListWombatPriv { - EConfigListener *listener; - guint listener_id; -}; - -static ECategoriesMasterListArrayClass *parent_class; - -static void -ecmlw_load (ECategoriesMasterListWombat *ecmlw) -{ - char *string; - gboolean def; - - string = e_config_listener_get_string_with_default (ecmlw->priv->listener, - "/apps/evolution/general/category_master_list", - NULL, - &def); - /* parse the XML string */ - if (!def) { - e_categories_master_list_array_from_string (E_CATEGORIES_MASTER_LIST_ARRAY (ecmlw), - string); - } - - d(g_print ("load: %s\n", string?string:"(nil)")); - - g_free (string); -} - -static void -ecmlw_save (ECategoriesMasterListWombat *ecmlw) -{ - char *string; - - string = e_categories_master_list_array_to_string (E_CATEGORIES_MASTER_LIST_ARRAY (ecmlw)); - - d(g_print ("save: %s\n", string)); - - e_config_listener_set_string (ecmlw->priv->listener, - "/apps/evolution/general/category_master_list", - string); - - g_free (string); -} - -/** - * ecmlw_commit: - * @ecml: the master list to remove from. - */ -static void -ecmlw_commit (ECategoriesMasterList *ecml) -{ - ECategoriesMasterListWombat *ecmlw = E_CATEGORIES_MASTER_LIST_WOMBAT (ecml); - - ((ECategoriesMasterListClass *) parent_class)->commit (ecml); - - ecmlw_save (ecmlw); -} - - -/** - * ecmlw_reset: - * @ecml: the master list to reset. - */ -static void -ecmlw_reset (ECategoriesMasterList *ecml) -{ - ECategoriesMasterListWombat *ecmlw = E_CATEGORIES_MASTER_LIST_WOMBAT (ecml); - - ((ECategoriesMasterListClass *) parent_class)->reset (ecml); - - ecmlw_save (ecmlw); -} - -static void -ecmlw_dispose (GObject *object) -{ - ECategoriesMasterListWombat *ecmlw = E_CATEGORIES_MASTER_LIST_WOMBAT (object); - - if (ecmlw->priv) { - /* remove the listener */ - g_signal_handler_disconnect (ecmlw->priv->listener, - ecmlw->priv->listener_id); - - g_object_unref (ecmlw->priv->listener); - - g_free (ecmlw->priv); - ecmlw->priv = NULL; - } - - if (G_OBJECT_CLASS (parent_class)->dispose) - (* G_OBJECT_CLASS (parent_class)->dispose) (object); -} - - -static void -ecmlw_class_init (GObjectClass *object_class) -{ - ECategoriesMasterListClass *ecml_class = E_CATEGORIES_MASTER_LIST_CLASS(object_class); - - parent_class = g_type_class_ref (PARENT_TYPE); - - ecml_class->commit = ecmlw_commit; - - ecml_class->reset = ecmlw_reset ; - - object_class->dispose = ecmlw_dispose; -} - -static void -property_change_cb (EConfigListener *listener, - char *key, - gpointer user_data) -{ - ecmlw_load (user_data); -} - -static void -ecmlw_init (ECategoriesMasterListWombat *ecmlw) -{ - ecmlw->priv = g_new (ECategoriesMasterListWombatPriv, 1); - ecmlw->priv->listener = e_config_listener_new (); - - /* add a listener */ - ecmlw->priv->listener_id = - g_signal_connect (ecmlw->priv->listener, - "key_changed", - G_CALLBACK (property_change_cb), - ecmlw); - - ecmlw_load (ecmlw); -} - -GType -e_categories_master_list_wombat_get_type (void) -{ - static GType type = 0; - - if (!type) { - static const GTypeInfo info = { - sizeof (ECategoriesMasterListWombatClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) ecmlw_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (ECategoriesMasterListWombat), - 0, /* n_preallocs */ - (GInstanceInitFunc) ecmlw_init, - }; - - type = g_type_register_static (PARENT_TYPE, "ECategoriesMasterListWombat", &info, 0); - } - - return type; -} - -ECategoriesMasterList * -e_categories_master_list_wombat_new (void) -{ - return E_CATEGORIES_MASTER_LIST (g_object_new (E_TYPE_CATEGORIES_MASTER_LIST_WOMBAT, NULL)); -} |