[gimp] libgimpcolor: add gimp_lcms_profile_get_label()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimpcolor: add gimp_lcms_profile_get_label()
- Date: Sun, 30 Mar 2014 01:16:32 +0000 (UTC)
commit d7037650df9966b16ad7094f01a50c8e518ca114
Author: Michael Natterer <mitch gimp org>
Date: Sun Mar 30 03:12:42 2014 +0200
libgimpcolor: add gimp_lcms_profile_get_label()
which returns a string meant to label the profile in the GUI, it's
either the profile's description, its model, or "(unnamed profile)" as
a fallback. Use the function instead of duplicating that logic
inconsistently and imcompletely all over the place.
app/dialogs/preferences-dialog.c | 5 +--
libgimpcolor/gimpcolor.def | 1 +
libgimpcolor/gimplcms.c | 30 +++++++++++++++
libgimpcolor/gimplcms.h | 1 +
libgimpwidgets/gimpcolorprofileview.c | 21 ++--------
modules/color-selector-cmyk.c | 11 ++---
modules/display-filter-lcms.c | 21 +++-------
modules/display-filter-proof.c | 5 +--
plug-ins/common/lcms.c | 66 +++++++++++++--------------------
9 files changed, 75 insertions(+), 86 deletions(-)
---
diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c
index cc59638..e95c461 100644
--- a/app/dialogs/preferences-dialog.c
+++ b/app/dialogs/preferences-dialog.c
@@ -792,10 +792,7 @@ prefs_profile_combo_box_set_active (GimpColorProfileComboBox *combo,
if (profile)
{
- label = gimp_lcms_profile_get_description (profile);
- if (! label)
- label = gimp_lcms_profile_get_model (profile);
-
+ label = gimp_lcms_profile_get_label (profile);
cmsCloseProfile (profile);
}
diff --git a/libgimpcolor/gimpcolor.def b/libgimpcolor/gimpcolor.def
index 34ba86d..c4851ff 100644
--- a/libgimpcolor/gimpcolor.def
+++ b/libgimpcolor/gimpcolor.def
@@ -40,6 +40,7 @@ EXPORTS
gimp_lcms_create_srgb_profile
gimp_lcms_profile_get_copyright
gimp_lcms_profile_get_description
+ gimp_lcms_profile_get_label
gimp_lcms_profile_get_manufacturer
gimp_lcms_profile_get_model
gimp_lcms_profile_get_summary
diff --git a/libgimpcolor/gimplcms.c b/libgimpcolor/gimplcms.c
index 8f2cf2e..42df827 100644
--- a/libgimpcolor/gimplcms.c
+++ b/libgimpcolor/gimplcms.c
@@ -162,6 +162,36 @@ gimp_lcms_profile_get_copyright (GimpColorProfile profile)
}
gchar *
+gimp_lcms_profile_get_label (GimpColorProfile profile)
+{
+ gchar *label;
+
+ g_return_val_if_fail (profile != NULL, NULL);
+
+ label = gimp_lcms_profile_get_description (profile);
+
+ if (label && ! strlen (label))
+ {
+ g_free (label);
+ label = NULL;
+ }
+
+ if (! label)
+ label = gimp_lcms_profile_get_model (profile);
+
+ if (label && ! strlen (label))
+ {
+ g_free (label);
+ label = NULL;
+ }
+
+ if (! label)
+ label = g_strdup (_("(unnamed profile)"));
+
+ return label;
+}
+
+gchar *
gimp_lcms_profile_get_summary (GimpColorProfile profile)
{
GString *string;
diff --git a/libgimpcolor/gimplcms.h b/libgimpcolor/gimplcms.h
index b51170f..7865c7d 100644
--- a/libgimpcolor/gimplcms.h
+++ b/libgimpcolor/gimplcms.h
@@ -46,6 +46,7 @@ gchar * gimp_lcms_profile_get_manufacturer (GimpColorProfile profil
gchar * gimp_lcms_profile_get_model (GimpColorProfile profile);
gchar * gimp_lcms_profile_get_copyright (GimpColorProfile profile);
+gchar * gimp_lcms_profile_get_label (GimpColorProfile profile);
gchar * gimp_lcms_profile_get_summary (GimpColorProfile profile);
gboolean gimp_lcms_profile_is_equal (GimpColorProfile profile1,
diff --git a/libgimpwidgets/gimpcolorprofileview.c b/libgimpwidgets/gimpcolorprofileview.c
index 8557d1d..95cfd25 100644
--- a/libgimpwidgets/gimpcolorprofileview.c
+++ b/libgimpwidgets/gimpcolorprofileview.c
@@ -106,8 +106,7 @@ gimp_color_profile_view_set_profile (GimpColorProfileView *view,
{
GtkTextBuffer *buffer;
GtkTextIter iter;
- gchar *desc;
- gchar *model;
+ gchar *label;
gchar *summary;
g_return_if_fail (GIMP_IS_COLOR_PROFILE_VIEW (view));
@@ -123,22 +122,13 @@ gimp_color_profile_view_set_profile (GimpColorProfileView *view,
gtk_text_buffer_get_start_iter (buffer, &iter);
- desc = gimp_lcms_profile_get_description (profile);
- model = gimp_lcms_profile_get_model (profile);
+ label = gimp_lcms_profile_get_label (profile);
summary = gimp_lcms_profile_get_summary (profile);
- if ((desc && strlen (desc)) ||
- (model && strlen (model)))
+ if (label && strlen (label))
{
- gchar *title;
-
- if (desc && strlen (desc))
- title = desc;
- else
- title = model;
-
gtk_text_buffer_insert_with_tags_by_name (buffer, &iter,
- title, -1,
+ label, -1,
"strong", NULL);
gtk_text_buffer_insert (buffer, &iter, "\n", 1);
}
@@ -146,8 +136,7 @@ gimp_color_profile_view_set_profile (GimpColorProfileView *view,
if (summary)
gtk_text_buffer_insert (buffer, &iter, summary, -1);
- g_free (desc);
- g_free (model);
+ g_free (label);
g_free (summary);
}
diff --git a/modules/color-selector-cmyk.c b/modules/color-selector-cmyk.c
index 420a7d5..3a9074e 100644
--- a/modules/color-selector-cmyk.c
+++ b/modules/color-selector-cmyk.c
@@ -379,7 +379,7 @@ colorsel_cmyk_config_changed (ColorselCmyk *module)
cmsUInt32Number flags = 0;
cmsHPROFILE rgb_profile;
cmsHPROFILE cmyk_profile;
- gchar *name;
+ gchar *label;
gchar *summary;
gchar *text;
@@ -407,18 +407,15 @@ colorsel_cmyk_config_changed (ColorselCmyk *module)
if (! cmyk_profile)
goto out;
- name = gimp_lcms_profile_get_description (cmyk_profile);
- if (! name)
- name = gimp_lcms_profile_get_model (cmyk_profile);
-
+ label = gimp_lcms_profile_get_label (cmyk_profile);
summary = gimp_lcms_profile_get_summary (cmyk_profile);
- text = g_strdup_printf (_("Profile: %s"), name);
+ text = g_strdup_printf (_("Profile: %s"), label);
gtk_label_set_text (GTK_LABEL (module->name_label), text);
gimp_help_set_help_data (module->name_label, summary, NULL);
g_free (text);
- g_free (name);
+ g_free (label);
g_free (summary);
if (config->display_intent ==
diff --git a/modules/display-filter-lcms.c b/modules/display-filter-lcms.c
index dbb1aea..7d36fce 100644
--- a/modules/display-filter-lcms.c
+++ b/modules/display-filter-lcms.c
@@ -167,27 +167,18 @@ cdisplay_lcms_finalize (GObject *object)
static void
cdisplay_lcms_profile_get_info (cmsHPROFILE profile,
- gchar **name,
- gchar **info)
+ gchar **label,
+ gchar **summary)
{
if (profile)
{
- *name = gimp_lcms_profile_get_description (profile);
- if (! *name)
- *name = gimp_lcms_profile_get_model (profile);
-
- if (! *name)
- {
- /* a color profile without a name */
- *name = g_strdup (_("(unnamed profile)"));
- }
-
- *info = gimp_lcms_profile_get_summary (profile);
+ *label = gimp_lcms_profile_get_label (profile);
+ *summary = gimp_lcms_profile_get_summary (profile);
}
else
{
- *name = g_strdup (_("None"));
- *info = NULL;
+ *label = g_strdup (_("None"));
+ *summary = NULL;
}
}
diff --git a/modules/display-filter-proof.c b/modules/display-filter-proof.c
index 7a41f49..777310f 100644
--- a/modules/display-filter-proof.c
+++ b/modules/display-filter-proof.c
@@ -271,10 +271,7 @@ cdisplay_proof_combo_box_set_active (GimpColorProfileComboBox *combo,
if (profile)
{
- label = gimp_lcms_profile_get_description (profile);
- if (! label)
- label = gimp_lcms_profile_get_model (profile);
-
+ label = gimp_lcms_profile_get_label (profile);
cmsCloseProfile (profile);
}
diff --git a/plug-ins/common/lcms.c b/plug-ins/common/lcms.c
index 86d30f5..66f1520 100644
--- a/plug-ins/common/lcms.c
+++ b/plug-ins/common/lcms.c
@@ -578,18 +578,18 @@ lcms_icc_apply (GimpColorConfig *config,
if (gimp_lcms_profile_is_equal (src_profile, dest_profile))
{
- gchar *src_desc = gimp_lcms_profile_get_description (src_profile);
- gchar *dest_desc = gimp_lcms_profile_get_description (dest_profile);
+ gchar *src_label = gimp_lcms_profile_get_label (src_profile);
+ gchar *dest_label = gimp_lcms_profile_get_label (dest_profile);
cmsCloseProfile (src_profile);
cmsCloseProfile (dest_profile);
g_printerr ("lcms: skipping conversion because profiles seem to be equal:\n");
- g_printerr (" %s\n", src_desc);
- g_printerr (" %s\n", dest_desc);
+ g_printerr (" %s\n", src_label);
+ g_printerr (" %s\n", dest_label);
- g_free (src_desc);
- g_free (dest_desc);
+ g_free (src_label);
+ g_free (dest_label);
return GIMP_PDB_SUCCESS;
}
@@ -785,8 +785,8 @@ lcms_image_apply_profile (gint32 image,
GimpColorRenderingIntent intent,
gboolean bpc)
{
- gchar *src_desc;
- gchar *dest_desc;
+ gchar *src_label;
+ gchar *dest_label;
gint32 saved_selection = -1;
gimp_image_undo_group_start (image);
@@ -798,21 +798,16 @@ lcms_image_apply_profile (gint32 image,
return FALSE;
}
- src_desc = gimp_lcms_profile_get_description (src_profile);
- if (! src_desc)
- src_desc = gimp_lcms_profile_get_model (src_profile);
-
- dest_desc = gimp_lcms_profile_get_description (dest_profile);
- if (! dest_desc)
- dest_desc = gimp_lcms_profile_get_model (dest_profile);
+ src_label = gimp_lcms_profile_get_label (src_profile);
+ dest_label = gimp_lcms_profile_get_label (dest_profile);
gimp_progress_init_printf (_("Converting from '%s' to '%s'"),
- src_desc, dest_desc);
+ src_label, dest_label);
- g_printerr ("lcms: converting from '%s' to '%s'\n", src_desc, dest_desc);
+ g_printerr ("lcms: converting from '%s' to '%s'\n", src_label, dest_label);
- g_free (dest_desc);
- g_free (src_desc);
+ g_free (dest_label);
+ g_free (src_label);
if (! gimp_selection_is_empty (image))
{
@@ -1079,7 +1074,6 @@ lcms_icc_profile_src_label_new (gint32 image,
GtkWidget *vbox;
GtkWidget *label;
gchar *name;
- gchar *desc;
gchar *text;
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
@@ -1101,16 +1095,16 @@ lcms_icc_profile_src_label_new (gint32 image,
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
gtk_widget_show (label);
- desc = gimp_lcms_profile_get_description (profile);
+ name = gimp_lcms_profile_get_label (profile);
label = g_object_new (GTK_TYPE_LABEL,
- "label", desc,
+ "label", name,
"wrap", TRUE,
"justify", GTK_JUSTIFY_LEFT,
"xalign", 0.0,
"yalign", 0.0,
"xpad", 24,
NULL);
- g_free (desc);
+ g_free (name);
gimp_label_set_attributes (GTK_LABEL (label),
PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD,
@@ -1125,13 +1119,13 @@ static GtkWidget *
lcms_icc_profile_dest_label_new (cmsHPROFILE profile)
{
GtkWidget *label;
- gchar *desc;
+ gchar *name;
gchar *text;
- desc = gimp_lcms_profile_get_description (profile);
+ name = gimp_lcms_profile_get_label (profile);
text = g_strdup_printf (_("Convert the image to the RGB working space (%s)?"),
- desc);
- g_free (desc);
+ name);
+ g_free (name);
label = g_object_new (GTK_TYPE_LABEL,
"label", text,
@@ -1238,10 +1232,7 @@ lcms_icc_combo_box_set_active (GimpColorProfileComboBox *combo,
if (profile)
{
- label = gimp_lcms_profile_get_description (profile);
- if (! label)
- label = gimp_lcms_profile_get_model (profile);
-
+ label = gimp_lcms_profile_get_label (profile);
cmsCloseProfile (profile);
}
@@ -1319,15 +1310,12 @@ lcms_icc_combo_box_new (GimpColorConfig *config,
if (! profile)
profile = gimp_lcms_create_srgb_profile ();
- name = gimp_lcms_profile_get_description (profile);
- if (! name)
- name = gimp_lcms_profile_get_model (profile);
-
- cmsCloseProfile (profile);
-
+ name = gimp_lcms_profile_get_label (profile);
label = g_strdup_printf (_("RGB workspace (%s)"), name);
g_free (name);
+ cmsCloseProfile (profile);
+
gimp_color_profile_combo_box_add (GIMP_COLOR_PROFILE_COMBO_BOX (combo),
rgb_filename, label);
g_free (label);
@@ -1404,9 +1392,7 @@ lcms_dialog (GimpColorConfig *config,
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame);
- name = gimp_lcms_profile_get_description (src_profile);
- if (! name)
- name = gimp_lcms_profile_get_model (src_profile);
+ name = gimp_lcms_profile_get_label (src_profile);
label = gtk_label_new (name);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]