/** * gimp_color_profile_combo_box_add: * @combo: a #GimpColorProfileComboBox * @filename: filename of the profile to add (or %NULL) * @label: label to use for the profile * (may only be %NULL if @filename is %NULL) * * This function delegates to the underlying * #GimpColorProfileStore. Please refer to the documentation of * gimp_color_profile_store_add_file() for details. * * Deprecated: use gimp_color_profile_combo_box_add_file() instead. * * Since: 2.4 **/ void gimp_color_profile_combo_box_add (GimpColorProfileComboBox *combo, const gchar *filename, const gchar *label) { GFile *file = NULL; g_return_if_fail (GIMP_IS_COLOR_PROFILE_COMBO_BOX (combo)); g_return_if_fail (label != NULL || filename == NULL); if (filename) file = g_file_new_for_path (filename); gimp_color_profile_combo_box_add_file (combo, file, label); if (file) g_object_unref (file); }
static WidgetInfo * create_color_profile_combo_box (void) { GtkWidget *vbox; GtkWidget *combo; GtkWidget *align; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); align = gtk_alignment_new (0.5, 0.5, 0.5, 0.0); combo = gimp_color_profile_combo_box_new (gtk_dialog_new (), NULL); gimp_color_profile_combo_box_add_file (GIMP_COLOR_PROFILE_COMBO_BOX (combo), NULL, "sRGB"); gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0); gtk_container_add (GTK_CONTAINER (align), combo); gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Color Profile Combo Box"), FALSE, FALSE, 0); return new_widget_info ("gimp-widget-color-profile-combo-box", vbox, SMALL); }
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); history = gimp_personal_rc_file ("profilerc"); combo = gimp_color_profile_combo_box_new (chooser, 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); break; case COLOR_PROFILE_DIALOG_CONVERT_TO_RGB: to_gray = FALSE; break; case COLOR_PROFILE_DIALOG_CONVERT_TO_GRAY: to_gray = TRUE; break; default: g_return_val_if_reached (NULL); } profile = dialog->builtin_profile; 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) { gimp_message (dialog->image->gimp, G_OBJECT (dialog->dialog), GIMP_MESSAGE_ERROR, "%s", error->message); g_clear_error (&error); } gimp_color_profile_combo_box_set_active_file (GIMP_COLOR_PROFILE_COMBO_BOX (combo), NULL, NULL); return combo; }
static GtkWidget * color_profile_combo_box_new (ProfileDialog *dialog) { GtkWidget *combo; GtkWidget *chooser; gchar *history; GimpColorProfile *profile; gchar *label; GError *error = NULL; chooser = gimp_color_profile_chooser_dialog_new (_("Select destination profile")); history = gimp_personal_rc_file ("profilerc"); combo = gimp_color_profile_combo_box_new (chooser, history); g_free (history); profile = gimp_image_get_builtin_color_profile (dialog->image); if (gimp_image_get_base_type (dialog->image) == GIMP_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 = g_file_new_for_path (dialog->config->rgb_profile); if (gimp_image_get_base_type (dialog->image) == GIMP_GRAY) { label = g_strdup_printf (_("Preferred grayscale (%s)"), gimp_color_profile_get_label (profile)); } else { 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) { gimp_message (dialog->image->gimp, G_OBJECT (dialog->dialog), GIMP_MESSAGE_ERROR, "%s", error->message); g_clear_error (&error); } gimp_color_profile_combo_box_set_active_file (GIMP_COLOR_PROFILE_COMBO_BOX (combo), NULL, NULL); return combo; }