[gimp/export-dialog-cleanup-tmp: 1/3] libgimp: Don't ask any questions in gimp_export_image()
- From: Martin Nordholts <martinn src gnome org>
- To: svn-commits-list gnome org
- Subject: [gimp/export-dialog-cleanup-tmp: 1/3] libgimp: Don't ask any questions in gimp_export_image()
- Date: Tue, 14 Jul 2009 10:39:42 +0000 (UTC)
commit 7a09e347c3132caf91c90d72a7fc59bba7baeb7b
Author: Martin Nordholts <martinn src gnome org>
Date: Mon Jul 13 15:56:08 2009 +0200
libgimp: Don't ask any questions in gimp_export_image()
Since save and export now are separated, always assume the user wants
to export when gimp_export_image() is called. This includes not to
warn when active drawable is not a layer, the file plug-ins are not
supposed to use only the active drawable when exporting.
libgimp/gimpexport.c | 288 +-------------------------------------------------
1 files changed, 1 insertions(+), 287 deletions(-)
---
diff --git a/libgimp/gimpexport.c b/libgimp/gimpexport.c
index 78723c1..26c9050 100644
--- a/libgimp/gimpexport.c
+++ b/libgimp/gimpexport.c
@@ -378,260 +378,6 @@ export_action_perform (const ExportAction *action,
}
-/* dialog functions */
-
-static void
-export_toggle_callback (GtkWidget *widget,
- gpointer data)
-{
- gint *choice = (gint *) data;
-
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
- *choice = FALSE;
- else
- *choice = TRUE;
-}
-
-static GimpExportReturn
-confirm_save_dialog (const gchar *message,
- const gchar *format_name)
-{
- GtkWidget *dialog;
- GtkWidget *hbox;
- GtkWidget *image;
- GtkWidget *main_vbox;
- GtkWidget *label;
- gchar *text;
- GimpExportReturn retval;
-
- g_return_val_if_fail (message != NULL, GIMP_EXPORT_CANCEL);
- g_return_val_if_fail (format_name != NULL, GIMP_EXPORT_CANCEL);
-
- dialog = gimp_dialog_new (_("Confirm Save"), "gimp-export-image-confirm",
- NULL, 0,
- gimp_standard_help_func,
- "gimp-export-confirm-dialog",
-
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- _("Confirm"), GTK_RESPONSE_OK,
-
- NULL);
-
- gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
- GTK_RESPONSE_OK,
- GTK_RESPONSE_CANCEL,
- -1);
-
- gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
- gimp_window_set_transient (GTK_WINDOW (dialog));
-
- hbox = gtk_hbox_new (FALSE, 12);
- gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
- hbox);
- gtk_container_set_border_width (GTK_CONTAINER (hbox), 12);
- gtk_widget_show (hbox);
-
- image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING,
- GTK_ICON_SIZE_DIALOG);
- gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0);
- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
- gtk_widget_show (image);
-
- main_vbox = gtk_vbox_new (FALSE, 12);
- gtk_box_pack_start (GTK_BOX (hbox), main_vbox, FALSE, FALSE, 0);
- gtk_widget_show (main_vbox);
-
- text = g_strdup_printf (message, format_name);
- label = gtk_label_new (text);
- g_free (text);
-
- gimp_label_set_attributes (GTK_LABEL (label),
- PANGO_ATTR_SCALE, PANGO_SCALE_LARGE,
- PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD,
- -1);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
-
- gtk_widget_show (dialog);
-
- switch (gimp_dialog_run (GIMP_DIALOG (dialog)))
- {
- case GTK_RESPONSE_OK:
- retval = GIMP_EXPORT_EXPORT;
- break;
-
- default:
- retval = GIMP_EXPORT_CANCEL;
- break;
- }
-
- gtk_widget_destroy (dialog);
-
- return retval;
-}
-
-static GimpExportReturn
-export_dialog (GSList *actions,
- const gchar *format_name)
-{
- GtkWidget *dialog;
- GtkWidget *hbox;
- GtkWidget *image;
- GtkWidget *main_vbox;
- GtkWidget *label;
- GSList *list;
- gchar *text;
- GimpExportReturn retval;
-
- g_return_val_if_fail (actions != NULL, GIMP_EXPORT_CANCEL);
- g_return_val_if_fail (format_name != NULL, GIMP_EXPORT_CANCEL);
-
- dialog = gimp_dialog_new (_("Export File"), "gimp-export-image",
- NULL, 0,
- gimp_standard_help_func, "gimp-export-dialog",
-
- _("_Ignore"), GTK_RESPONSE_NO,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- _("_Export"), GTK_RESPONSE_OK,
-
- NULL);
-
- gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
- GTK_RESPONSE_NO,
- GTK_RESPONSE_OK,
- GTK_RESPONSE_CANCEL,
- -1);
-
- gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
- gimp_window_set_transient (GTK_WINDOW (dialog));
-
- hbox = gtk_hbox_new (FALSE, 12);
- gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
- hbox);
- gtk_container_set_border_width (GTK_CONTAINER (hbox), 12);
- gtk_widget_show (hbox);
-
- image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO,
- GTK_ICON_SIZE_DIALOG);
- gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0);
- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
- gtk_widget_show (image);
-
- main_vbox = gtk_vbox_new (FALSE, 12);
- gtk_box_pack_start (GTK_BOX (hbox), main_vbox, FALSE, FALSE, 0);
- gtk_widget_show (main_vbox);
-
- /* the headline */
- text = g_strdup_printf (_("Your image should be exported before it "
- "can be saved as %s for the following reasons:"),
- format_name);
- label = gtk_label_new (text);
- g_free (text);
-
- gimp_label_set_attributes (GTK_LABEL (label),
- PANGO_ATTR_SCALE, PANGO_SCALE_LARGE,
- -1);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
-
- for (list = actions; list; list = g_slist_next (list))
- {
- ExportAction *action = list->data;
- GtkWidget *frame;
- GtkWidget *vbox;
-
- text = g_strdup_printf (gettext (action->reason), format_name);
- frame = gimp_frame_new (text);
- g_free (text);
-
- gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
- gtk_widget_show (frame);
-
- vbox = gtk_vbox_new (FALSE, 6);
- gtk_container_add (GTK_CONTAINER (frame), vbox);
-
- if (action->possibilities[0] && action->possibilities[1])
- {
- GtkWidget *button;
- GSList *radio_group = NULL;
-
- button = gtk_radio_button_new_with_label (radio_group,
- gettext (action->possibilities[0]));
- gtk_label_set_justify (GTK_LABEL (gtk_bin_get_child (GTK_BIN (button))),
- GTK_JUSTIFY_LEFT);
- radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button));
- gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
- g_signal_connect (button, "toggled",
- G_CALLBACK (export_toggle_callback),
- &action->choice);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
- (action->choice == 0));
- gtk_widget_show (button);
-
- button = gtk_radio_button_new_with_label (radio_group,
- gettext (action->possibilities[1]));
- gtk_label_set_justify (GTK_LABEL (gtk_bin_get_child (GTK_BIN (button))),
- GTK_JUSTIFY_LEFT);
- radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button));
- gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
- (action->choice == 1));
- gtk_widget_show (button);
- }
- else if (action->possibilities[0])
- {
- label = gtk_label_new (gettext (action->possibilities[0]));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
- action->choice = 0;
- }
-
- gtk_widget_show (vbox);
- }
-
- /* the footline */
- label = gtk_label_new (_("The export conversion won't modify your "
- "original image."));
- gimp_label_set_attributes (GTK_LABEL (label),
- PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC,
- -1);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
-
- gtk_widget_show (dialog);
-
- switch (gimp_dialog_run (GIMP_DIALOG (dialog)))
- {
- case GTK_RESPONSE_OK:
- retval = GIMP_EXPORT_EXPORT;
- break;
-
- case GTK_RESPONSE_NO:
- retval = GIMP_EXPORT_IGNORE;
- break;
-
- default:
- retval = GIMP_EXPORT_CANCEL;
- break;
- }
-
- gtk_widget_destroy (dialog);
-
- return retval;
-}
-
/**
* gimp_export_image:
* @image_ID: Pointer to the image_ID.
@@ -690,35 +436,6 @@ gimp_export_image (gint32 *image_ID,
if (capabilities & GIMP_EXPORT_CAN_HANDLE_LAYERS)
capabilities |= GIMP_EXPORT_CAN_HANDLE_ALPHA;
- /* ask for confirmation if the user is not saving a layer (see bug #51114) */
- if (format_name &&
- ! gimp_drawable_is_layer (*drawable_ID) &&
- ! (capabilities & GIMP_EXPORT_CAN_HANDLE_LAYERS))
- {
- if (gimp_drawable_is_layer_mask (*drawable_ID))
- {
- retval = confirm_save_dialog
- (_("You are about to save a layer mask as %s.\n"
- "This will not save the visible layers."), format_name);
- }
- else if (gimp_drawable_is_channel (*drawable_ID))
- {
- retval = confirm_save_dialog
- (_("You are about to save a channel (saved selection) as %s.\n"
- "This will not save the visible layers."), format_name);
- }
- else
- {
- /* this should not happen */
- g_warning ("%s: unknown drawable type!", G_STRFUNC);
- }
-
- /* cancel - the user can then select an appropriate layer to save */
- if (retval == GIMP_EXPORT_CANCEL)
- return GIMP_EXPORT_CANCEL;
- }
-
-
/* check alpha and layer masks */
layers = gimp_image_get_layers (*image_ID, &n_layers);
@@ -895,10 +612,7 @@ gimp_export_image (gint32 *image_ID,
{
actions = g_slist_reverse (actions);
- if (format_name)
- retval = export_dialog (actions, format_name);
- else
- retval = GIMP_EXPORT_EXPORT;
+ retval = GIMP_EXPORT_EXPORT;
}
else
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]