[gimp] app: implement the "Convert to RGB Working Space" import dialog in the core
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: implement the "Convert to RGB Working Space" import dialog in the core
- Date: Sun, 23 Aug 2015 11:03:25 +0000 (UTC)
commit b51ee77ec01ec141d12586d9375d970123ecc772
Author: Michael Natterer <mitch gimp org>
Date: Sun Aug 23 10:51:31 2015 +0200
app: implement the "Convert to RGB Working Space" import dialog in the core
Add gimp_image_import_color_profile(), a GUI vtable entry
query_profile_policy() and a new dialog which returns the profile
policy and the profile to convert to. Get rid of the wrapper that
calls the lcms plug-in for that dialog, the plug-in is now completely
unused.
This commit doesn't add any new features, it's just the former lcms
plug-in dialog implemented in app/ (except the little fix that it is
now aware of linear vs. gamma images).
app/core/gimp-gui.c | 20 +++
app/core/gimp-gui.h | 20 +++-
app/core/gimpimage-color-profile.c | 78 ++++++++++
app/core/gimpimage-color-profile.h | 5 +
app/dialogs/Makefile.am | 2 +
app/dialogs/color-profile-import-dialog.c | 151 ++++++++++++++++++++
.../color-profile-import-dialog.h} | 21 ++--
app/file/file-open.c | 85 +-----------
app/gui/gui-vtable.c | 24 +++-
app/plug-in/Makefile.am | 5 +-
app/plug-in/plug-in-icc-profile.c | 138 ------------------
app/widgets/gimphelp-ids.h | 1 +
po/POTFILES.in | 2 +-
13 files changed, 314 insertions(+), 238 deletions(-)
---
diff --git a/app/core/gimp-gui.c b/app/core/gimp-gui.c
index 7903ba8..7ef7b5e 100644
--- a/app/core/gimp-gui.c
+++ b/app/core/gimp-gui.c
@@ -65,6 +65,7 @@ gimp_gui_init (Gimp *gimp)
gimp->gui.recent_list_add_file = NULL;
gimp->gui.recent_list_load = NULL;
gimp->gui.get_mount_operation = NULL;
+ gimp->gui.query_profile_policy = NULL;
}
void
@@ -506,3 +507,22 @@ gimp_get_mount_operation (Gimp *gimp,
return g_mount_operation_new ();
}
+
+GimpColorProfilePolicy
+gimp_query_profile_policy (Gimp *gimp,
+ GimpImage *image,
+ GimpContext *context,
+ GimpColorProfile **dest_profile,
+ gboolean *dont_ask)
+{
+ g_return_val_if_fail (GIMP_IS_GIMP (gimp), GIMP_COLOR_PROFILE_POLICY_KEEP);
+ g_return_val_if_fail (GIMP_IS_IMAGE (image), GIMP_COLOR_PROFILE_POLICY_KEEP);
+ g_return_val_if_fail (GIMP_IS_CONTEXT (context), GIMP_COLOR_PROFILE_POLICY_KEEP);
+ g_return_val_if_fail (dest_profile != NULL, GIMP_COLOR_PROFILE_POLICY_KEEP);
+
+ if (gimp->gui.query_profile_policy)
+ return gimp->gui.query_profile_policy (gimp, image, context,
+ dest_profile, dont_ask);
+
+ return GIMP_COLOR_PROFILE_POLICY_KEEP;
+}
diff --git a/app/core/gimp-gui.h b/app/core/gimp-gui.h
index 7150f36..0f056a0 100644
--- a/app/core/gimp-gui.h
+++ b/app/core/gimp-gui.h
@@ -93,8 +93,16 @@ struct _GimpGui
const gchar *mime_type);
void (* recent_list_load) (Gimp *gimp);
- GMountOperation * (* get_mount_operation) (Gimp *gimp,
+ GMountOperation
+ * (* get_mount_operation) (Gimp *gimp,
GimpProgress *progress);
+
+ GimpColorProfilePolicy
+ (* query_profile_policy) (Gimp *gimp,
+ GimpImage *image,
+ GimpContext *context,
+ GimpColorProfile **dest_profile,
+ gboolean *dont_ask);
};
@@ -173,8 +181,16 @@ gboolean gimp_recent_list_add_file (Gimp *gimp,
const gchar *mime_type);
void gimp_recent_list_load (Gimp *gimp);
-GMountOperation * gimp_get_mount_operation (Gimp *gimp,
+GMountOperation
+ * gimp_get_mount_operation (Gimp *gimp,
GimpProgress *progress);
+GimpColorProfilePolicy
+ gimp_query_profile_policy (Gimp *gimp,
+ GimpImage *image,
+ GimpContext *context,
+ GimpColorProfile **dest_profile,
+ gboolean *dont_ask);
+
#endif /* __GIMP_GUI_H__ */
diff --git a/app/core/gimpimage-color-profile.c b/app/core/gimpimage-color-profile.c
index eee93d3..de6cb29 100644
--- a/app/core/gimpimage-color-profile.c
+++ b/app/core/gimpimage-color-profile.c
@@ -38,6 +38,7 @@
#include "gegl/gimp-babl.h"
#include "gimp.h"
+#include "gimpcontext.h"
#include "gimpdrawable.h"
#include "gimperror.h"
#include "gimpimage.h"
@@ -406,6 +407,83 @@ gimp_image_convert_color_profile (GimpImage *image,
return TRUE;
}
+void
+gimp_image_import_color_profile (GimpImage *image,
+ GimpContext *context,
+ GimpProgress *progress,
+ gboolean interactive)
+{
+ GimpColorConfig *config = image->gimp->config->color_management;
+
+ g_return_if_fail (GIMP_IS_IMAGE (image));
+ g_return_if_fail (GIMP_IS_CONTEXT (context));
+ g_return_if_fail (progress == NULL || GIMP_IS_PROGRESS (progress));
+
+ config = image->gimp->config->color_management;
+
+ if (gimp_image_get_base_type (image) == GIMP_GRAY)
+ return;
+
+ if (config->mode == GIMP_COLOR_MANAGEMENT_OFF)
+ return;
+
+ if (gimp_image_get_color_profile (image))
+ {
+ GimpColorProfilePolicy policy;
+ GimpColorProfile *dest_profile = NULL;
+
+ policy = image->gimp->config->color_profile_policy;
+
+ if (policy == GIMP_COLOR_PROFILE_POLICY_ASK)
+ {
+ if (interactive)
+ {
+ gboolean dont_ask = FALSE;
+
+ policy = gimp_query_profile_policy (image->gimp, image, context,
+ &dest_profile, &dont_ask);
+
+ if (dont_ask)
+ {
+ g_object_set (G_OBJECT (image->gimp->config),
+ "color-profile-policy", policy,
+ NULL);
+ }
+ }
+ else
+ {
+ policy = GIMP_COLOR_PROFILE_POLICY_KEEP;
+ }
+ }
+
+ if (policy == GIMP_COLOR_PROFILE_POLICY_CONVERT)
+ {
+ GimpColorRenderingIntent intent;
+ gboolean bpc;
+
+ if (! dest_profile)
+ {
+ dest_profile = gimp_image_get_builtin_color_profile (image);
+ g_object_ref (dest_profile);
+ }
+
+ intent = config->display_intent;
+ bpc = (intent == GIMP_COLOR_RENDERING_INTENT_RELATIVE_COLORIMETRIC);
+
+ gimp_image_undo_disable (image);
+
+ gimp_image_convert_color_profile (image, dest_profile,
+ intent, bpc,
+ progress, NULL);
+
+ gimp_image_clean_all (image);
+ gimp_image_undo_enable (image);
+
+ g_object_unref (dest_profile);
+ }
+ }
+}
+
/* private functions */
diff --git a/app/core/gimpimage-color-profile.h b/app/core/gimpimage-color-profile.h
index 89ad0e5..d525a42 100644
--- a/app/core/gimpimage-color-profile.h
+++ b/app/core/gimpimage-color-profile.h
@@ -64,5 +64,10 @@ gboolean gimp_image_convert_color_profile (GimpImage
GimpProgress *progress,
GError **error);
+void gimp_image_import_color_profile (GimpImage *image,
+ GimpContext *context,
+ GimpProgress *progress,
+ gboolean interactive);
+
#endif /* __GIMP_IMAGE_COLOR_PROFILE_H__ */
diff --git a/app/dialogs/Makefile.am b/app/dialogs/Makefile.am
index 1e198cc..0ac82dd 100644
--- a/app/dialogs/Makefile.am
+++ b/app/dialogs/Makefile.am
@@ -28,6 +28,8 @@ libappdialogs_a_sources = \
channel-options-dialog.h \
color-profile-dialog.c \
color-profile-dialog.h \
+ color-profile-import-dialog.c \
+ color-profile-import-dialog.h \
convert-precision-dialog.c \
convert-precision-dialog.h \
convert-type-dialog.c \
diff --git a/app/dialogs/color-profile-import-dialog.c b/app/dialogs/color-profile-import-dialog.c
new file mode 100644
index 0000000..30ee676
--- /dev/null
+++ b/app/dialogs/color-profile-import-dialog.c
@@ -0,0 +1,151 @@
+/* GIMP - The GNU Image Manipulation Program
+ * Copyright (C) 1995 Spencer Kimball and Peter Mattis
+ *
+ * color-profile-import-dialog.h
+ * Copyright (C) 2015 Michael Natterer <mitch gimp org>
+ *
+ * Partly based on the lcms plug-in
+ * Copyright (C) 2006, 2007 Sven Neumann <sven gimp org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <gegl.h>
+#include <gtk/gtk.h>
+
+#include "libgimpbase/gimpbase.h"
+#include "libgimpcolor/gimpcolor.h"
+#include "libgimpwidgets/gimpwidgets.h"
+
+#include "dialogs-types.h"
+
+#include "core/gimp.h"
+#include "core/gimpcontext.h"
+#include "core/gimpimage.h"
+#include "core/gimpimage-color-profile.h"
+
+#include "widgets/gimphelp-ids.h"
+#include "widgets/gimpviewabledialog.h"
+#include "widgets/gimpwidgets-constructors.h"
+
+#include "color-profile-import-dialog.h"
+
+#include "gimp-intl.h"
+
+
+/* public functions */
+
+GimpColorProfilePolicy
+color_profile_import_dialog_run (GimpImage *image,
+ GimpContext *context,
+ GtkWidget *parent,
+ GimpColorProfile **dest_profile,
+ gboolean *dont_ask)
+{
+ GtkWidget *dialog;
+ GtkWidget *main_vbox;
+ GtkWidget *frame;
+ GtkWidget *label;
+ GtkWidget *toggle;
+ GimpColorProfile *src_profile;
+ GimpColorProfilePolicy policy;
+ gchar *text;
+
+ g_return_val_if_fail (GIMP_IS_IMAGE (image), GIMP_COLOR_PROFILE_POLICY_KEEP);
+ g_return_val_if_fail (GIMP_IS_CONTEXT (context), GIMP_COLOR_PROFILE_POLICY_KEEP);
+ g_return_val_if_fail (parent == NULL || GTK_IS_WIDGET (parent),
+ GIMP_COLOR_PROFILE_POLICY_KEEP);
+ g_return_val_if_fail (dest_profile != NULL, GIMP_COLOR_PROFILE_POLICY_KEEP);
+
+ src_profile = gimp_image_get_color_profile (image);
+ *dest_profile = gimp_image_get_builtin_color_profile (image);
+
+ dialog =
+ gimp_viewable_dialog_new (GIMP_VIEWABLE (image), context,
+ _("Convert to RGB Working Space?"),
+ "gimp-image-color-profile-import",
+ NULL,
+ _("Import the image from a color profile"),
+ parent,
+ gimp_standard_help_func,
+ GIMP_HELP_IMAGE_COLOR_PROFILE_IMPORT,
+
+ _("Keep"), GTK_RESPONSE_CANCEL,
+ _("Convert"), GTK_RESPONSE_OK,
+
+ NULL);
+
+ gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
+ GTK_RESPONSE_OK,
+ GTK_RESPONSE_CANCEL,
+ -1);
+
+ gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+
+ main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+ gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
+ gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
+ main_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (main_vbox);
+
+ text = g_strdup_printf (_("The image '%s' has an embedded color profile"),
+ gimp_image_get_display_name (image));
+ frame = gimp_frame_new (text);
+ g_free (text);
+ gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
+ gtk_widget_show (frame);
+
+ label = gimp_color_profile_label_new (src_profile);
+ gtk_container_add (GTK_CONTAINER (frame), label);
+ gtk_widget_show (label);
+
+ frame = gimp_frame_new (_("Convert the image to the RGB working space?"));
+ gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
+ gtk_widget_show (frame);
+
+ label = gimp_color_profile_label_new (*dest_profile);
+ gtk_container_add (GTK_CONTAINER (frame), label);
+ gtk_widget_show (label);
+
+ if (dont_ask)
+ {
+ toggle = gtk_check_button_new_with_mnemonic (_("_Don't ask me again"));
+ gtk_box_pack_end (GTK_BOX (main_vbox), toggle, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), FALSE);
+ gtk_widget_show (toggle);
+ }
+
+ switch (gtk_dialog_run (GTK_DIALOG (dialog)))
+ {
+ case GTK_RESPONSE_OK:
+ policy = GIMP_COLOR_PROFILE_POLICY_CONVERT;
+ g_object_ref (*dest_profile);
+ break;
+
+ default:
+ policy = GIMP_COLOR_PROFILE_POLICY_KEEP;
+ break;
+ }
+
+ if (dont_ask)
+ {
+ *dont_ask = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle));
+ }
+
+ gtk_widget_destroy (dialog);
+
+ return policy;
+}
diff --git a/app/plug-in/plug-in-icc-profile.h b/app/dialogs/color-profile-import-dialog.h
similarity index 56%
rename from app/plug-in/plug-in-icc-profile.h
rename to app/dialogs/color-profile-import-dialog.h
index 19585c8..0daa880 100644
--- a/app/plug-in/plug-in-icc-profile.h
+++ b/app/dialogs/color-profile-import-dialog.h
@@ -1,8 +1,8 @@
/* GIMP - The GNU Image Manipulation Program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
- * plug-in-icc-profile.h
- * Copyright (C) 2006 Sven Neumann <sven gimp org>
+ * color-profile-import-dialog.h
+ * Copyright (C) 2015 Michael Natterer <mitch gimp org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,15 +18,16 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __PLUG_IN_ICC_PROFILE_H__
-#define __PLUG_IN_ICC_PROFILE_H__
+#ifndef __COLOR_PROFILE_IMPORT_DIALOG_H__
+#define __COLOR_PROFILE_IMPORT_DIALOG_H__
-gboolean plug_in_icc_profile_apply_rgb (GimpImage *image,
- GimpContext *context,
- GimpProgress *progress,
- GimpRunMode run_mode,
- GError **error);
+GimpColorProfilePolicy
+ color_profile_import_dialog_run (GimpImage *image,
+ GimpContext *context,
+ GtkWidget *parent,
+ GimpColorProfile **dest_profile,
+ gboolean *dont_ask);
-#endif /* __PLUG_IN_ICC_PROFILE_H__ */
+#endif /* __COLOR_PROFILE_IMPORT_DIALOG_H__ */
diff --git a/app/file/file-open.c b/app/file/file-open.c
index f86e401..06edbc6 100644
--- a/app/file/file-open.c
+++ b/app/file/file-open.c
@@ -48,8 +48,6 @@
#include "plug-in/gimppluginmanager.h"
#include "plug-in/gimppluginprocedure.h"
-#include "plug-in/gimppluginerror.h"
-#include "plug-in/plug-in-icc-profile.h"
#include "file-open.h"
#include "file-procedure.h"
@@ -65,10 +63,6 @@ static void file_open_sanitize_image (GimpImage *image
static void file_open_convert_items (GimpImage *dest_image,
const gchar *basename,
GList *items);
-static void file_open_handle_color_profile (GimpImage *image,
- GimpContext *context,
- GimpProgress *progress,
- GimpRunMode run_mode);
static GList * file_open_get_layers (const GimpImage *image,
gboolean merge_visible,
gint *n_visible);
@@ -255,7 +249,9 @@ file_open_image (Gimp *gimp,
if (image)
{
- file_open_handle_color_profile (image, context, progress, run_mode);
+ gimp_image_import_color_profile (image, context, progress,
+ run_mode == GIMP_RUN_INTERACTIVE ?
+ TRUE : FALSE);
if (file_open_file_proc_is_import (file_proc))
{
@@ -775,81 +771,6 @@ file_open_convert_items (GimpImage *dest_image,
}
}
-static void
-file_open_profile_apply_rgb (GimpImage *image,
- GimpContext *context,
- GimpProgress *progress,
- GimpRunMode run_mode)
-{
- GimpColorConfig *config = image->gimp->config->color_management;
- GError *error = NULL;
-
- if (gimp_image_get_base_type (image) == GIMP_GRAY)
- return;
-
- if (config->mode == GIMP_COLOR_MANAGEMENT_OFF)
- return;
-
- if (! plug_in_icc_profile_apply_rgb (image, context, progress, run_mode,
- &error))
- {
- if (error->domain == GIMP_PLUG_IN_ERROR &&
- error->code == GIMP_PLUG_IN_NOT_FOUND)
- {
- gchar *msg = g_strdup_printf ("%s\n\n%s",
- error->message,
- _("Color management has been disabled. "
- "It can be enabled again in the "
- "Preferences dialog."));
-
- g_object_set (config, "mode", GIMP_COLOR_MANAGEMENT_OFF, NULL);
-
- gimp_message_literal (image->gimp, G_OBJECT (progress),
- GIMP_MESSAGE_WARNING, msg);
- g_free (msg);
- }
- else
- {
- gimp_message_literal (image->gimp, G_OBJECT (progress),
- GIMP_MESSAGE_ERROR, error->message);
- }
-
- g_error_free (error);
- }
-}
-
-static void
-file_open_handle_color_profile (GimpImage *image,
- GimpContext *context,
- GimpProgress *progress,
- GimpRunMode run_mode)
-{
- if (gimp_image_get_color_profile (image))
- {
- gimp_image_undo_disable (image);
-
- switch (image->gimp->config->color_profile_policy)
- {
- case GIMP_COLOR_PROFILE_POLICY_ASK:
- if (run_mode == GIMP_RUN_INTERACTIVE)
- file_open_profile_apply_rgb (image, context, progress,
- GIMP_RUN_INTERACTIVE);
- break;
-
- case GIMP_COLOR_PROFILE_POLICY_KEEP:
- break;
-
- case GIMP_COLOR_PROFILE_POLICY_CONVERT:
- file_open_profile_apply_rgb (image, context, progress,
- GIMP_RUN_NONINTERACTIVE);
- break;
- }
-
- gimp_image_clean_all (image);
- gimp_image_undo_enable (image);
- }
-}
-
static GList *
file_open_get_layers (const GimpImage *image,
gboolean merge_visible,
diff --git a/app/gui/gui-vtable.c b/app/gui/gui-vtable.c
index 70dca10..9a16bdc 100644
--- a/app/gui/gui-vtable.c
+++ b/app/gui/gui-vtable.c
@@ -76,6 +76,8 @@
#include "menus/menus.h"
+#include "dialogs/color-profile-import-dialog.h"
+
#include "gui.h"
#include "gui-message.h"
#include "gui-vtable.h"
@@ -144,9 +146,17 @@ static gboolean gui_recent_list_add_file (Gimp *gimp,
const gchar *mime_type);
static void gui_recent_list_load (Gimp *gimp);
-static GMountOperation * gui_get_mount_operation (Gimp *gimp,
+static GMountOperation
+ * gui_get_mount_operation (Gimp *gimp,
GimpProgress *progress);
+static GimpColorProfilePolicy
+ gui_query_profile_policy (Gimp *gimp,
+ GimpImage *image,
+ GimpContext *context,
+ GimpColorProfile **dest_profile,
+ gboolean *dont_ask);
+
/* public functions */
@@ -182,6 +192,7 @@ gui_vtable_init (Gimp *gimp)
gimp->gui.recent_list_add_file = gui_recent_list_add_file;
gimp->gui.recent_list_load = gui_recent_list_load;
gimp->gui.get_mount_operation = gui_get_mount_operation;
+ gimp->gui.query_profile_policy = gui_query_profile_policy;
}
@@ -750,3 +761,14 @@ gui_get_mount_operation (Gimp *gimp,
return gtk_mount_operation_new (GTK_WINDOW (toplevel));
}
+
+static GimpColorProfilePolicy
+gui_query_profile_policy (Gimp *gimp,
+ GimpImage *image,
+ GimpContext *context,
+ GimpColorProfile **dest_profile,
+ gboolean *dont_ask)
+{
+ return color_profile_import_dialog_run (image, context, NULL,
+ dest_profile, dont_ask);
+}
diff --git a/app/plug-in/Makefile.am b/app/plug-in/Makefile.am
index 8e94be6..b28fec5 100644
--- a/app/plug-in/Makefile.am
+++ b/app/plug-in/Makefile.am
@@ -72,10 +72,7 @@ libappplug_in_a_SOURCES = \
plug-in-params.c \
plug-in-params.h \
plug-in-rc.c \
- plug-in-rc.h \
- \
- plug-in-icc-profile.c \
- plug-in-icc-profile.h
+ plug-in-rc.h
#
# rules to generate built sources
diff --git a/app/widgets/gimphelp-ids.h b/app/widgets/gimphelp-ids.h
index cec8900..e1fd38a 100644
--- a/app/widgets/gimphelp-ids.h
+++ b/app/widgets/gimphelp-ids.h
@@ -150,6 +150,7 @@
#define GIMP_HELP_IMAGE_COLOR_PROFILE_ASSIGN "gimp-image-color-profile-assign"
#define GIMP_HELP_IMAGE_COLOR_PROFILE_CONVERT "gimp-image-color-profile-convert"
#define GIMP_HELP_IMAGE_COLOR_PROFILE_DISCARD "gimp-image-color-profile-discard"
+#define GIMP_HELP_IMAGE_COLOR_PROFILE_IMPORT "gimp-image-color-profile-import"
#define GIMP_HELP_IMAGE_GRID "gimp-image-grid"
#define GIMP_HELP_IMAGE_PROPERTIES "gimp-image-properties"
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e382fe5..98f6625 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -180,6 +180,7 @@ app/dialogs/about-dialog.c
app/dialogs/action-search-dialog.c
app/dialogs/channel-options-dialog.c
app/dialogs/color-profile-dialog.c
+app/dialogs/color-profile-import-dialog.c
app/dialogs/convert-precision-dialog.c
app/dialogs/convert-type-dialog.c
app/dialogs/data-delete-dialog.c
@@ -326,7 +327,6 @@ app/plug-in/gimppluginprocedure.c
app/plug-in/gimppluginprocframe.c
app/plug-in/gimptemporaryprocedure.c
app/plug-in/plug-in-enums.c
-app/plug-in/plug-in-icc-profile.c
app/plug-in/plug-in-rc.c
app/text/gimpfont.c
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]