[gimp/export-dialog-cleanup-tmp: 1/3] libgimp: Don't ask any questions in gimp_export_image()



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]