[gthumb] rotation: removed old workaround for modal dialogs



commit 19ea0942a1bb77ff52ac20e20be438cea8ba9442
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Fri Oct 11 12:33:51 2013 +0200

    rotation: removed old workaround for modal dialogs

 extensions/image_rotation/gth-transform-task.c |   12 +++++++-----
 extensions/image_rotation/rotation-utils.c     |   16 +++-------------
 extensions/image_rotation/rotation-utils.h     |    2 +-
 3 files changed, 11 insertions(+), 19 deletions(-)
---
diff --git a/extensions/image_rotation/gth-transform-task.c b/extensions/image_rotation/gth-transform-task.c
index 62000ff..dc47d12 100644
--- a/extensions/image_rotation/gth-transform-task.c
+++ b/extensions/image_rotation/gth-transform-task.c
@@ -93,13 +93,15 @@ transform_file_ready_cb (GError   *error,
 
        if (error != NULL) {
                if (g_error_matches (error, JPEG_ERROR, JPEG_ERROR_MCU)) {
+                       GtkWidget *dialog;
+
                        g_clear_error (&error);
 
-                       gth_task_dialog (GTH_TASK (self), TRUE, NULL);
-                       ask_whether_to_trim (GTK_WINDOW (self->priv->browser),
-                                            self->priv->file_data,
-                                            trim_response_cb,
-                                            self);
+                       dialog = ask_whether_to_trim (GTK_WINDOW (self->priv->browser),
+                                                     self->priv->file_data,
+                                                     trim_response_cb,
+                                                     self);
+                       gth_task_dialog (GTH_TASK (self), TRUE, dialog);
 
                        return;
                }
diff --git a/extensions/image_rotation/rotation-utils.c b/extensions/image_rotation/rotation-utils.c
index 40a0f0d..d2a502e 100644
--- a/extensions/image_rotation/rotation-utils.c
+++ b/extensions/image_rotation/rotation-utils.c
@@ -37,8 +37,6 @@ enum {
 
 typedef struct {
        GtkWidget        *dialog;
-       GtkWindow        *parent_window;
-       gboolean          parent_is_modal;
        TrimResponseFunc  done_func;
        gpointer          done_data;
 } AskTrimData;
@@ -52,8 +50,6 @@ ask_whether_to_trim_response_cb (GtkDialog *dialog,
        AskTrimData *data = user_data;
 
        gtk_widget_destroy (data->dialog);
-       if (data->parent_is_modal)
-               gtk_window_set_modal (data->parent_window, TRUE);
 
        if (data->done_func != NULL) {
                JpegMcuAction action;
@@ -76,7 +72,7 @@ ask_whether_to_trim_response_cb (GtkDialog *dialog,
 }
 
 
-void
+GtkWidget *
 ask_whether_to_trim (GtkWindow        *parent_window,
                     GthFileData      *file_data,
                     TrimResponseFunc  done_func,
@@ -104,14 +100,6 @@ ask_whether_to_trim (GtkWindow        *parent_window,
        data = g_new0 (AskTrimData, 1);
        data->done_func = done_func;
        data->done_data = done_data;
-       data->parent_window = parent_window;
-       data->parent_is_modal = FALSE;
-
-       if (parent_window != NULL) {
-               data->parent_is_modal = gtk_window_get_modal (parent_window);
-               if (data->parent_is_modal)
-                       gtk_window_set_modal (data->parent_window, FALSE);
-       }
 
        filename = g_file_get_parse_name (file_data->file);
        msg = g_strdup_printf (_("Problem transforming the image: %s"), filename);
@@ -138,6 +126,8 @@ ask_whether_to_trim (GtkWindow        *parent_window,
 
        g_free (msg);
        g_free (filename);
+
+       return data->dialog;
 }
 
 
diff --git a/extensions/image_rotation/rotation-utils.h b/extensions/image_rotation/rotation-utils.h
index 274ff67..5f5ba3f 100644
--- a/extensions/image_rotation/rotation-utils.h
+++ b/extensions/image_rotation/rotation-utils.h
@@ -30,7 +30,7 @@
 
 typedef void (*TrimResponseFunc) (JpegMcuAction action, gpointer user_data);
 
-void            ask_whether_to_trim            (GtkWindow        *parent_window,
+GtkWidget *     ask_whether_to_trim            (GtkWindow        *parent_window,
                                                GthFileData      *file_data,
                                                TrimResponseFunc  done_func,
                                                gpointer          done_data);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]