gimp r26100 - in trunk: . app/core
- From: neo svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r26100 - in trunk: . app/core
- Date: Thu, 10 Jul 2008 09:08:54 +0000 (UTC)
Author: neo
Date: Thu Jul 10 09:08:54 2008
New Revision: 26100
URL: http://svn.gnome.org/viewvc/gimp?rev=26100&view=rev
Log:
2008-07-10 Sven Neumann <sven sven-sun berlin jpk com>
* app/core/gimpdata.[ch]: renamed gimp_data_name_compare() to
gimp_data_compare() and changed it to keep the data in three
groups: internal, writable and system resource files. Inside the
groups the sorting order is alphabetical.
* app/core/gimpdatafactory.c (gimp_data_factory_new): changed
accordingly.
Modified:
trunk/ChangeLog
trunk/app/core/gimpdata.c
trunk/app/core/gimpdata.h
trunk/app/core/gimpdatafactory.c
Modified: trunk/app/core/gimpdata.c
==============================================================================
--- trunk/app/core/gimpdata.c (original)
+++ trunk/app/core/gimpdata.c Thu Jul 10 09:08:54 2008
@@ -728,26 +728,31 @@
}
/**
- * gimp_data_name_compare:
+ * gimp_data_compare:
* @data1: a #GimpData object.
* @data2: another #GimpData object.
*
- * Compares the names of the two objects for use in sorting; see
- * gimp_object_name_collate() for the method. Objects marked as
- * "internal" are considered to come before any objects that are not.
+ * Compares two data objects for use in sorting. Objects marked as
+ * "internal" come first, then user-writable objects, then system data
+ * files. In these three groups, the objects are sorted alphabetically
+ * by name, using gimp_object_name_collate().
*
* Return value: -1 if @data1 compares before @data2,
* 0 if they compare equal,
* 1 if @data1 compares after @data2.
**/
gint
-gimp_data_name_compare (GimpData *data1,
- GimpData *data2)
+gimp_data_compare (GimpData *data1,
+ GimpData *data2)
{
/* move the internal objects (like the FG -> BG) gradient) to the top */
if (data1->internal != data2->internal)
return data1->internal ? -1 : 1;
+ /* keep user-writable objects about system resource files */
+ if (data1->writable != data2->writable)
+ return data1->writable ? -1 : 1;
+
return gimp_object_name_collate ((GimpObject *) data1,
(GimpObject *) data2);
}
Modified: trunk/app/core/gimpdata.h
==============================================================================
--- trunk/app/core/gimpdata.h (original)
+++ trunk/app/core/gimpdata.h Thu Jul 10 09:08:54 2008
@@ -104,6 +104,8 @@
void gimp_data_make_internal (GimpData *data);
+gint gimp_data_compare (GimpData *data1,
+ GimpData *data2);
gint gimp_data_name_compare (GimpData *data1,
GimpData *data2);
Modified: trunk/app/core/gimpdatafactory.c
==============================================================================
--- trunk/app/core/gimpdatafactory.c (original)
+++ trunk/app/core/gimpdatafactory.c Thu Jul 10 09:08:54 2008
@@ -153,7 +153,7 @@
factory->gimp = gimp;
factory->container = gimp_list_new (data_type, TRUE);
gimp_list_set_sort_func (GIMP_LIST (factory->container),
- (GCompareFunc) gimp_data_name_compare);
+ (GCompareFunc) gimp_data_compare);
factory->path_property_name = g_strdup (path_property_name);
factory->writable_property_name = g_strdup (writable_property_name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]