[gimp] app, libgimpwidgets: move GimpProfileChooserDialog to libgimpwidgets



commit 9c7cd2508fe124225a5500f8e23b10ae6e44fac4
Author: Michael Natterer <mitch gimp org>
Date:   Fri Mar 14 22:01:46 2014 +0100

    app, libgimpwidgets: move GimpProfileChooserDialog to libgimpwidgets
    
    and call it GimpColorProfileChooserDialog. Make libgimpwidgets
    depend on lcms and make it query the profile directly.

 app/dialogs/preferences-dialog.c               |   19 +-
 app/widgets/Makefile.am                        |    2 -
 app/widgets/gimpprofilechooserdialog.c         |  413 ------------------------
 app/widgets/gimpprofilechooserdialog.h         |   59 ----
 app/widgets/widgets-types.h                    |    1 -
 libgimpwidgets/Makefile.am                     |    5 +
 libgimpwidgets/gimpcolorprofilechooserdialog.c |  372 +++++++++++++++++++++
 libgimpwidgets/gimpcolorprofilechooserdialog.h |   59 ++++
 libgimpwidgets/gimpwidgets.def                 |    3 +
 libgimpwidgets/gimpwidgets.h                   |    1 +
 libgimpwidgets/gimpwidgetstypes.h              |   89 +++---
 po-libgimp/POTFILES.in                         |    1 +
 po/POTFILES.in                                 |    1 -
 13 files changed, 494 insertions(+), 531 deletions(-)
---
diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c
index 845d000..667caa1 100644
--- a/app/dialogs/preferences-dialog.c
+++ b/app/dialogs/preferences-dialog.c
@@ -48,7 +48,6 @@
 #include "widgets/gimpmessagebox.h"
 #include "widgets/gimpmessagedialog.h"
 #include "widgets/gimpprefsbox.h"
-#include "widgets/gimpprofilechooserdialog.h"
 #include "widgets/gimppropwidgets.h"
 #include "widgets/gimptemplateeditor.h"
 #include "widgets/gimptooleditor.h"
@@ -777,9 +776,9 @@ prefs_table_new (gint          rows,
 }
 
 static void
-prefs_profile_combo_dialog_response (GimpProfileChooserDialog *dialog,
-                                     gint                      response,
-                                     GimpColorProfileComboBox *combo)
+prefs_profile_combo_dialog_response (GimpColorProfileChooserDialog *dialog,
+                                     gint                           response,
+                                     GimpColorProfileComboBox      *combo)
 {
   if (response == GTK_RESPONSE_ACCEPT)
     {
@@ -789,8 +788,8 @@ prefs_profile_combo_dialog_response (GimpProfileChooserDialog *dialog,
 
       if (filename)
         {
-          gchar *label = gimp_profile_chooser_dialog_get_desc (dialog,
-                                                               filename);
+          gchar *label = gimp_color_profile_chooser_dialog_get_desc (dialog,
+                                                                     filename);
 
           gimp_color_profile_combo_box_set_active (combo, filename, label);
 
@@ -836,13 +835,12 @@ prefs_profile_combo_add_tooltip (GtkWidget   *combo,
 }
 
 static GtkWidget *
-prefs_profile_combo_box_new (Gimp         *gimp,
-                             GObject      *config,
+prefs_profile_combo_box_new (GObject      *config,
                              GtkListStore *store,
                              const gchar  *label,
                              const gchar  *property_name)
 {
-  GtkWidget *dialog = gimp_profile_chooser_dialog_new (gimp, label);
+  GtkWidget *dialog = gimp_color_profile_chooser_dialog_new (label);
   GtkWidget *combo;
   gchar     *filename;
 
@@ -2340,8 +2338,7 @@ prefs_dialog_new (Gimp       *gimp,
 
     for (i = 0; i < G_N_ELEMENTS (profiles); i++)
       {
-        button = prefs_profile_combo_box_new (gimp,
-                                              color_config,
+        button = prefs_profile_combo_box_new (color_config,
                                               store,
                                               gettext (profiles[i].fs_label),
                                               profiles[i].property_name);
diff --git a/app/widgets/Makefile.am b/app/widgets/Makefile.am
index 7f8a932..4027a96 100644
--- a/app/widgets/Makefile.am
+++ b/app/widgets/Makefile.am
@@ -267,8 +267,6 @@ libappwidgets_a_sources = \
        gimppluginaction.h              \
        gimpprefsbox.c                  \
        gimpprefsbox.h                  \
-       gimpprofilechooserdialog.c      \
-       gimpprofilechooserdialog.h      \
        gimpprogressbox.c               \
        gimpprogressbox.h               \
        gimpprogressdialog.c            \
diff --git a/app/widgets/widgets-types.h b/app/widgets/widgets-types.h
index 8c16430..2ecd232 100644
--- a/app/widgets/widgets-types.h
+++ b/app/widgets/widgets-types.h
@@ -136,7 +136,6 @@ typedef struct _GimpColorDialog              GimpColorDialog;
 typedef struct _GimpErrorDialog              GimpErrorDialog;
 typedef struct _GimpFileDialog               GimpFileDialog;
 typedef struct _GimpMessageDialog            GimpMessageDialog;
-typedef struct _GimpProfileChooserDialog     GimpProfileChooserDialog;
 typedef struct _GimpProgressDialog           GimpProgressDialog;
 typedef struct _GimpTextEditor               GimpTextEditor;
 typedef struct _GimpViewableDialog           GimpViewableDialog;
diff --git a/libgimpwidgets/Makefile.am b/libgimpwidgets/Makefile.am
index 0b34bce..6527426 100644
--- a/libgimpwidgets/Makefile.am
+++ b/libgimpwidgets/Makefile.am
@@ -52,6 +52,7 @@ AM_CPPFLAGS = \
        -DG_LOG_DOMAIN=\"LibGimpWidgets\"       \
        -DGIMP_WIDGETS_COMPILATION              \
        -I$(top_srcdir)                         \
+       $(LCMS_CFLAGS)                          \
        $(GEGL_CFLAGS)                          \
        $(GTK_CFLAGS)                           \
        -I$(includedir)
@@ -83,6 +84,8 @@ libgimpwidgets_sources = \
        gimpcolorhexentry.h             \
        gimpcolornotebook.c             \
        gimpcolornotebook.h             \
+       gimpcolorprofilechooserdialog.c \
+       gimpcolorprofilechooserdialog.h \
        gimpcolorprofilecombobox.c      \
        gimpcolorprofilecombobox.h      \
        gimpcolorprofilestore-private.h \
@@ -204,6 +207,7 @@ libgimpwidgetsinclude_HEADERS = \
        gimpcolordisplaystack.h         \
        gimpcolorhexentry.h             \
        gimpcolornotebook.h             \
+       gimpcolorprofilechooserdialog.h \
        gimpcolorprofilecombobox.h      \
        gimpcolorprofilestore.h         \
        gimpcolorscale.h                \
@@ -260,6 +264,7 @@ libgimpwidgets_ GIMP_API_VERSION@_la_LIBADD = \
        $(libgimpcolor)         \
        $(libgimpconfig)        \
        $(libgimpbase)          \
+       $(LCMS_LIBS)            \
        $(GEGL_LIBS)            \
        $(GTK_LIBS)             \
        $(libm)
diff --git a/libgimpwidgets/gimpcolorprofilechooserdialog.c b/libgimpwidgets/gimpcolorprofilechooserdialog.c
new file mode 100644
index 0000000..914f8b5
--- /dev/null
+++ b/libgimpwidgets/gimpcolorprofilechooserdialog.c
@@ -0,0 +1,372 @@
+/* GIMP - The GNU Image Manipulation Program
+ * Copyright (C) 1995 Spencer Kimball and Peter Mattis
+ *
+ * GimpColorProfileChooserDialog
+ * Copyright (C) 2006-2014 Sven Neumann <sven gimp org>
+ *                         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
+ * 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 <string.h>
+
+#include <glib.h>  /* lcms.h uses the "inline" keyword */
+
+#include <lcms2.h>
+
+#include <gegl.h>
+#include <gtk/gtk.h>
+
+#include "libgimpcolor/gimpcolor.h"
+
+#include "gimpwidgetstypes.h"
+
+#include "gimpcolorprofilechooserdialog.h"
+
+#include "libgimp/libgimp-intl.h"
+
+
+enum
+{
+  PROP_0
+};
+
+
+struct _GimpColorProfileChooserDialogPrivate
+{
+  GtkTextBuffer *buffer;
+  gchar         *filename;
+  gchar         *desc;
+};
+
+
+static void   gimp_color_profile_chooser_dialog_constructed    (GObject                  *object);
+static void   gimp_color_profile_chooser_dialog_finalize       (GObject                  *object);
+static void   gimp_color_profile_chooser_dialog_set_property   (GObject                  *object,
+                                                                guint                     prop_id,
+                                                                const GValue             *value,
+                                                                GParamSpec               *pspec);
+static void   gimp_color_profile_chooser_dialog_get_property   (GObject                  *object,
+                                                                guint                     prop_id,
+                                                                GValue                   *value,
+                                                                GParamSpec               *pspec);
+
+static void   gimp_color_profile_chooser_dialog_add_shortcut   (GimpColorProfileChooserDialog *dialog);
+static void   gimp_color_profile_chooser_dialog_update_preview (GimpColorProfileChooserDialog *dialog);
+
+static GtkWidget * gimp_color_profile_view_new                 (GtkTextBuffer            *buffer);
+
+
+G_DEFINE_TYPE (GimpColorProfileChooserDialog, gimp_color_profile_chooser_dialog,
+               GTK_TYPE_FILE_CHOOSER_DIALOG);
+
+#define parent_class gimp_color_profile_chooser_dialog_parent_class
+
+
+static void
+gimp_color_profile_chooser_dialog_class_init (GimpColorProfileChooserDialogClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+  object_class->constructed  = gimp_color_profile_chooser_dialog_constructed;
+  object_class->finalize     = gimp_color_profile_chooser_dialog_finalize;
+  object_class->get_property = gimp_color_profile_chooser_dialog_get_property;
+  object_class->set_property = gimp_color_profile_chooser_dialog_set_property;
+
+  g_type_class_add_private (klass, sizeof (GimpColorProfileChooserDialogPrivate));
+}
+
+static void
+gimp_color_profile_chooser_dialog_init (GimpColorProfileChooserDialog *dialog)
+{
+  dialog->private =
+    G_TYPE_INSTANCE_GET_PRIVATE (dialog,
+                                 GIMP_TYPE_COLOR_PROFILE_CHOOSER_DIALOG,
+                                 GimpColorProfileChooserDialogPrivate);
+
+  dialog->private->buffer = gtk_text_buffer_new (NULL);
+
+  gtk_text_buffer_create_tag (dialog->private->buffer, "strong",
+                              "weight", PANGO_WEIGHT_BOLD,
+                              "scale",  PANGO_SCALE_LARGE,
+                              NULL);
+  gtk_text_buffer_create_tag (dialog->private->buffer, "emphasis",
+                              "style",  PANGO_STYLE_OBLIQUE,
+                              NULL);
+}
+
+static void
+gimp_color_profile_chooser_dialog_constructed (GObject *object)
+{
+  GimpColorProfileChooserDialog *dialog;
+  GtkFileFilter                 *filter;
+
+  dialog  = GIMP_COLOR_PROFILE_CHOOSER_DIALOG (object);
+
+  G_OBJECT_CLASS (parent_class)->constructed (object);
+
+  gtk_window_set_role (GTK_WINDOW (dialog), "gimp-profile-chooser-dialog");
+
+  gtk_dialog_add_buttons (GTK_DIALOG (dialog),
+                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                          GTK_STOCK_OPEN,   GTK_RESPONSE_ACCEPT,
+                          NULL);
+
+  gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
+                                           GTK_RESPONSE_ACCEPT,
+                                           GTK_RESPONSE_CANCEL,
+                                           -1);
+
+  gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
+
+  gimp_color_profile_chooser_dialog_add_shortcut (dialog);
+
+  filter = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filter, _("All files (*.*)"));
+  gtk_file_filter_add_pattern (filter, "*");
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  filter = gtk_file_filter_new ();
+  gtk_file_filter_set_name (filter, _("ICC color profile (*.icc, *.icm)"));
+  gtk_file_filter_add_pattern (filter, "*.[Ii][Cc][Cc]");
+  gtk_file_filter_add_pattern (filter, "*.[Ii][Cc][Mm]");
+  gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filter);
+
+  gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (dialog),
+                                       gimp_color_profile_view_new (dialog->private->buffer));
+
+  g_signal_connect (dialog, "update-preview",
+                    G_CALLBACK (gimp_color_profile_chooser_dialog_update_preview),
+                    NULL);
+}
+
+static void
+gimp_color_profile_chooser_dialog_finalize (GObject *object)
+{
+  GimpColorProfileChooserDialog *dialog;
+
+  dialog = GIMP_COLOR_PROFILE_CHOOSER_DIALOG (object);
+
+  if (dialog->private->buffer)
+    {
+      g_object_unref (dialog->private->buffer);
+      dialog->private->buffer = NULL;
+    }
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gimp_color_profile_chooser_dialog_set_property (GObject      *object,
+                                                guint         prop_id,
+                                                const GValue *value,
+                                                GParamSpec   *pspec)
+{
+  switch (prop_id)
+    {
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+gimp_color_profile_chooser_dialog_get_property (GObject    *object,
+                                                guint       prop_id,
+                                                GValue     *value,
+                                                GParamSpec *pspec)
+{
+  switch (prop_id)
+    {
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+GtkWidget *
+gimp_color_profile_chooser_dialog_new (const gchar *title)
+{
+
+  return g_object_new (GIMP_TYPE_COLOR_PROFILE_CHOOSER_DIALOG,
+                       "title", title,
+                       NULL);
+}
+
+gchar *
+gimp_color_profile_chooser_dialog_get_desc (GimpColorProfileChooserDialog *dialog,
+                                            const gchar                   *filename)
+{
+  g_return_val_if_fail (GIMP_IS_COLOR_PROFILE_CHOOSER_DIALOG (dialog), NULL);
+
+  if (filename && dialog->private->filename &&
+      strcmp (filename, dialog->private->filename) == 0)
+    {
+      return g_strdup (dialog->private->desc);
+    }
+
+  return NULL;
+}
+
+/* Add shortcut for default ICC profile location */
+static void
+gimp_color_profile_chooser_dialog_add_shortcut (GimpColorProfileChooserDialog *dialog)
+{
+#ifdef G_OS_WIN32
+  {
+    const gchar *prefix = g_getenv ("SystemRoot");
+    gchar       *folder;
+
+    if (! prefix)
+      prefix = "c:\\windows";
+
+    folder = g_strconcat (prefix, "\\system32\\spool\\drivers\\color", NULL);
+
+    if (g_file_test (folder, G_FILE_TEST_IS_DIR))
+      gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog),
+                                            folder, NULL);
+
+    g_free (folder);
+  }
+#else
+  {
+    const gchar folder[] = "/usr/share/color/icc";
+
+    if (g_file_test (folder, G_FILE_TEST_IS_DIR))
+      gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog),
+                                            folder, NULL);
+  }
+#endif
+}
+
+static void
+gimp_color_profile_chooser_dialog_update_preview (GimpColorProfileChooserDialog *dialog)
+{
+  cmsHPROFILE  profile;
+  gchar       *filename;
+  GtkTextIter  iter;
+  gchar       *desc;
+  gchar       *model;
+  gchar       *summary;
+
+  gtk_text_buffer_set_text (dialog->private->buffer, "", 0);
+
+  g_free (dialog->private->filename);
+  dialog->private->filename = NULL;
+
+  g_free (dialog->private->desc);
+  dialog->private->desc = NULL;
+
+  filename = gtk_file_chooser_get_preview_filename (GTK_FILE_CHOOSER (dialog));
+
+  gtk_text_buffer_get_start_iter (dialog->private->buffer, &iter);
+
+  if (! g_file_test (filename, G_FILE_TEST_IS_REGULAR))
+    {
+      gtk_text_buffer_insert_with_tags_by_name (dialog->private->buffer,
+                                                &iter,
+                                                _("Not a regular file"), -1,
+                                                "emphasis", NULL);
+      g_free (filename);
+      return;
+    }
+
+  profile = cmsOpenProfileFromFile (filename, "r");
+
+  if (! profile)
+    {
+      gtk_text_buffer_insert_with_tags_by_name (dialog->private->buffer,
+                                                &iter,
+                                                _("Cannot open profile"), -1,
+                                                "emphasis", NULL);
+      g_free (filename);
+      return;
+    }
+
+  desc    = gimp_lcms_profile_get_description (profile);
+  model   = gimp_lcms_profile_get_model (profile);
+  summary = gimp_lcms_profile_get_summary (profile);
+
+  cmsCloseProfile (profile);
+
+  if ((desc  && strlen (desc)) ||
+      (model && strlen (model)))
+    {
+      if (desc && strlen (desc))
+        {
+          dialog->private->desc = desc;
+          desc = NULL;
+        }
+      else
+        {
+          dialog->private->desc = model;
+          model = NULL;
+        }
+
+      gtk_text_buffer_insert_with_tags_by_name (dialog->private->buffer,
+                                                &iter,
+                                                dialog->private->desc, -1,
+                                                "strong", NULL);
+      gtk_text_buffer_insert (dialog->private->buffer, &iter, "\n", 1);
+    }
+
+  if (summary)
+    gtk_text_buffer_insert (dialog->private->buffer, &iter, summary, -1);
+
+  dialog->private->filename = filename;
+  filename = NULL;
+
+  g_free (desc);
+  g_free (model);
+  g_free (summary);
+  g_free (filename);
+}
+
+static GtkWidget *
+gimp_color_profile_view_new (GtkTextBuffer *buffer)
+{
+  GtkWidget *frame;
+  GtkWidget *scrolled_window;
+  GtkWidget *text_view;
+
+  frame = gtk_frame_new (NULL);
+  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
+
+  scrolled_window = gtk_scrolled_window_new (NULL, NULL);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
+                                  GTK_POLICY_AUTOMATIC,
+                                  GTK_POLICY_AUTOMATIC);
+  gtk_container_add (GTK_CONTAINER (frame), scrolled_window);
+  gtk_widget_show (scrolled_window);
+
+  text_view = gtk_text_view_new_with_buffer (buffer);
+
+  gtk_text_view_set_editable (GTK_TEXT_VIEW (text_view), FALSE);
+  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), GTK_WRAP_WORD);
+
+  gtk_text_view_set_pixels_above_lines (GTK_TEXT_VIEW (text_view), 6);
+  gtk_text_view_set_left_margin (GTK_TEXT_VIEW (text_view), 2);
+  gtk_text_view_set_right_margin (GTK_TEXT_VIEW (text_view), 2);
+
+  gtk_container_add (GTK_CONTAINER (scrolled_window), text_view);
+  gtk_widget_show (text_view);
+
+  gtk_widget_set_size_request (scrolled_window, 300, -1);
+
+  return frame;
+}
diff --git a/libgimpwidgets/gimpcolorprofilechooserdialog.h b/libgimpwidgets/gimpcolorprofilechooserdialog.h
new file mode 100644
index 0000000..63dd074
--- /dev/null
+++ b/libgimpwidgets/gimpcolorprofilechooserdialog.h
@@ -0,0 +1,59 @@
+/* GIMP - The GNU Image Manipulation Program
+ * Copyright (C) 1995 Spencer Kimball and Peter Mattis
+ *
+ * GimpColorProfileChooserDialog
+ * Copyright (C) 2006-2014 Sven Neumann <sven gimp org>
+ *                         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
+ * 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/>.
+ */
+
+#ifndef __GIMP_COLOR_PROFILE_CHOOSER_DIALOG_H__
+#define __GIMP_COLOR_PROFILE_CHOOSER_DIALOG_H__
+
+G_BEGIN_DECLS
+
+
+#define GIMP_TYPE_COLOR_PROFILE_CHOOSER_DIALOG            (gimp_color_profile_chooser_dialog_get_type ())
+#define GIMP_COLOR_PROFILE_CHOOSER_DIALOG(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
GIMP_TYPE_COLOR_PROFILE_CHOOSER_DIALOG, GimpColorProfileChooserDialog))
+#define GIMP_COLOR_PROFILE_CHOOSER_DIALOG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), 
GIMP_TYPE_COLOR_PROFILE_CHOOSER_DIALOG, GimpColorProfileChooserDialogClass))
+#define GIMP_IS_COLOR_PROFILE_CHOOSER_DIALOG(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), 
GIMP_TYPE_COLOR_PROFILE_CHOOSER_DIALOG))
+#define GIMP_IS_COLOR_PROFILE_CHOOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), 
GIMP_TYPE_COLOR_PROFILE_CHOOSER_DIALOG))
+#define GIMP_COLOR_PROFILE_CHOOSER_DIALOG_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), 
GIMP_TYPE_COLOR_PROFILE_CHOOSER_DIALOG, GimpColorProfileChooserDialogClass))
+
+
+typedef struct _GimpColorProfileChooserDialogClass   GimpColorProfileChooserDialogClass;
+typedef struct _GimpColorProfileChooserDialogPrivate GimpColorProfileChooserDialogPrivate;
+
+struct _GimpColorProfileChooserDialog
+{
+  GtkFileChooserDialog                  parent_instance;
+
+  GimpColorProfileChooserDialogPrivate *private;
+};
+
+struct _GimpColorProfileChooserDialogClass
+{
+  GtkFileChooserDialogClass  parent_class;
+};
+
+
+GType       gimp_color_profile_chooser_dialog_get_type (void) G_GNUC_CONST;
+
+GtkWidget * gimp_color_profile_chooser_dialog_new      (const gchar *title);
+
+gchar     * gimp_color_profile_chooser_dialog_get_desc (GimpColorProfileChooserDialog *dialog,
+                                                        const gchar              *filename);
+
+#endif /* __GIMP_COLOR_PROFILE_CHOOSER_DIALOG_H__ */
diff --git a/libgimpwidgets/gimpwidgets.def b/libgimpwidgets/gimpwidgets.def
index 3d83e51..8ce0d1d 100644
--- a/libgimpwidgets/gimpwidgets.def
+++ b/libgimpwidgets/gimpwidgets.def
@@ -71,6 +71,9 @@ EXPORTS
        gimp_color_hex_entry_set_color
        gimp_color_notebook_get_type
        gimp_color_notebook_set_has_page
+       gimp_color_profile_chooser_dialog_get_desc
+       gimp_color_profile_chooser_dialog_get_type
+       gimp_color_profile_chooser_dialog_new
        gimp_color_profile_combo_box_add
        gimp_color_profile_combo_box_get_active
        gimp_color_profile_combo_box_get_type
diff --git a/libgimpwidgets/gimpwidgets.h b/libgimpwidgets/gimpwidgets.h
index 8bc0659..749a4f3 100644
--- a/libgimpwidgets/gimpwidgets.h
+++ b/libgimpwidgets/gimpwidgets.h
@@ -38,6 +38,7 @@
 #include <libgimpwidgets/gimpcolordisplaystack.h>
 #include <libgimpwidgets/gimpcolorhexentry.h>
 #include <libgimpwidgets/gimpcolornotebook.h>
+#include <libgimpwidgets/gimpcolorprofilechooserdialog.h>
 #include <libgimpwidgets/gimpcolorprofilecombobox.h>
 #include <libgimpwidgets/gimpcolorprofilestore.h>
 #include <libgimpwidgets/gimpcolorscale.h>
diff --git a/libgimpwidgets/gimpwidgetstypes.h b/libgimpwidgets/gimpwidgetstypes.h
index ab5f655..72ece92 100644
--- a/libgimpwidgets/gimpwidgetstypes.h
+++ b/libgimpwidgets/gimpwidgetstypes.h
@@ -30,50 +30,51 @@ G_BEGIN_DECLS
 /* For information look into the html documentation */
 
 
-typedef struct _GimpBrowser               GimpBrowser;
-typedef struct _GimpButton                GimpButton;
-typedef struct _GimpCellRendererColor     GimpCellRendererColor;
-typedef struct _GimpCellRendererToggle    GimpCellRendererToggle;
-typedef struct _GimpChainButton           GimpChainButton;
-typedef struct _GimpColorArea             GimpColorArea;
-typedef struct _GimpColorButton           GimpColorButton;
-typedef struct _GimpColorDisplay          GimpColorDisplay;
-typedef struct _GimpColorDisplayStack     GimpColorDisplayStack;
-typedef struct _GimpColorHexEntry         GimpColorHexEntry;
-typedef struct _GimpColorNotebook         GimpColorNotebook;
-typedef struct _GimpColorProfileComboBox  GimpColorProfileComboBox;
-typedef struct _GimpColorProfileStore     GimpColorProfileStore;
-typedef struct _GimpColorScale            GimpColorScale;
-typedef struct _GimpColorScales           GimpColorScales;
-typedef struct _GimpColorSelector         GimpColorSelector;
-typedef struct _GimpColorSelect           GimpColorSelect;
-typedef struct _GimpColorSelection        GimpColorSelection;
-typedef struct _GimpController            GimpController;
-typedef struct _GimpDialog                GimpDialog;
-typedef struct _GimpEnumStore             GimpEnumStore;
-typedef struct _GimpEnumComboBox          GimpEnumComboBox;
-typedef struct _GimpEnumLabel             GimpEnumLabel;
-typedef struct _GimpFileEntry             GimpFileEntry;
-typedef struct _GimpFrame                 GimpFrame;
-typedef struct _GimpIntComboBox           GimpIntComboBox;
-typedef struct _GimpIntStore              GimpIntStore;
-typedef struct _GimpMemsizeEntry          GimpMemsizeEntry;
-typedef struct _GimpNumberPairEntry       GimpNumberPairEntry;
-typedef struct _GimpOffsetArea            GimpOffsetArea;
-typedef struct _GimpPageSelector          GimpPageSelector;
-typedef struct _GimpPathEditor            GimpPathEditor;
-typedef struct _GimpPickButton            GimpPickButton;
-typedef struct _GimpPreview               GimpPreview;
-typedef struct _GimpPreviewArea           GimpPreviewArea;
-typedef struct _GimpPixmap                GimpPixmap;
-typedef struct _GimpRuler                 GimpRuler;
-typedef struct _GimpScrolledPreview       GimpScrolledPreview;
-typedef struct _GimpSizeEntry             GimpSizeEntry;
-typedef struct _GimpStringComboBox        GimpStringComboBox;
-typedef struct _GimpUnitComboBox          GimpUnitComboBox;
-typedef struct _GimpUnitMenu              GimpUnitMenu;
-typedef struct _GimpUnitStore             GimpUnitStore;
-typedef struct _GimpZoomModel             GimpZoomModel;
+typedef struct _GimpBrowser                   GimpBrowser;
+typedef struct _GimpButton                    GimpButton;
+typedef struct _GimpCellRendererColor         GimpCellRendererColor;
+typedef struct _GimpCellRendererToggle        GimpCellRendererToggle;
+typedef struct _GimpChainButton               GimpChainButton;
+typedef struct _GimpColorArea                 GimpColorArea;
+typedef struct _GimpColorButton               GimpColorButton;
+typedef struct _GimpColorDisplay              GimpColorDisplay;
+typedef struct _GimpColorDisplayStack         GimpColorDisplayStack;
+typedef struct _GimpColorHexEntry             GimpColorHexEntry;
+typedef struct _GimpColorNotebook             GimpColorNotebook;
+typedef struct _GimpColorProfileChooserDialog GimpColorProfileChooserDialog;
+typedef struct _GimpColorProfileComboBox      GimpColorProfileComboBox;
+typedef struct _GimpColorProfileStore         GimpColorProfileStore;
+typedef struct _GimpColorScale                GimpColorScale;
+typedef struct _GimpColorScales               GimpColorScales;
+typedef struct _GimpColorSelector             GimpColorSelector;
+typedef struct _GimpColorSelect               GimpColorSelect;
+typedef struct _GimpColorSelection            GimpColorSelection;
+typedef struct _GimpController                GimpController;
+typedef struct _GimpDialog                    GimpDialog;
+typedef struct _GimpEnumStore                 GimpEnumStore;
+typedef struct _GimpEnumComboBox              GimpEnumComboBox;
+typedef struct _GimpEnumLabel                 GimpEnumLabel;
+typedef struct _GimpFileEntry                 GimpFileEntry;
+typedef struct _GimpFrame                     GimpFrame;
+typedef struct _GimpIntComboBox               GimpIntComboBox;
+typedef struct _GimpIntStore                  GimpIntStore;
+typedef struct _GimpMemsizeEntry              GimpMemsizeEntry;
+typedef struct _GimpNumberPairEntry           GimpNumberPairEntry;
+typedef struct _GimpOffsetArea                GimpOffsetArea;
+typedef struct _GimpPageSelector              GimpPageSelector;
+typedef struct _GimpPathEditor                GimpPathEditor;
+typedef struct _GimpPickButton                GimpPickButton;
+typedef struct _GimpPreview                   GimpPreview;
+typedef struct _GimpPreviewArea               GimpPreviewArea;
+typedef struct _GimpPixmap                    GimpPixmap;
+typedef struct _GimpRuler                     GimpRuler;
+typedef struct _GimpScrolledPreview           GimpScrolledPreview;
+typedef struct _GimpSizeEntry                 GimpSizeEntry;
+typedef struct _GimpStringComboBox            GimpStringComboBox;
+typedef struct _GimpUnitComboBox              GimpUnitComboBox;
+typedef struct _GimpUnitMenu                  GimpUnitMenu;
+typedef struct _GimpUnitStore                 GimpUnitStore;
+typedef struct _GimpZoomModel                 GimpZoomModel;
 
 
 /**
diff --git a/po-libgimp/POTFILES.in b/po-libgimp/POTFILES.in
index 12201b2..1e4a42c 100644
--- a/po-libgimp/POTFILES.in
+++ b/po-libgimp/POTFILES.in
@@ -41,6 +41,7 @@ libgimpthumb/gimpthumbnail.c
 
 libgimpwidgets/gimpbrowser.c
 libgimpwidgets/gimpcolorbutton.c
+libgimpwidgets/gimpcolorprofilechooserdialog.c
 libgimpwidgets/gimpcolorprofilestore.c
 libgimpwidgets/gimpcolorscales.c
 libgimpwidgets/gimpcolorselect.c
diff --git a/po/POTFILES.in b/po/POTFILES.in
index fddddb3..6051cf9 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -471,7 +471,6 @@ app/widgets/gimpmessagebox.c
 app/widgets/gimppaletteeditor.c
 app/widgets/gimppanedbox.c
 app/widgets/gimppdbdialog.c
-app/widgets/gimpprofilechooserdialog.c
 app/widgets/gimpprogressdialog.c
 app/widgets/gimpproptable.c
 app/widgets/gimppropwidgets.c


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