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:
parent
cf7a5fe568
commit
dae9cccc0e
7 changed files with 207 additions and 246 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue