[gimp] app: use the new function in the color profile assign/convert dialog
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: use the new function in the color profile assign/convert dialog
- Date: Sun, 22 May 2016 11:28:05 +0000 (UTC)
commit 490b33fd85d892e7cc21baf8d059a39e1dff9d15
Author: Michael Natterer <mitch gimp org>
Date: Sun May 22 13:26:20 2016 +0200
app: use the new function in the color profile assign/convert dialog
app/dialogs/color-profile-dialog.c | 90 +++++++++++-------------------------
1 files changed, 27 insertions(+), 63 deletions(-)
---
diff --git a/app/dialogs/color-profile-dialog.c b/app/dialogs/color-profile-dialog.c
index 2e308f5..221850a 100644
--- a/app/dialogs/color-profile-dialog.c
+++ b/app/dialogs/color-profile-dialog.c
@@ -48,6 +48,7 @@
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpviewabledialog.h"
#include "widgets/gimpwidgets-constructors.h"
+#include "widgets/gimpwidgets-utils.h"
#include "color-profile-dialog.h"
@@ -322,90 +323,44 @@ color_profile_dialog_new (ColorProfileDialogType dialog_type,
static GtkWidget *
color_profile_combo_box_new (ProfileDialog *dialog)
{
- GtkWidget *combo;
- GtkWidget *chooser;
- gchar *history;
- GimpColorProfile *profile;
- gboolean to_gray;
- gchar *label;
- GError *error = NULL;
-
- chooser =
- gimp_color_profile_chooser_dialog_new (_("Select Destination Profile"),
- NULL,
- GTK_FILE_CHOOSER_ACTION_OPEN);
+ GtkListStore *store;
+ GtkWidget *combo;
+ GtkWidget *chooser;
+ gchar *history;
+ GimpImageBaseType base_type;
+ GimpPrecision precision;
+ GError *error = NULL;
history = gimp_personal_rc_file ("profilerc");
- combo = gimp_color_profile_combo_box_new (chooser, history);
+ store = gimp_color_profile_store_new (history);
g_free (history);
switch (dialog->dialog_type)
{
case COLOR_PROFILE_DIALOG_ASSIGN_PROFILE:
case COLOR_PROFILE_DIALOG_CONVERT_TO_PROFILE:
- to_gray = (gimp_image_get_base_type (dialog->image) == GIMP_GRAY);
+ base_type = gimp_image_get_base_type (dialog->image);
break;
case COLOR_PROFILE_DIALOG_CONVERT_TO_RGB:
- to_gray = FALSE;
+ base_type = GIMP_RGB;
break;
case COLOR_PROFILE_DIALOG_CONVERT_TO_GRAY:
- to_gray = TRUE;
+ base_type = GIMP_GRAY;
break;
default:
g_return_val_if_reached (NULL);
}
- profile = dialog->builtin_profile;
+ precision = gimp_image_get_precision (dialog->image);
- if (to_gray)
- {
- label = g_strdup_printf (_("Built-in grayscale (%s)"),
- gimp_color_profile_get_label (profile));
-
- profile = gimp_color_config_get_gray_color_profile (dialog->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 (dialog->config, &error);
- }
-
- gimp_color_profile_combo_box_add_file (GIMP_COLOR_PROFILE_COMBO_BOX (combo),
- NULL, label);
- g_free (label);
-
- if (profile)
- {
- GFile *file;
-
- if (to_gray)
- {
- file = g_file_new_for_path (dialog->config->gray_profile);
-
- label = g_strdup_printf (_("Preferred grayscale (%s)"),
- gimp_color_profile_get_label (profile));
- }
- else
- {
- file = g_file_new_for_path (dialog->config->rgb_profile);
-
- label = g_strdup_printf (_("Preferred RGB (%s)"),
- gimp_color_profile_get_label (profile));
- }
-
- g_object_unref (profile);
-
- gimp_color_profile_combo_box_add_file (GIMP_COLOR_PROFILE_COMBO_BOX (combo),
- file, label);
- g_object_unref (file);
- g_free (label);
- }
- else if (error)
+ if (! gimp_color_profile_store_add_defaults (GIMP_COLOR_PROFILE_STORE (store),
+ dialog->config,
+ base_type,
+ precision,
+ &error))
{
gimp_message (dialog->image->gimp, G_OBJECT (dialog->dialog),
GIMP_MESSAGE_ERROR,
@@ -413,6 +368,15 @@ color_profile_combo_box_new (ProfileDialog *dialog)
g_clear_error (&error);
}
+ chooser =
+ gimp_color_profile_chooser_dialog_new (_("Select Destination Profile"),
+ NULL,
+ GTK_FILE_CHOOSER_ACTION_OPEN);
+
+ combo = gimp_color_profile_combo_box_new_with_model (chooser,
+ GTK_TREE_MODEL (store));
+ g_object_unref (store);
+
gimp_color_profile_combo_box_set_active_file (GIMP_COLOR_PROFILE_COMBO_BOX (combo),
NULL, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]