static void color_profile_dest_changed (GtkWidget *combo, ProfileDialog *dialog) { GimpColorProfile *dest_profile = NULL; GFile *file; GError *error = NULL; file = gimp_color_profile_combo_box_get_active_file (GIMP_COLOR_PROFILE_COMBO_BOX (combo)); if (file) { dest_profile = gimp_color_profile_new_from_file (file, &error); g_object_unref (file); } else { dest_profile = g_object_ref (dialog->builtin_profile); } if (! dest_profile) { gimp_color_profile_view_set_error (GIMP_COLOR_PROFILE_VIEW (dialog->dest_view), error->message); g_clear_error (&error); } else { gimp_color_profile_view_set_profile (GIMP_COLOR_PROFILE_VIEW (dialog->dest_view), dest_profile); g_object_unref (dest_profile); } }
GtkWidget * gimp_color_profile_label_new (GimpColorProfile *profile) { GtkWidget *expander; GtkWidget *view; g_return_val_if_fail (GIMP_IS_COLOR_PROFILE (profile), NULL); expander = gtk_expander_new (gimp_color_profile_get_label (profile)); view = gimp_color_profile_view_new (); gimp_color_profile_view_set_profile (GIMP_COLOR_PROFILE_VIEW (view), profile); gtk_container_add (GTK_CONTAINER (expander), view); gtk_widget_show (view); return expander; }
static void gimp_image_profile_view_init (GimpImageProfileView *view) { GtkWidget *scrolled_window; GtkWidget *profile_view; 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_set_border_width (GTK_CONTAINER (scrolled_window), 2); gtk_box_pack_start (GTK_BOX (view), scrolled_window, TRUE, TRUE, 0); gtk_widget_show (scrolled_window); profile_view = gimp_color_profile_view_new (); gtk_container_add (GTK_CONTAINER (scrolled_window), profile_view); gtk_widget_show (profile_view); view->profile_view = GIMP_COLOR_PROFILE_VIEW (profile_view); }
static void gimp_color_profile_chooser_dialog_constructed (GObject *object) { GimpColorProfileChooserDialog *dialog; GtkFileFilter *filter; GtkWidget *frame; GtkWidget *scrolled_window; GtkWidget *profile_view; 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); /* the preview widget */ frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_widget_set_size_request (frame, 300, -1); 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); profile_view = gimp_color_profile_view_new (); gtk_container_add (GTK_CONTAINER (scrolled_window), profile_view); gtk_widget_show (profile_view); dialog->priv->profile_view = GIMP_COLOR_PROFILE_VIEW (profile_view); gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (dialog), frame); g_signal_connect (dialog, "update-preview", G_CALLBACK (gimp_color_profile_chooser_dialog_update_preview), NULL); }