Remove all bonobo-conf stuff.

2001-07-26  Richard Hestilow  <hestilow@ximian.com>

	* applier.c: Remove all bonobo-conf stuff.

	* preferences.[ch]: New functions preferences_new_from_bonobo_pbag
	and preferences_new_from_bonobo_db.
This commit is contained in:
Richard Hestilow 2001-07-27 01:43:48 +00:00 committed by Rachel Hestilow
parent cf7a5fe568
commit dae9cccc0e
7 changed files with 207 additions and 246 deletions

View file

@ -40,6 +40,9 @@ static Applier *applier = NULL;
static void preferences_init (Preferences *prefs);
static void preferences_class_init (PreferencesClass *class);
#ifdef BONOBO_CONF_ENABLE
#include <bonobo.h>
#else
static gint xml_read_int (xmlNodePtr node);
static xmlNodePtr xml_write_int (gchar *name,
gint number);
@ -48,6 +51,7 @@ static xmlNodePtr xml_write_bool (gchar *name,
gboolean value);
static gint apply_timeout_cb (Preferences *prefs);
#endif
static GdkColor *read_color_from_string (gchar *string);
@ -171,6 +175,98 @@ preferences_destroy (GtkObject *object)
parent_class->destroy (object);
}
#ifdef BONOBO_CONF_ENABLE
static GdkColor*
bonobo_color_to_gdk (Bonobo_Config_Color *color)
{
GdkColor *ret;
g_return_val_if_fail (color != NULL, NULL);
ret = g_new0 (GdkColor, 1);
ret->red = color->r * 65535;
ret->green = color->g * 65535;
ret->blue = color->b * 65535;
return ret;
}
static gulong
pb_get_value_ulong (Bonobo_PropertyBag bag, const gchar *prop)
{
BonoboArg *arg;
gulong val;
arg = bonobo_property_bag_client_get_value_any (bag, prop, NULL);
val = BONOBO_ARG_GET_GENERAL (arg, TC_ulong, CORBA_unsigned_long, NULL);
bonobo_arg_release (arg);
return val;
}
#define PB_GET_VALUE(v) (bonobo_property_bag_client_get_value_any (pb, (v), NULL))
/* Probably has CORBA memory leaks */
GtkObject*
preferences_new_from_bonobo_pbag (Bonobo_PropertyBag pb, CORBA_Environment *ev)
{
Preferences *prefs;
g_return_val_if_fail (pb != CORBA_OBJECT_NIL, NULL);
g_return_val_if_fail (ev != NULL, NULL);
prefs = PREFERENCES (preferences_new ());
prefs->orientation = pb_get_value_ulong (pb, "orientation");
if (prefs->orientation != ORIENTATION_SOLID)
prefs->gradient_enabled = TRUE;
prefs->wallpaper_type = pb_get_value_ulong (pb, "wallpaper_type");
prefs->wallpaper_filename = g_strdup (*((CORBA_char **)(PB_GET_VALUE ("wallpaper_filename"))->_value));
if (prefs->wallpaper_filename && strcmp (prefs->wallpaper_filename, "") != 0)
prefs->wallpaper_enabled = TRUE;
prefs->color1 = bonobo_color_to_gdk ((Bonobo_Config_Color *)(PB_GET_VALUE ("color1"))->_value);
prefs->color2 = bonobo_color_to_gdk ((Bonobo_Config_Color *)(PB_GET_VALUE ("color2"))->_value);
prefs->opacity = BONOBO_ARG_GET_LONG (PB_GET_VALUE ("opacity"));
if (prefs->opacity != 100)
prefs->adjust_opacity = FALSE;
return GTK_OBJECT (prefs);
}
#define DB_GET_VALUE(v) (bonobo_config_get_value (db, (v), NULL, NULL))
GtkObject*
preferences_new_from_bonobo_db (Bonobo_ConfigDatabase db, CORBA_Environment *ev)
{
Preferences *prefs;
g_return_val_if_fail (db != CORBA_OBJECT_NIL, NULL);
g_return_val_if_fail (ev != NULL, NULL);
prefs = PREFERENCES (preferences_new ());
prefs->orientation = bonobo_config_get_ulong (db, "/main/orientation", NULL);
if (prefs->orientation != ORIENTATION_SOLID)
prefs->gradient_enabled = TRUE;
prefs->wallpaper_type = bonobo_config_get_ulong (db, "/main/wallpaper_type", NULL);
prefs->wallpaper_filename = g_strdup (*((CORBA_char **)(DB_GET_VALUE ("/main/wallpaper_filename"))->_value));
if (prefs->wallpaper_filename && strcmp (prefs->wallpaper_filename, "") != 0)
prefs->wallpaper_enabled = TRUE;
prefs->color1 = bonobo_color_to_gdk ((Bonobo_Config_Color *)(DB_GET_VALUE ("/main/color1"))->_value);
prefs->color2 = bonobo_color_to_gdk ((Bonobo_Config_Color *)(DB_GET_VALUE ("/main/color2"))->_value);
prefs->opacity = BONOBO_ARG_GET_LONG (DB_GET_VALUE ("/main/opacity"));
if (prefs->opacity != 100)
prefs->adjust_opacity = FALSE;
return GTK_OBJECT (prefs);
}
#else
void
preferences_load (Preferences *prefs)
{
@ -568,6 +664,7 @@ apply_timeout_cb (Preferences *prefs)
return TRUE;
}
#endif
static GdkColor *
read_color_from_string (gchar *string)