gimp r27781 - in trunk: . app/core
- From: martinn svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r27781 - in trunk: . app/core
- Date: Fri, 12 Dec 2008 07:03:42 +0000 (UTC)
Author: martinn
Date: Fri Dec 12 07:03:42 2008
New Revision: 27781
URL: http://svn.gnome.org/viewvc/gimp?rev=27781&view=rev
Log:
Bug 555954 â Merge Tagging of Gimp Resources GSoC Project
Partial merge of code from Aurimas JuÅka.
* app/core/gimpdata.[ch] (gimp_data_make_internal): Add an
'identifier' parameter/instance struct member that can be used to
identify the internal GimpData object across sessions. It is the
internal-object counterpart to a file path.
* app/core/gimp.c
* app/core/gimpcurve.c
* app/core/gimpbrush.c
* app/core/gimppattern.c
* app/core/gimppalette.c
* app/core/gimpgradient.c
* app/core/gimp-gradients.c: Assign an identifier to the the
internal GimpData objects.
Modified:
trunk/ChangeLog
trunk/app/core/gimp-gradients.c
trunk/app/core/gimp.c
trunk/app/core/gimpbrush.c
trunk/app/core/gimpcurve.c
trunk/app/core/gimpdata.c
trunk/app/core/gimpdata.h
trunk/app/core/gimpgradient.c
trunk/app/core/gimppalette.c
trunk/app/core/gimppattern.c
Modified: trunk/app/core/gimp-gradients.c
==============================================================================
--- trunk/app/core/gimp-gradients.c (original)
+++ trunk/app/core/gimp-gradients.c Fri Dec 12 07:03:42 2008
@@ -88,7 +88,7 @@
{
GimpGradient *gradient = GIMP_GRADIENT (gimp_gradient_new (name));
- gimp_data_make_internal (GIMP_DATA (gradient));
+ gimp_data_make_internal (GIMP_DATA (gradient), id);
gradient->segments->left_color_type = GIMP_GRADIENT_COLOR_FOREGROUND;
gradient->segments->right_color_type = GIMP_GRADIENT_COLOR_BACKGROUND;
Modified: trunk/app/core/gimp.c
==============================================================================
--- trunk/app/core/gimp.c (original)
+++ trunk/app/core/gimp.c Fri Dec 12 07:03:42 2008
@@ -602,14 +602,16 @@
/* add the clipboard brush */
clipboard_brush = gimp_brush_clipboard_new (gimp);
- gimp_data_make_internal (GIMP_DATA (clipboard_brush));
+ gimp_data_make_internal (GIMP_DATA (clipboard_brush),
+ "gimp-brush-clipboard");
gimp_container_add (gimp->brush_factory->container,
GIMP_OBJECT (clipboard_brush));
g_object_unref (clipboard_brush);
/* add the clipboard pattern */
clipboard_pattern = gimp_pattern_clipboard_new (gimp);
- gimp_data_make_internal (GIMP_DATA (clipboard_pattern));
+ gimp_data_make_internal (GIMP_DATA (clipboard_pattern),
+ "gimp-pattern-clipboard");
gimp_container_add (gimp->pattern_factory->container,
GIMP_OBJECT (clipboard_pattern));
g_object_unref (clipboard_pattern);
Modified: trunk/app/core/gimpbrush.c
==============================================================================
--- trunk/app/core/gimpbrush.c (original)
+++ trunk/app/core/gimpbrush.c Fri Dec 12 07:03:42 2008
@@ -380,7 +380,8 @@
standard_brush = gimp_brush_new ("Standard");
standard_brush->dirty = FALSE;
- gimp_data_make_internal (standard_brush);
+ gimp_data_make_internal (standard_brush,
+ "gimp-brush-standard");
/* set ref_count to 2 --> never swap the standard brush */
g_object_ref (standard_brush);
Modified: trunk/app/core/gimpcurve.c
==============================================================================
--- trunk/app/core/gimpcurve.c (original)
+++ trunk/app/core/gimpcurve.c Fri Dec 12 07:03:42 2008
@@ -534,7 +534,8 @@
standard_curve = gimp_curve_new ("Standard");
standard_curve->dirty = FALSE;
- gimp_data_make_internal (standard_curve);
+ gimp_data_make_internal (standard_curve,
+ "gimp-curve-standard");
g_object_ref (standard_curve);
}
Modified: trunk/app/core/gimpdata.c
==============================================================================
--- trunk/app/core/gimpdata.c (original)
+++ trunk/app/core/gimpdata.c Fri Dec 12 07:03:42 2008
@@ -210,6 +210,7 @@
data->freeze_count = 0;
data->mtime = 0;
data->tags = NULL;
+ data->identifier = NULL;
/* look at the passed class pointer, not at GIMP_DATA_GET_CLASS(data)
* here, because the latter is always GimpDataClass itself
@@ -252,6 +253,12 @@
data->tags = NULL;
}
+ if (data->identifier)
+ {
+ g_free (data->identifier);
+ data->identifier = NULL;
+ }
+
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -713,9 +720,13 @@
* saved to disk. Note that if you do this, later calls to
* gimp_data_save() and gimp_data_delete_from_disk() will
* automatically return successfully without giving any warning.
+ *
+ * The identifier name shall be an untranslated globally unique string
+ * that identifies the internal object across sessions.
**/
void
-gimp_data_make_internal (GimpData *data)
+gimp_data_make_internal (GimpData *data,
+ const gchar *identifier)
{
g_return_if_fail (GIMP_IS_DATA (data));
@@ -725,6 +736,8 @@
data->filename = NULL;
}
+ data->identifier = g_strdup (identifier);
+
data->internal = TRUE;
data->writable = FALSE;
data->deletable = FALSE;
Modified: trunk/app/core/gimpdata.h
==============================================================================
--- trunk/app/core/gimpdata.h (original)
+++ trunk/app/core/gimpdata.h Fri Dec 12 07:03:42 2008
@@ -59,6 +59,11 @@
gint freeze_count;
time_t mtime;
+ /* Identifies the GimpData object across sessions. Used when there
+ * is not a filename associated with the object.
+ */
+ gchar *identifier;
+
GList *tags;
};
@@ -102,7 +107,8 @@
GimpData * gimp_data_duplicate (GimpData *data);
-void gimp_data_make_internal (GimpData *data);
+void gimp_data_make_internal (GimpData *data,
+ const gchar *identifier);
gint gimp_data_compare (GimpData *data1,
GimpData *data2);
Modified: trunk/app/core/gimpgradient.c
==============================================================================
--- trunk/app/core/gimpgradient.c (original)
+++ trunk/app/core/gimpgradient.c Fri Dec 12 07:03:42 2008
@@ -285,7 +285,8 @@
standard_gradient = gimp_gradient_new ("Standard");
standard_gradient->dirty = FALSE;
- gimp_data_make_internal (standard_gradient);
+ gimp_data_make_internal (standard_gradient,
+ "gimp-gradient-standard");
g_object_ref (standard_gradient);
}
Modified: trunk/app/core/gimppalette.c
==============================================================================
--- trunk/app/core/gimppalette.c (original)
+++ trunk/app/core/gimppalette.c Fri Dec 12 07:03:42 2008
@@ -281,7 +281,8 @@
standard_palette = gimp_palette_new ("Standard");
standard_palette->dirty = FALSE;
- gimp_data_make_internal (standard_palette);
+ gimp_data_make_internal (standard_palette,
+ "gimp-palette-standard");
g_object_ref (standard_palette);
}
Modified: trunk/app/core/gimppattern.c
==============================================================================
--- trunk/app/core/gimppattern.c (original)
+++ trunk/app/core/gimppattern.c Fri Dec 12 07:03:42 2008
@@ -214,7 +214,8 @@
standard_pattern = gimp_pattern_new ("Standard");
standard_pattern->dirty = FALSE;
- gimp_data_make_internal (standard_pattern);
+ gimp_data_make_internal (standard_pattern,
+ "gimp-pattern-standard");
/* set ref_count to 2 --> never swap the standard pattern */
g_object_ref (standard_pattern);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]