From 8180308e57e97c0c4e69331aac409e49e6a38876 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Tue, 4 Nov 2003 21:43:09 +0000 Subject: Resync with eel. 2003-11-04 Marco Pesenti Gritti * lib/eel-gconf-extensions.c: (global_client_free), (eel_gconf_client_get_global), (eel_gconf_handle_error), (eel_gconf_set_string), (eel_gconf_is_default), (eel_gconf_key_is_writable), (eel_gconf_monitor_add), (eel_gconf_monitor_remove), (eel_gconf_preload_cache), (eel_gconf_get_default_value), (eel_strcmp), (eel_str_is_equal), (simple_value_is_equal), (eel_gconf_value_is_equal), (eel_gconf_value_get_string_list), (eel_gconf_value_set_string_list), (eel_gconf_set_float), (eel_gconf_get_float): * lib/eel-gconf-extensions.h: Resync with eel. * lib/ephy-prefs.h: * lib/widgets/ephy-spinner.c: * embed/ephy-embed-prefs.h: * embed/mozilla/mozilla-notifiers.cpp: Migrate old font size settings. This will screw things for 1.1 users, not much we can do about it now. --- ChangeLog | 24 +++ embed/ephy-embed-prefs.h | 11 +- embed/mozilla/mozilla-notifiers.cpp | 114 +++++++++- lib/eel-gconf-extensions.c | 413 ++++++++++++++++++++++++------------ lib/eel-gconf-extensions.h | 95 ++++----- lib/ephy-prefs.h | 3 + lib/widgets/ephy-spinner.c | 1 - 7 files changed, 459 insertions(+), 202 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3bb3f1801..c75913f04 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2003-11-04 Marco Pesenti Gritti + + * lib/eel-gconf-extensions.c: (global_client_free), + (eel_gconf_client_get_global), (eel_gconf_handle_error), + (eel_gconf_set_string), (eel_gconf_is_default), + (eel_gconf_key_is_writable), (eel_gconf_monitor_add), + (eel_gconf_monitor_remove), (eel_gconf_preload_cache), + (eel_gconf_get_default_value), (eel_strcmp), (eel_str_is_equal), + (simple_value_is_equal), (eel_gconf_value_is_equal), + (eel_gconf_value_get_string_list), + (eel_gconf_value_set_string_list), (eel_gconf_set_float), + (eel_gconf_get_float): + * lib/eel-gconf-extensions.h: + + Resync with eel. + + * lib/ephy-prefs.h: + * lib/widgets/ephy-spinner.c: + * embed/ephy-embed-prefs.h: + * embed/mozilla/mozilla-notifiers.cpp: + + Migrate old font size settings. This will screw things + for 1.1 users, not much we can do about it now. + 2003-11-04 Marco Pesenti Gritti * embed/downloader-view.c: diff --git a/embed/ephy-embed-prefs.h b/embed/ephy-embed-prefs.h index 50e63bdb7..71cba6166 100644 --- a/embed/ephy-embed-prefs.h +++ b/embed/ephy-embed-prefs.h @@ -1,8 +1,8 @@ #define CONF_NETWORK_CACHE_SIZE "/apps/epiphany/web/cache_size" #define CONF_RENDERING_FONT "/apps/epiphany/web/font" -#define CONF_RENDERING_FONT_VAR_SIZE "/apps/epiphany/web/font_var_size" -#define CONF_RENDERING_FONT_FIXED_SIZE "/apps/epiphany/web/font_fixed_size" -#define CONF_RENDERING_FONT_MIN_SIZE "/apps/epiphany/web/font_min_size" +#define CONF_RENDERING_FONT_VAR_SIZE "/apps/epiphany/web/font_var_size_pt" +#define CONF_RENDERING_FONT_FIXED_SIZE "/apps/epiphany/web/font_fixed_size_pt" +#define CONF_RENDERING_FONT_MIN_SIZE "/apps/epiphany/web/font_min_size_pt" #define CONF_RENDERING_LANGUAGE "/apps/epiphany/web/language" #define CONF_RENDERING_USE_OWN_COLORS "/apps/epiphany/web/use_own_colors" #define CONF_RENDERING_USE_OWN_FONTS "/apps/epiphany/web/use_own_fonts" @@ -26,3 +26,8 @@ #define CONF_NETWORK_SOCKS_PROXY_PORT "/system/proxy/socks_port" #define CONF_NETWORK_PROXY_AUTO_URL "/system/proxy/autoconfig_url" #define CONF_NETWORK_PROXY_IGNORE_HOSTS "/system/http_proxy/ignore_hosts" + +/* Deprecated, we migrate them */ +#define CONF_RENDERING_FONT_VAR_SIZE_OLD "/apps/epiphany/web/font_var_size" +#define CONF_RENDERING_FONT_FIXED_SIZE_OLD "/apps/epiphany/web/font_fixed_size" +#define CONF_RENDERING_FONT_MIN_SIZE_OLD "/apps/epiphany/web/font_min_size" diff --git a/embed/mozilla/mozilla-notifiers.cpp b/embed/mozilla/mozilla-notifiers.cpp index 7dde69462..da68ebbc0 100644 --- a/embed/mozilla/mozilla-notifiers.cpp +++ b/embed/mozilla/mozilla-notifiers.cpp @@ -35,11 +35,13 @@ #include #include #include -#include "nsCOMPtr.h" -#include "nsIPrefService.h" -#include "nsIServiceManager.h" +#include +#include +#include +#include #define MOZILLA_PREF_NO_PROXIES "network.proxy.no_proxies_on" +#define MIGRATE_PIXEL_SIZE static void mozilla_cache_size_notifier (GConfClient *client, @@ -382,14 +384,81 @@ add_notification_and_notify (GConfClient *client, gconf_client_notify (client, key); } +#ifdef MIGRATE_PIXEL_SIZE + +#define INT_ROUND(a) gint((a) + 0.5f) + +/** + * This function gets the dpi in the same way that mozilla gets the dpi, + * this allows us to convert from pixels to points easily + */ +static gint +mozilla_get_dpi () +{ + GtkSettings* settings = gtk_settings_get_default (); + gint dpi = 0; + + /* Use the gdk-xft-dpi setting if it is set */ + if (g_object_class_find_property (G_OBJECT_GET_CLASS (G_OBJECT (settings)), + "gtk-xft-dpi")) + { + g_object_get (G_OBJECT (settings), "gtk-xft-dpi", &dpi, NULL); + if (dpi) return INT_ROUND (dpi / PANGO_SCALE); + } + + /* Fall back to what xft thinks it is */ + char *val = XGetDefault (GDK_DISPLAY (), "Xft", "dpi"); + if (val) + { + char *e; + double d = strtod(val, &e); + if (e != val) return INT_ROUND (d); + } + + /* Fall back to calculating manually from the gdk screen settings */ + float screenWidthIn = float (gdk_screen_width_mm()) / 25.4f; + return INT_ROUND (gdk_screen_width() / screenWidthIn); +} + +static void +mozilla_migrate_font_gconf_key (const char *pixel_key, const char *point_key) +{ + int size; + + size = eel_gconf_get_integer (pixel_key); + + if (size > 0) + { + /* Use doubles to get more accurate arithmetic */ + double dpi = (double)mozilla_get_dpi (); + double value = (double)eel_gconf_get_integer (pixel_key); + gint point = INT_ROUND ((value * 72) / dpi); + + eel_gconf_set_integer (point_key, point); + } +} + +#endif + void -mozilla_notifiers_init(EphyEmbedSingle *single) +mozilla_notifiers_init (EphyEmbedSingle *single) { GConfClient *client = eel_gconf_client_get_global (); guint i; const EphyFontsLanguageInfo *font_languages; guint n_font_languages; +#ifdef MIGRATE_PIXEL_SIZE + gboolean migrate_size; + + migrate_size = (eel_gconf_get_integer (CONF_SCHEMA_VERSION) + < EPIPHANY_SCHEMA_VERSION); + if (migrate_size) + { + eel_gconf_set_integer (CONF_SCHEMA_VERSION, EPIPHANY_SCHEMA_VERSION); + } +#endif + for (i = 0; conversion_table[i].gconf_key != NULL; i++) { GConfClientNotifyFunc func = NULL; @@ -436,6 +505,9 @@ mozilla_notifiers_init(EphyEmbedSingle *single) char *types [] = { "variable", "monospace" }; char key[255]; char *info; +#ifdef MIGRATE_PIXEL_SIZE + char old_key[255]; +#endif for (k = 0; k < G_N_ELEMENTS (types); k++) { @@ -456,6 +528,15 @@ mozilla_notifiers_init(EphyEmbedSingle *single) info); font_infos = g_list_prepend (font_infos, info); +#ifdef MIGRATE_PIXEL_SIZE + if (migrate_size) + { + g_snprintf (old_key, 255, "%s_%s", + CONF_RENDERING_FONT_MIN_SIZE_OLD, code); + mozilla_migrate_font_gconf_key (old_key, key); + } +#endif + g_snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_FIXED_SIZE, code); info = g_strconcat ("size.fixed", ".", code, NULL); add_notification_and_notify (client, key, @@ -463,19 +544,40 @@ mozilla_notifiers_init(EphyEmbedSingle *single) info); font_infos = g_list_prepend (font_infos, info); +#ifdef MIGRATE_PIXEL_SIZE + if (migrate_size) + { + g_snprintf (old_key, 255, "%s_%s", + CONF_RENDERING_FONT_FIXED_SIZE_OLD, code); + mozilla_migrate_font_gconf_key (old_key, key); + } +#endif + g_snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_VAR_SIZE, code); info = g_strconcat ("size.variable", ".", code, NULL); add_notification_and_notify (client, key, (GConfClientNotifyFunc)mozilla_font_size_notifier, info); - font_infos = g_list_prepend (font_infos, info); + font_infos = g_list_prepend (font_infos, info); + +#ifdef MIGRATE_PIXEL_SIZE + if (migrate_size) + { + g_snprintf (old_key, 255, "%s_%s", + CONF_RENDERING_FONT_VAR_SIZE_OLD, code); + mozilla_migrate_font_gconf_key (old_key, key); + } +#endif } } void mozilla_notifiers_free (void) { - ephy_notification_remove (&mozilla_notifiers); + g_list_foreach (mozilla_notifiers, + (GFunc)eel_gconf_notification_remove, + NULL); + g_list_free(mozilla_notifiers); g_list_foreach (font_infos, (GFunc) g_free, NULL); g_list_free (font_infos); diff --git a/lib/eel-gconf-extensions.c b/lib/eel-gconf-extensions.c index 564085704..ff016b5f5 100644 --- a/lib/eel-gconf-extensions.c +++ b/lib/eel-gconf-extensions.c @@ -22,15 +22,13 @@ Authors: Ramiro Estrugo */ -#include #include #include "eel-gconf-extensions.h" +#include #include #include -#include -#include -#include +#include static GConfClient *global_gconf_client = NULL; @@ -40,8 +38,8 @@ global_client_free (void) if (global_gconf_client == NULL) { return; } - - g_object_unref (G_OBJECT (global_gconf_client)); + + g_object_unref (global_gconf_client); global_gconf_client = NULL; } @@ -59,7 +57,6 @@ eel_gconf_client_get_global (void) return NULL; } } - } if (global_gconf_client == NULL) { @@ -73,10 +70,23 @@ eel_gconf_client_get_global (void) gboolean eel_gconf_handle_error (GError **error) { + char *message; + static gboolean shown_dialog = FALSE; + g_return_val_if_fail (error != NULL, FALSE); if (*error != NULL) { g_warning (_("GConf error:\n %s"), (*error)->message); + if (! shown_dialog) { + shown_dialog = TRUE; + + message = g_strdup_printf (_("GConf error:\n %s\n" + "All further errors shown " + "only on terminal"), + (*error)->message); + g_error (message, _("GConf Error"), NULL); + g_free (message); + } g_error_free (*error); *error = NULL; @@ -160,52 +170,14 @@ eel_gconf_get_integer (const char *key) return result; } -void -eel_gconf_set_float (const char *key, - gfloat float_value) -{ - GConfClient *client; - GError *error = NULL; - - g_return_if_fail (key != NULL); - - client = eel_gconf_client_get_global (); - g_return_if_fail (client != NULL); - - gconf_client_set_float (client, key, float_value, &error); - eel_gconf_handle_error (&error); -} - -gfloat -eel_gconf_get_float (const char *key) -{ - gfloat result; - GConfClient *client; - GError *error = NULL; - - g_return_val_if_fail (key != NULL, 0); - - client = eel_gconf_client_get_global (); - g_return_val_if_fail (client != NULL, 0); - - result = gconf_client_get_float (client, key, &error); - - if (eel_gconf_handle_error (&error)) { - result = 0; - } - - return result; -} - void eel_gconf_set_string (const char *key, - const char *string_value) + const char *string_value) { GConfClient *client; GError *error = NULL; g_return_if_fail (key != NULL); - g_return_if_fail (string_value != NULL); client = eel_gconf_client_get_global (); g_return_if_fail (client != NULL); @@ -214,21 +186,6 @@ eel_gconf_set_string (const char *key, eel_gconf_handle_error (&error); } -void -eel_gconf_unset (const char *key) -{ - GConfClient *client; - GError *error = NULL; - - g_return_if_fail (key != NULL); - - client = eel_gconf_client_get_global (); - g_return_if_fail (client != NULL); - - gconf_client_unset (client, key, &error); - eel_gconf_handle_error (&error); -} - char * eel_gconf_get_string (const char *key) { @@ -291,49 +248,6 @@ eel_gconf_get_string_list (const char *key) return slist; } -/* This code wasn't part of the original eel-gconf-extensions.c */ -void -eel_gconf_set_integer_list (const char *key, - const GSList *slist) -{ - GConfClient *client; - GError *error; - - g_return_if_fail (key != NULL); - - client = eel_gconf_client_get_global (); - g_return_if_fail (client != NULL); - - error = NULL; - gconf_client_set_list (client, key, GCONF_VALUE_INT, - /* Need cast cause of GConf api bug */ - (GSList *) slist, - &error); - eel_gconf_handle_error (&error); -} - -GSList * -eel_gconf_get_integer_list (const char *key) -{ - GSList *slist; - GConfClient *client; - GError *error; - - g_return_val_if_fail (key != NULL, NULL); - - client = eel_gconf_client_get_global (); - g_return_val_if_fail (client != NULL, NULL); - - error = NULL; - slist = gconf_client_get_list (client, key, GCONF_VALUE_INT, &error); - if (eel_gconf_handle_error (&error)) { - slist = NULL; - } - - return slist; -} -/* End of added code */ - gboolean eel_gconf_is_default (const char *key) { @@ -353,12 +267,24 @@ eel_gconf_is_default (const char *key) } result = (value == NULL); + eel_gconf_value_free (value); + return result; +} + +gboolean +eel_gconf_key_is_writable (const char *key) +{ + gboolean result; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, FALSE); + + result = gconf_client_key_is_writable (eel_gconf_client_get_global (), key, &error); - if (value != NULL) { - gconf_value_free (value); + if (eel_gconf_handle_error (&error)) { + return result; } - return result; } @@ -370,7 +296,7 @@ eel_gconf_monitor_add (const char *directory) g_return_val_if_fail (directory != NULL, FALSE); - client = eel_gconf_client_get_global (); + client = gconf_client_get_default (); g_return_val_if_fail (client != NULL, FALSE); gconf_client_add_dir (client, @@ -395,7 +321,7 @@ eel_gconf_monitor_remove (const char *directory) return FALSE; } - client = eel_gconf_client_get_global (); + client = gconf_client_get_default (); g_return_val_if_fail (client != NULL, FALSE); gconf_client_remove_dir (client, @@ -409,6 +335,28 @@ eel_gconf_monitor_remove (const char *directory) return TRUE; } +void +eel_gconf_preload_cache (const char *directory, + GConfClientPreloadType preload_type) +{ + GError *error = NULL; + GConfClient *client; + + if (directory == NULL) { + return; + } + + client = gconf_client_get_default (); + g_return_if_fail (client != NULL); + + gconf_client_preload (client, + directory, + preload_type, + &error); + + eel_gconf_handle_error (&error); +} + void eel_gconf_suggest_sync (void) { @@ -446,22 +394,150 @@ eel_gconf_get_value (const char *key) return value; } -void -eel_gconf_set_value (const char *key, GConfValue *value) +GConfValue* +eel_gconf_get_default_value (const char *key) { + GConfValue *value = NULL; GConfClient *client; GError *error = NULL; - - g_return_if_fail (key != NULL); + + g_return_val_if_fail (key != NULL, NULL); client = eel_gconf_client_get_global (); - g_return_if_fail (client != NULL); + g_return_val_if_fail (client != NULL, NULL); - gconf_client_set (client, key, value, &error); + value = gconf_client_get_default_from_schema (client, key, &error); if (eel_gconf_handle_error (&error)) { - return; + if (value != NULL) { + gconf_value_free (value); + value = NULL; + } + } + + return value; +} + +static int +eel_strcmp (const char *string_a, const char *string_b) +{ + /* FIXME bugzilla.eazel.com 5450: Maybe we need to make this + * treat 'NULL < ""', or have a flavor that does that. If we + * didn't have code that already relies on 'NULL == ""', I + * would change it right now. + */ + return strcmp (string_a == NULL ? "" : string_a, + string_b == NULL ? "" : string_b); +} + +static gboolean +eel_str_is_equal (const char *string_a, const char *string_b) +{ + /* FIXME bugzilla.eazel.com 5450: Maybe we need to make this + * treat 'NULL != ""', or have a flavor that does that. If we + * didn't have code that already relies on 'NULL == ""', I + * would change it right now. + */ + return eel_strcmp (string_a, string_b) == 0; +} + +static gboolean +simple_value_is_equal (const GConfValue *a, + const GConfValue *b) +{ + g_return_val_if_fail (a != NULL, FALSE); + g_return_val_if_fail (b != NULL, FALSE); + + switch (a->type) { + case GCONF_VALUE_STRING: + return eel_str_is_equal (gconf_value_get_string (a), + gconf_value_get_string (b)); + break; + + case GCONF_VALUE_INT: + return gconf_value_get_int (a) == + gconf_value_get_int (b); + break; + + case GCONF_VALUE_FLOAT: + return gconf_value_get_float (a) == + gconf_value_get_float (b); + break; + + case GCONF_VALUE_BOOL: + return gconf_value_get_bool (a) == + gconf_value_get_bool (b); + break; + default: + g_assert_not_reached (); + } + + return FALSE; +} + +gboolean +eel_gconf_value_is_equal (const GConfValue *a, + const GConfValue *b) +{ + GSList *node_a; + GSList *node_b; + + if (a == NULL && b == NULL) { + return TRUE; + } + + if (a == NULL || b == NULL) { + return FALSE; + } + + if (a->type != b->type) { + return FALSE; + } + + switch (a->type) { + case GCONF_VALUE_STRING: + case GCONF_VALUE_INT: + case GCONF_VALUE_FLOAT: + case GCONF_VALUE_BOOL: + return simple_value_is_equal (a, b); + break; + + case GCONF_VALUE_LIST: + if (gconf_value_get_list_type (a) != + gconf_value_get_list_type (b)) { + return FALSE; + } + + node_a = gconf_value_get_list (a); + node_b = gconf_value_get_list (b); + + if (node_a == NULL && node_b == NULL) { + return TRUE; + } + + if (g_slist_length (node_a) != + g_slist_length (node_b)) { + return FALSE; + } + + for (; + node_a != NULL && node_b != NULL; + node_a = node_a->next, node_b = node_b->next) { + g_assert (node_a->data != NULL); + g_assert (node_b->data != NULL); + if (!simple_value_is_equal (node_a->data, node_b->data)) { + return FALSE; + } + } + + return TRUE; + default: + /* FIXME: pair ? */ + g_assert (0); } + + g_assert_not_reached (); + return FALSE; } void @@ -521,36 +597,93 @@ eel_gconf_notification_remove (guint notification_id) gconf_client_notify_remove (client, notification_id); } -/* Simple wrapper for eel_gconf_notifier_add which - * adds the notifier id to the GList given as argument - * so that a call to ephy_notification_free can remove the notifiers - */ +GSList * +eel_gconf_value_get_string_list (const GConfValue *value) +{ + GSList *result; + const GSList *slist; + const GSList *node; + const char *string; + const GConfValue *next_value; + + if (value == NULL) { + return NULL; + } + + g_return_val_if_fail (value->type == GCONF_VALUE_LIST, NULL); + g_return_val_if_fail (gconf_value_get_list_type (value) == GCONF_VALUE_STRING, NULL); + + slist = gconf_value_get_list (value); + result = NULL; + for (node = slist; node != NULL; node = node->next) { + next_value = node->data; + g_return_val_if_fail (next_value != NULL, NULL); + g_return_val_if_fail (next_value->type == GCONF_VALUE_STRING, NULL); + string = gconf_value_get_string (next_value); + result = g_slist_append (result, g_strdup (string)); + } + return result; +} + void -ephy_notification_add (const char *key, - GConfClientNotifyFunc notification_callback, - gpointer callback_data, - GList **notifiers) +eel_gconf_value_set_string_list (GConfValue *value, + const GSList *string_list) { - guint id = 0; - - id = eel_gconf_notification_add(key, - notification_callback, - callback_data); - if (notifiers != NULL) { - *notifiers = g_list_append(*notifiers, - GINT_TO_POINTER(id)); + const GSList *node; + GConfValue *next_value; + GSList *value_list; + + g_return_if_fail (value->type == GCONF_VALUE_LIST); + g_return_if_fail (gconf_value_get_list_type (value) == GCONF_VALUE_STRING); + + value_list = NULL; + for (node = string_list; node != NULL; node = node->next) { + next_value = gconf_value_new (GCONF_VALUE_STRING); + gconf_value_set_string (next_value, node->data); + value_list = g_slist_append (value_list, next_value); } + + gconf_value_set_list (value, value_list); + + for (node = value_list; node != NULL; node = node->next) { + gconf_value_free (node->data); + } + g_slist_free (value_list); } -/* Removes all the notifiers listed in notifiers */ -/* Frees the notifiers list */ void -ephy_notification_remove (GList **notifiers) +eel_gconf_set_float (const char *key, + gfloat float_value) { - g_list_foreach(*notifiers, - (GFunc)eel_gconf_notification_remove, - NULL); - g_list_free(*notifiers); - *notifiers = NULL; + GConfClient *client; + GError *error = NULL; + + g_return_if_fail (key != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_set_float (client, key, float_value, &error); + eel_gconf_handle_error (&error); } +gfloat +eel_gconf_get_float (const char *key) +{ + gfloat result; + GConfClient *client; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, 0); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, 0); + + result = gconf_client_get_float (client, key, &error); + + if (eel_gconf_handle_error (&error)) { + result = 0; + } + + return result; +} diff --git a/lib/eel-gconf-extensions.h b/lib/eel-gconf-extensions.h index df51afaa1..13196d7ee 100644 --- a/lib/eel-gconf-extensions.h +++ b/lib/eel-gconf-extensions.h @@ -25,63 +25,54 @@ #ifndef EEL_GCONF_EXTENSIONS_H #define EEL_GCONF_EXTENSIONS_H -#include +#include #include #include -#ifdef __cplusplus -extern "C" { -#endif +G_BEGIN_DECLS #define EEL_GCONF_UNDEFINED_CONNECTION 0 -GConfClient *eel_gconf_client_get_global (void); -gboolean eel_gconf_handle_error (GError **error); -void eel_gconf_set_boolean (const char *key, - gboolean boolean_value); -gboolean eel_gconf_get_boolean (const char *key); -int eel_gconf_get_integer (const char *key); -void eel_gconf_set_integer (const char *key, - int int_value); -gfloat eel_gconf_get_float (const char *key); -void eel_gconf_set_float (const char *key, - gfloat float_value); -char * eel_gconf_get_string (const char *key); -void eel_gconf_set_string (const char *key, - const char *string_value); -GSList * eel_gconf_get_string_list (const char *key); -void eel_gconf_set_string_list (const char *key, - const GSList *string_list_value); -gboolean eel_gconf_is_default (const char *key); -gboolean eel_gconf_monitor_add (const char *directory); -gboolean eel_gconf_monitor_remove (const char *directory); -void eel_gconf_suggest_sync (void); -GConfValue* eel_gconf_get_value (const char *key); -gboolean eel_gconf_value_is_equal (const GConfValue *a, - const GConfValue *b); -void eel_gconf_set_value (const char *key, GConfValue *value); -void eel_gconf_value_free (GConfValue *value); -void eel_gconf_unset (const char *key); - -/* Functions which weren't part of the eel-gconf-extensions.h file from eel */ -GSList *eel_gconf_get_integer_list (const char *key); -void eel_gconf_set_integer_list (const char *key, - const GSList *slist); -guint eel_gconf_notification_add (const char *key, - GConfClientNotifyFunc notification_callback, - gpointer callback_data); -void eel_gconf_notification_remove (guint notification_id); - -void ephy_notification_add (const char *key, - GConfClientNotifyFunc notification_callback, - gpointer callback_data, - GList **notifiers); - -void ephy_notification_remove (GList **notifiers); - - -#ifdef __cplusplus -} -#endif +GConfClient *eel_gconf_client_get_global (void); +gboolean eel_gconf_handle_error (GError **error); +void eel_gconf_set_boolean (const char *key, + gboolean boolean_value); +gboolean eel_gconf_get_boolean (const char *key); +int eel_gconf_get_integer (const char *key); +void eel_gconf_set_integer (const char *key, + int int_value); +char * eel_gconf_get_string (const char *key); +void eel_gconf_set_string (const char *key, + const char *string_value); +GSList * eel_gconf_get_string_list (const char *key); +void eel_gconf_set_string_list (const char *key, + const GSList *string_list_value); +gboolean eel_gconf_key_is_writable (const char *key); +gboolean eel_gconf_is_default (const char *key); +gboolean eel_gconf_monitor_add (const char *directory); +gboolean eel_gconf_monitor_remove (const char *directory); +void eel_gconf_preload_cache (const char *directory, + GConfClientPreloadType preload_type); +void eel_gconf_suggest_sync (void); +GConfValue* eel_gconf_get_value (const char *key); +GConfValue* eel_gconf_get_default_value (const char *key); +gboolean eel_gconf_value_is_equal (const GConfValue *a, + const GConfValue *b); +void eel_gconf_value_free (GConfValue *value); +guint eel_gconf_notification_add (const char *key, + GConfClientNotifyFunc notification_callback, + gpointer callback_data); +void eel_gconf_notification_remove (guint notification_id); +GSList * eel_gconf_value_get_string_list (const GConfValue *value); +void eel_gconf_value_set_string_list (GConfValue *value, + const GSList *string_list); + +/* These are ephy additions, not part of the eel code */ + +void eel_gconf_set_float (const char *key, + gfloat float_value); +gfloat eel_gconf_get_float (const char *key); + +G_END_DECLS #endif /* EEL_GCONF_EXTENSIONS_H */ diff --git a/lib/ephy-prefs.h b/lib/ephy-prefs.h index e23b9ad6b..53c07e5d8 100644 --- a/lib/ephy-prefs.h +++ b/lib/ephy-prefs.h @@ -21,6 +21,9 @@ G_BEGIN_DECLS +#define EPIPHANY_SCHEMA_VERSION 1 +#define CONF_SCHEMA_VERSION "/apps/epiphany/schema_version" + /* General */ #define CONF_GENERAL_HOMEPAGE "/apps/epiphany/general/homepage" #define CONF_ALWAYS_SHOW_TABS_BAR "/apps/epiphany/general/always_show_tabs_bar" diff --git a/lib/widgets/ephy-spinner.c b/lib/widgets/ephy-spinner.c index c88d326d2..0443eb0de 100644 --- a/lib/widgets/ephy-spinner.c +++ b/lib/widgets/ephy-spinner.c @@ -31,7 +31,6 @@ #endif #include "ephy-spinner.h" -#include "eel-gconf-extensions.h" #include "ephy-string.h" #include "ephy-file-helpers.h" -- cgit v1.2.3