eel r2204 - in trunk: . eel



Author: alexl
Date: Wed Dec 10 10:39:34 2008
New Revision: 2204
URL: http://svn.gnome.org/viewvc/eel?rev=2204&view=rev

Log:
2008-12-10  Alexander Larsson  <alexl redhat com>

        * eel/eel-enumeration.[ch]:
        * eel/eel-preferences-builder.c:
        * eel/eel-preferences.[ch]:
	Make enums uint (so we can use larger values for thumbnail limit).




Modified:
   trunk/ChangeLog
   trunk/eel/eel-enumeration.c
   trunk/eel/eel-enumeration.h
   trunk/eel/eel-preferences-builder.c
   trunk/eel/eel-preferences.c
   trunk/eel/eel-preferences.h

Modified: trunk/eel/eel-enumeration.c
==============================================================================
--- trunk/eel/eel-enumeration.c	(original)
+++ trunk/eel/eel-enumeration.c	Wed Dec 10 10:39:34 2008
@@ -131,7 +131,7 @@
 	return eel_enumeration_get_name_position (enumeration, name) != -1;
 }
 
-int
+guint
 eel_enumeration_get_value_for_name (const EelEnumeration *enumeration,
 				    const char           *name)
 {

Modified: trunk/eel/eel-enumeration.h
==============================================================================
--- trunk/eel/eel-enumeration.h	(original)
+++ trunk/eel/eel-enumeration.h	Wed Dec 10 10:39:34 2008
@@ -34,7 +34,7 @@
 {
 	char *name;
 	char *description;
-	int value;
+	guint value;
 } EelEnumerationEntry;
 
 char *          eel_enumeration_get_id                            (const EelEnumeration      *enumeration);
@@ -47,7 +47,7 @@
 								   const char                *name);
 gboolean        eel_enumeration_contains_name                     (const EelEnumeration      *enumeration,
 								   const char                *name);
-int             eel_enumeration_get_value_for_name                (const EelEnumeration      *enumeration,
+guint           eel_enumeration_get_value_for_name                (const EelEnumeration      *enumeration,
 								   const char                *name);
 const char *    eel_enumeration_get_name_for_value                (const EelEnumeration      *enumeration,
 								   int                        value);

Modified: trunk/eel/eel-preferences-builder.c
==============================================================================
--- trunk/eel/eel-preferences-builder.c	(original)
+++ trunk/eel/eel-preferences-builder.c	Wed Dec 10 10:39:34 2008
@@ -260,8 +260,8 @@
 /* int enum preference */
 
 static void
-eel_preferences_builder_int_enum_changed (GtkComboBox *combo_box,
-					char *key)
+eel_preferences_builder_uint_enum_changed (GtkComboBox *combo_box,
+					   char *key)
 {
 	int active;
 	GSList *value_list;
@@ -277,34 +277,31 @@
 		value_list = value_list->next;
 	}
 
-	if (GPOINTER_TO_INT (value_list->data) == -1) {
-		return;
-	}
-
-	eel_preferences_set_integer (key, GPOINTER_TO_INT (value_list->data));
+	eel_preferences_set_uint (key, GPOINTER_TO_UINT (value_list->data));
 }
 
 static void
-eel_preferences_builder_int_enum_update (GtkComboBox *combo_box)
+eel_preferences_builder_uint_enum_update (GtkComboBox *combo_box)
 {
-	int value;
+	guint value;
 
-	value = eel_preferences_get_integer (g_object_get_data (G_OBJECT (combo_box),
-								EEL_PREFERENCES_BUILDER_DATA_KEY));
+	value = eel_preferences_get_uint (g_object_get_data (G_OBJECT (combo_box),
+							     EEL_PREFERENCES_BUILDER_DATA_KEY));
 
-	eel_preferences_builder_combo_box_update (combo_box, GINT_TO_POINTER (value),
-						  G_CALLBACK (eel_preferences_builder_int_enum_changed));
+	eel_preferences_builder_combo_box_update (combo_box, GUINT_TO_POINTER (value),
+						  G_CALLBACK (eel_preferences_builder_uint_enum_changed));
 }
 
 void
-eel_preferences_builder_connect_int_enum (GtkBuilder *builder,
-					  const char *component,
-					  const char *key,
-					  const int *values)
+eel_preferences_builder_connect_uint_enum (GtkBuilder  *builder,
+					   const char  *component,
+					   const char  *key,
+					   const guint *values,
+					   int          num_values)
 {
 	GHashTable *map;
 	int i;
-	int value;
+	guint value;
 	GtkComboBox *combo_box;
 	GSList *value_list;
 
@@ -318,10 +315,10 @@
 	map = g_hash_table_new (g_direct_hash, g_direct_equal);
 	value_list = NULL;
 
-	for (i = 0; values[i] != -1; i++) {
+	for (i = 0; i < num_values; i++) {
 		value = values[i];
-		value_list = g_slist_append (value_list, GINT_TO_POINTER (value));
-		g_hash_table_insert (map, GINT_TO_POINTER (value), GINT_TO_POINTER (i));
+		value_list = g_slist_append (value_list, GUINT_TO_POINTER (value));
+		g_hash_table_insert (map, GUINT_TO_POINTER (value), GINT_TO_POINTER (i));
 	}
 
 	g_object_set_data_full (G_OBJECT (combo_box), EEL_PREFERENCES_BUILDER_DATA_MAP, map,
@@ -336,14 +333,14 @@
 	}
 
 	g_signal_connect (G_OBJECT (combo_box), "changed",
-			  G_CALLBACK (eel_preferences_builder_int_enum_changed),
+			  G_CALLBACK (eel_preferences_builder_uint_enum_changed),
 			  g_object_get_data (G_OBJECT (combo_box), EEL_PREFERENCES_BUILDER_DATA_KEY));
 
 	eel_preferences_add_callback_while_alive (key,
-				 		  (EelPreferencesCallback) eel_preferences_builder_int_enum_update,
+				 		  (EelPreferencesCallback) eel_preferences_builder_uint_enum_update,
 						  combo_box, G_OBJECT (combo_box));
 
-	eel_preferences_builder_int_enum_update (combo_box);
+	eel_preferences_builder_uint_enum_update (combo_box);
 }
 
 

Modified: trunk/eel/eel-preferences.c
==============================================================================
--- trunk/eel/eel-preferences.c	(original)
+++ trunk/eel/eel-preferences.c	Wed Dec 10 10:39:34 2008
@@ -371,10 +371,23 @@
 	return result;
 }
 
-int
+/* GConf has no unsigned store, save as signed and cast */
+guint
+eel_preferences_get_uint (const char *name)
+{
+	return (guint)eel_preferences_get_integer (name);
+}
+void
+eel_preferences_set_uint (const char              *name,
+			  guint                    uint_value)
+{
+	eel_preferences_set_integer (name, (int)uint_value);
+}
+
+guint
 eel_preferences_get_enum (const char *name)
 {
-	int               ret_val;
+	guint             ret_val;
 	char             *str_value;
 	GConfValue       *value;
 	const EelEnumeration   *enumeration;
@@ -396,7 +409,7 @@
 
 	value = preferences_get_value (name);
 	if (value->type == GCONF_VALUE_INT) { /* compatibility path */
-		ret_val = preferences_gconf_value_get_int (value);
+		ret_val = (guint)preferences_gconf_value_get_int (value);
 		eel_gconf_value_free (value);
 		return ret_val;
 	}
@@ -418,7 +431,7 @@
 
 void
 eel_preferences_set_enum (const char *name,
-			  int         int_value)
+			  guint       int_value)
 {
 	const char       *str_value;
 	const EelEnumeration   *enumeration;
@@ -718,15 +731,16 @@
 	char *new_string_value;
 	char **new_string_array_value;
 	int new_int_value;
+	guint new_uint_value;
 	gboolean new_boolean_value;
 
 	switch (entry->type) {
 	case PREFERENCE_STRING:
 		if (entry->enumeration_id != NULL) {
-			new_int_value = eel_preferences_get_enum (entry->name);
+			new_uint_value = eel_preferences_get_enum (entry->name);
 			g_list_foreach (entry->auto_storage_list,
 					update_auto_integer_or_boolean,
-					GINT_TO_POINTER (new_int_value));
+					GINT_TO_POINTER (new_uint_value));
 		} else {
 			new_string_value = eel_preferences_get (entry->name);
 			g_list_foreach (entry->auto_storage_list,
@@ -1247,10 +1261,10 @@
 
 void
 eel_preferences_add_auto_enum (const char *name,
-			       int *storage)
+			       guint *storage)
 {
 	PreferencesEntry *entry;
-	int value;
+	guint value;
 
 	g_return_if_fail (name != NULL);
 	g_return_if_fail (storage != NULL);

Modified: trunk/eel/eel-preferences.h
==============================================================================
--- trunk/eel/eel-preferences.h	(original)
+++ trunk/eel/eel-preferences.h	Wed Dec 10 10:39:34 2008
@@ -44,9 +44,12 @@
 int            eel_preferences_get_integer                     (const char              *name);
 void           eel_preferences_set_integer                     (const char              *name,
 								int                      int_value);
-int            eel_preferences_get_enum                        (const char              *name);
+guint          eel_preferences_get_uint                        (const char              *name);
+void           eel_preferences_set_uint                        (const char              *name,
+								guint                    uint_value);
+guint          eel_preferences_get_enum                        (const char              *name);
 void           eel_preferences_set_enum                        (const char              *name,
-								int                      int_value);
+								guint                   int_value);
 char *         eel_preferences_get                             (const char              *name);
 void           eel_preferences_set                             (const char              *name,
 								const char              *string_value);
@@ -81,7 +84,7 @@
 void           eel_preferences_add_auto_integer                (const char              *name,
 								int                     *storage);
 void           eel_preferences_add_auto_enum                   (const char              *name,
-								int                     *storage);
+								guint                   *storage);
 void           eel_preferences_add_auto_boolean                (const char              *name,
 								gboolean                *storage);
 void           eel_preferences_remove_auto_string              (const char              *name,
@@ -134,10 +137,11 @@
 								  const char  *component,
 								  const char  *key);
 
-void eel_preferences_builder_connect_int_enum			 (GtkBuilder *builder,
+void eel_preferences_builder_connect_uint_enum			 (GtkBuilder *builder,
 								  const char  *component,
 								  const char  *key,
-								  const int   *values);
+								  const guint *values,
+								  int          num_values);
 void eel_preferences_builder_connect_string_enum_radio_button	 (GtkBuilder *builder,
 								  const char **components,
 								  const char  *key,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]