From 41894be71a768a98ee5881e9c69eaba16ca1a17a Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Thu, 25 May 2023 16:55:08 +0200 Subject: [PATCH] app: make the rotation import dialog more similar to profile import and some general cleanup in both dialogs. --- app/dialogs/color-profile-import-dialog.c | 6 +- app/dialogs/color-profile-import-dialog.h | 14 +-- app/dialogs/metadata-rotation-import-dialog.c | 96 ++++++++++--------- app/dialogs/metadata-rotation-import-dialog.h | 9 +- app/widgets/gimphelp-ids.h | 1 + 5 files changed, 70 insertions(+), 56 deletions(-) diff --git a/app/dialogs/color-profile-import-dialog.c b/app/dialogs/color-profile-import-dialog.c index 325f8defda..92ac4f088a 100644 --- a/app/dialogs/color-profile-import-dialog.c +++ b/app/dialogs/color-profile-import-dialog.c @@ -147,7 +147,8 @@ color_profile_import_dialog_run (GimpImage *image, gtk_widget_show (stack); frame = gimp_frame_new (frame_title); - gtk_stack_add_titled (GTK_STACK (stack), frame, "builtin", "Built-in Profile"); + gtk_stack_add_titled (GTK_STACK (stack), frame, "builtin", + _("Built-in Profile")); gtk_widget_show (frame); label = gimp_color_profile_label_new (*dest_profile); @@ -162,7 +163,8 @@ color_profile_import_dialog_run (GimpImage *image, frame_title = _("Convert the image to the preferred RGB color profile?"); frame = gimp_frame_new (frame_title); - gtk_stack_add_titled (GTK_STACK (stack), frame, "preferred", "Preferred Profile"); + gtk_stack_add_titled (GTK_STACK (stack), frame, "preferred", + _("Preferred Profile")); gtk_widget_show (frame); label = gimp_color_profile_label_new (pref_profile); diff --git a/app/dialogs/color-profile-import-dialog.h b/app/dialogs/color-profile-import-dialog.h index 2b91d4c8f0..d5dc588bd6 100644 --- a/app/dialogs/color-profile-import-dialog.h +++ b/app/dialogs/color-profile-import-dialog.h @@ -23,13 +23,13 @@ GimpColorProfilePolicy - color_profile_import_dialog_run (GimpImage *image, - GimpContext *context, - GtkWidget *parent, - GimpColorProfile **dest_profile, - GimpColorRenderingIntent *intent, - gboolean *bpc, - gboolean *dont_ask); +color_profile_import_dialog_run (GimpImage *image, + GimpContext *context, + GtkWidget *parent, + GimpColorProfile **dest_profile, + GimpColorRenderingIntent *intent, + gboolean *bpc, + gboolean *dont_ask); #endif /* __COLOR_PROFILE_IMPORT_DIALOG_H__ */ diff --git a/app/dialogs/metadata-rotation-import-dialog.c b/app/dialogs/metadata-rotation-import-dialog.c index 307c79fc0a..866b9e8955 100644 --- a/app/dialogs/metadata-rotation-import-dialog.c +++ b/app/dialogs/metadata-rotation-import-dialog.c @@ -37,7 +37,6 @@ #include "widgets/gimphelp-ids.h" #include "widgets/gimpviewabledialog.h" -#include "widgets/gimpwidgets-constructors.h" #include "metadata-rotation-import-dialog.h" @@ -46,6 +45,7 @@ static GimpMetadataRotationPolicy gimp_image_metadata_rotate_dialog (GimpImage *image, GimpContext *context, + GtkWidget *parent, GExiv2Orientation orientation, gboolean *dont_ask); static GdkPixbuf * gimp_image_metadata_rotate_pixbuf (GdkPixbuf *pixbuf, @@ -70,45 +70,48 @@ metadata_rotation_import_dialog_run (GimpImage *image, orientation > GEXIV2_ORIENTATION_MAX) return GIMP_METADATA_ROTATION_POLICY_KEEP; - return gimp_image_metadata_rotate_dialog (image, context, orientation, dont_ask); + return gimp_image_metadata_rotate_dialog (image, context, parent, + orientation, dont_ask); } static GimpMetadataRotationPolicy gimp_image_metadata_rotate_dialog (GimpImage *image, GimpContext *context, + GtkWidget *parent, GExiv2Orientation orientation, gboolean *dont_ask) { - GtkWidget *dialog; - GtkWidget *main_vbox; - GtkWidget *vbox; - GtkWidget *label; - GtkWidget *toggle; - const gchar *name; - gchar *title; - GdkPixbuf *pixbuf; - gint width; - gint scale_factor; - gint height; - gint response; + GtkWidget *dialog; + GtkWidget *main_vbox; + GtkWidget *vbox; + GtkWidget *label; + GtkWidget *toggle; + gchar *text; + GdkPixbuf *pixbuf; + gint width; + gint scale_factor; + gint height; + gint response; - name = gimp_image_get_display_name (image); - title = g_strdup_printf (_("Rotate %s?"), name); + dialog = + gimp_viewable_dialog_new (g_list_prepend (NULL, image), context, + _("Rotate Image?"), + "gimp-metadata-rotate-dialog", + GIMP_ICON_OBJECT_ROTATE_180, + _("Apply metadata rotation"), + parent, + gimp_standard_help_func, + GIMP_HELP_IMAGE_METADATA_ROTATION_IMPORT, - dialog = gimp_dialog_new (title, "gimp-metadata-rotate-dialog", - NULL, 0, NULL, NULL, + _("_Keep Original"), GTK_RESPONSE_CANCEL, + _("_Rotate"), GTK_RESPONSE_OK, - _("_Keep Original"), GTK_RESPONSE_CANCEL, - _("_Rotate"), GTK_RESPONSE_OK, - - NULL); - - g_free (title); + NULL); gimp_dialog_set_alternative_button_order (GTK_DIALOG (dialog), - GTK_RESPONSE_OK, - GTK_RESPONSE_CANCEL, - -1); + GTK_RESPONSE_OK, + GTK_RESPONSE_CANCEL, + -1); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); @@ -118,6 +121,24 @@ gimp_image_metadata_rotate_dialog (GimpImage *image, main_vbox, FALSE, FALSE, 0); gtk_widget_show (main_vbox); + text = g_strdup_printf (_("The image '%s' contains Exif orientation " + "metadata"), + gimp_image_get_display_name (image)); + label = g_object_new (GTK_TYPE_LABEL, + "label", text, + "wrap", TRUE, + "justify", GTK_JUSTIFY_LEFT, + "xalign", 0.0, + "yalign", 0.5, + NULL); + g_free (text); + + gimp_label_set_attributes (GTK_LABEL (label), + PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, + -1); + gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0); + gtk_widget_show (label); + scale_factor = gtk_widget_get_scale_factor (main_vbox); width = gimp_image_get_width (image); height = gimp_image_get_height (image); @@ -190,21 +211,6 @@ gimp_image_metadata_rotate_dialog (GimpImage *image, gtk_widget_show (image); } - label = g_object_new (GTK_TYPE_LABEL, - "label", _("This image contains Exif orientation " - "metadata."), - "wrap", TRUE, - "justify", GTK_JUSTIFY_LEFT, - "xalign", 0.0, - "yalign", 0.5, - NULL); - gimp_label_set_attributes (GTK_LABEL (label), - PANGO_ATTR_SCALE, PANGO_SCALE_LARGE, - PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, - -1); - gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0); - gtk_widget_show (label); - label = g_object_new (GTK_TYPE_LABEL, "label", _("Would you like to rotate the image?"), "wrap", TRUE, @@ -212,6 +218,9 @@ gimp_image_metadata_rotate_dialog (GimpImage *image, "xalign", 0.0, "yalign", 0.5, NULL); + gimp_label_set_attributes (GTK_LABEL (label), + PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, + -1); gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0); gtk_widget_show (label); @@ -225,7 +234,8 @@ gimp_image_metadata_rotate_dialog (GimpImage *image, gtk_widget_destroy (dialog); - return (response == GTK_RESPONSE_OK) ? GIMP_METADATA_ROTATION_POLICY_ROTATE : GIMP_COLOR_PROFILE_POLICY_KEEP; + return (response == GTK_RESPONSE_OK) ? + GIMP_METADATA_ROTATION_POLICY_ROTATE : GIMP_COLOR_PROFILE_POLICY_KEEP; } static GdkPixbuf * diff --git a/app/dialogs/metadata-rotation-import-dialog.h b/app/dialogs/metadata-rotation-import-dialog.h index 9cb0210a46..fc3b4bbbde 100644 --- a/app/dialogs/metadata-rotation-import-dialog.h +++ b/app/dialogs/metadata-rotation-import-dialog.h @@ -22,10 +22,11 @@ #define __METADATA_ROTATION_IMPORT_DIALOG_H__ -GimpMetadataRotationPolicy metadata_rotation_import_dialog_run (GimpImage *image, - GimpContext *context, - GtkWidget *parent, - gboolean *dont_ask); +GimpMetadataRotationPolicy +metadata_rotation_import_dialog_run (GimpImage *image, + GimpContext *context, + GtkWidget *parent, + gboolean *dont_ask); #endif /* __METADATA_ROTATION_IMPORT_DIALOG_H__*/ diff --git a/app/widgets/gimphelp-ids.h b/app/widgets/gimphelp-ids.h index 389c0cc14f..b3e16b56a3 100644 --- a/app/widgets/gimphelp-ids.h +++ b/app/widgets/gimphelp-ids.h @@ -165,6 +165,7 @@ #define GIMP_HELP_IMAGE_COLOR_PROFILE_USE_SRGB "gimp-image-color-profile-use-srgb" #define GIMP_HELP_IMAGE_COLOR_PROFILE_SAVE "gimp-image-color-profile-save" #define GIMP_HELP_IMAGE_COLOR_PROFILE_IMPORT "gimp-image-color-profile-import" +#define GIMP_HELP_IMAGE_METADATA_ROTATION_IMPORT "gimp-image-metdata-rotation-import" #define GIMP_HELP_IMAGE_GRID "gimp-image-grid" #define GIMP_HELP_IMAGE_PROPERTIES "gimp-image-properties"