[gimp] app: add gimp_color_profile_store_add_defaults()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add gimp_color_profile_store_add_defaults()
- Date: Sat, 21 May 2016 23:20:30 +0000 (UTC)
commit 57d497b48611c097d80615a2d311614525fab708
Author: Michael Natterer <mitch gimp org>
Date: Sun May 22 01:19:18 2016 +0200
app: add gimp_color_profile_store_add_defaults()
which adds default profiles for an image type/precision.
app/widgets/gimpwidgets-utils.c | 70 +++++++++++++++++++++++++++++++++++++++
app/widgets/gimpwidgets-utils.h | 7 ++++
2 files changed, 77 insertions(+), 0 deletions(-)
---
diff --git a/app/widgets/gimpwidgets-utils.c b/app/widgets/gimpwidgets-utils.c
index 0822799..a38c26e 100644
--- a/app/widgets/gimpwidgets-utils.c
+++ b/app/widgets/gimpwidgets-utils.c
@@ -41,6 +41,8 @@
#include "widgets-types.h"
+#include "gegl/gimp-babl.h"
+
#include "gimpdialogfactory.h"
#include "gimpdock.h"
#include "gimpdockcontainer.h"
@@ -1375,3 +1377,71 @@ gimp_print_event (const GdkEvent *event)
return str;
}
+
+gboolean
+gimp_color_profile_store_add_defaults (GimpColorProfileStore *store,
+ GimpColorConfig *config,
+ GimpImageBaseType base_type,
+ GimpPrecision precision,
+ GError **error)
+{
+ GimpColorProfile *profile;
+ const Babl *format;
+ gchar *label;
+
+ g_return_val_if_fail (GIMP_IS_COLOR_PROFILE_STORE (store), FALSE);
+ g_return_val_if_fail (GIMP_IS_COLOR_CONFIG (config), FALSE);
+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+ format = gimp_babl_format (base_type, precision, TRUE);
+ profile = gimp_babl_format_get_color_profile (format);
+
+ if (base_type == GIMP_GRAY)
+ {
+ label = g_strdup_printf (_("Built-in grayscale (%s)"),
+ gimp_color_profile_get_label (profile));
+
+ profile = gimp_color_config_get_gray_color_profile (config, error);
+ }
+ else
+ {
+ label = g_strdup_printf (_("Built-in RGB (%s)"),
+ gimp_color_profile_get_label (profile));
+
+ profile = gimp_color_config_get_rgb_color_profile (config, error);
+ }
+
+ gimp_color_profile_store_add_file (store, NULL, label);
+ g_free (label);
+
+ if (profile)
+ {
+ GFile *file;
+
+ if (base_type == GIMP_GRAY)
+ {
+ file = g_file_new_for_path (config->gray_profile);
+
+ label = g_strdup_printf (_("Preferred grayscale (%s)"),
+ gimp_color_profile_get_label (profile));
+ }
+ else
+ {
+ file = g_file_new_for_path (config->rgb_profile);
+
+ label = g_strdup_printf (_("Preferred RGB (%s)"),
+ gimp_color_profile_get_label (profile));
+ }
+
+ g_object_unref (profile);
+
+ gimp_color_profile_store_add_file (store, file, label);
+
+ g_object_unref (file);
+ g_free (label);
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
diff --git a/app/widgets/gimpwidgets-utils.h b/app/widgets/gimpwidgets-utils.h
index da30e02..b41de73 100644
--- a/app/widgets/gimpwidgets-utils.h
+++ b/app/widgets/gimpwidgets-utils.h
@@ -107,5 +107,12 @@ void gimp_widget_set_fully_opaque (GtkWidget *widget
const gchar * gimp_print_event (const GdkEvent *event);
+gboolean gimp_color_profile_store_add_defaults
+ (GimpColorProfileStore *store,
+ GimpColorConfig *config,
+ GimpImageBaseType base_type,
+ GimpPrecision precision,
+ GError **error);
+
#endif /* __APP_GIMP_WIDGETS_UTILS_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]