[gthumb] image rotation: show the correct progress fraction and current file name in the progress dialog



commit 5bb2f8aff9409e86de7beb1491dfee23e16b67fb
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Wed Jul 6 20:35:18 2011 +0200

    image rotation: show the correct progress fraction and current file name in the progress dialog
    
    [bug #594796]

 .../image_rotation/gth-reset-orientation-task.c    |   11 +++++++++++
 extensions/image_rotation/gth-transform-task.c     |   12 ++++++++++++
 2 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/extensions/image_rotation/gth-reset-orientation-task.c b/extensions/image_rotation/gth-reset-orientation-task.c
index 720e07f..97ed75a 100644
--- a/extensions/image_rotation/gth-reset-orientation-task.c
+++ b/extensions/image_rotation/gth-reset-orientation-task.c
@@ -28,6 +28,8 @@ struct _GthResetOrientationTaskPrivate {
 	GList         *file_list;
 	GList         *current;
 	GthFileData   *file_data;
+	int            n_image;
+	int            n_images;
 };
 
 
@@ -54,6 +56,7 @@ static void transform_current_file (GthResetOrientationTask *self);
 static void
 transform_next_file (GthResetOrientationTask *self)
 {
+	self->priv->n_image++;
 	self->priv->current = self->priv->current->next;
 	transform_current_file (self);
 }
@@ -104,6 +107,12 @@ file_info_ready_cb (GList    *files,
 	_g_object_unref (self->priv->file_data);
 	self->priv->file_data = g_object_ref ((GthFileData *) files->data);
 
+	gth_task_progress (GTH_TASK (self),
+			   _("Saving images"),
+			   g_file_info_get_display_name (self->priv->file_data->info),
+			   FALSE,
+			   (double) (self->priv->n_image + 1) / (self->priv->n_images + 1));
+
 	metadata = g_object_new (GTH_TYPE_METADATA, "raw", "1", NULL);
 	g_file_info_set_attribute_object (self->priv->file_data->info, "Exif::Image::Orientation", G_OBJECT (metadata));
 
@@ -151,6 +160,8 @@ gth_reset_orientation_task_exec (GthTask *task)
 
 	self = GTH_RESET_ORIENTATION_TASK (task);
 
+	self->priv->n_images = g_list_length (self->priv->file_list);
+	self->priv->n_image = 0;
 	self->priv->current = self->priv->file_list;
 	transform_current_file (self);
 }
diff --git a/extensions/image_rotation/gth-transform-task.c b/extensions/image_rotation/gth-transform-task.c
index 2db20c4..5ac5e17 100644
--- a/extensions/image_rotation/gth-transform-task.c
+++ b/extensions/image_rotation/gth-transform-task.c
@@ -31,6 +31,8 @@ struct _GthTransformTaskPrivate {
 	GthFileData   *file_data;
 	GthTransform   transform;
 	JpegMcuAction  default_action;
+	int            n_image;
+	int            n_images;
 };
 
 
@@ -57,6 +59,7 @@ static void transform_current_file (GthTransformTask *self);
 static void
 transform_next_file (GthTransformTask *self)
 {
+	self->priv->n_image++;
 	/*self->priv->default_action = JPEG_MCU_ACTION_ABORT;*/
 	self->priv->current = self->priv->current->next;
 	transform_current_file (self);
@@ -133,6 +136,13 @@ file_info_ready_cb (GList    *files,
 
 	_g_object_unref (self->priv->file_data);
 	self->priv->file_data = g_object_ref ((GthFileData *) files->data);
+
+	gth_task_progress (GTH_TASK (self),
+			   _("Saving images"),
+			   g_file_info_get_display_name (self->priv->file_data->info),
+			   FALSE,
+			   (double) (self->priv->n_image + 1) / (self->priv->n_images + 1));
+
 	apply_transformation_async (self->priv->file_data,
 				    self->priv->transform,
 				    self->priv->default_action,
@@ -175,6 +185,8 @@ gth_transform_task_exec (GthTask *task)
 
 	self = GTH_TRANSFORM_TASK (task);
 
+	self->priv->n_images = g_list_length (self->priv->file_list);
+	self->priv->n_image = 0;
 	self->priv->current = self->priv->file_list;
 	transform_current_file (self);
 }



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