[frogr] Hide progress dialog as soon as possible



commit 0402b7c389fb642484edfc19dd5718e84cc64db5
Author: Mario Sanchez Prada <msanchez gnome org>
Date:   Fri Dec 14 19:39:24 2012 +0100

    Hide progress dialog as soon as possible

 src/frogr-controller.c |   32 +++++++-------------------------
 1 files changed, 7 insertions(+), 25 deletions(-)
---
diff --git a/src/frogr-controller.c b/src/frogr-controller.c
index 5ec376b..125cb51 100644
--- a/src/frogr-controller.c
+++ b/src/frogr-controller.c
@@ -2053,16 +2053,18 @@ _show_progress_on_idle (gpointer data)
       text = NULL;
     }
 
-  /* Actually show the dialog and keep the source */
+  /* Pulse and show/hide the progress dialog as needed */
+  frogr_main_view_pulse_progress (priv->mainview);
   if (show_dialog)
     {
       frogr_main_view_show_progress (priv->mainview, text);
-      frogr_main_view_pulse_progress (priv->mainview);
-
       return G_SOURCE_CONTINUE;
     }
-
-  return G_SOURCE_REMOVE;
+  else
+    {
+      frogr_main_view_hide_progress (priv->mainview);
+      return G_SOURCE_REMOVE;
+    }
 }
 
 static gboolean
@@ -2070,20 +2072,16 @@ _show_details_dialog_on_idle (GSList *pictures)
 {
   FrogrController *controller = NULL;
   FrogrControllerPrivate *priv = NULL;
-  FrogrMainView *mainview = NULL;
   FrogrModel *model = NULL;
   GSList *tags_list = NULL;
 
   controller = frogr_controller_get_instance ();
   priv = FROGR_CONTROLLER_GET_PRIVATE (controller);
-  mainview = priv->mainview;
 
   /* Keep the source while internally busy */
   if (priv->fetching_tags && frogr_config_get_tags_autocompletion (priv->config))
     return G_SOURCE_CONTINUE;
 
-  frogr_main_view_hide_progress (mainview);
-
   model = frogr_main_view_get_model (priv->mainview);
   tags_list = frogr_model_get_tags (model);
 
@@ -2102,20 +2100,16 @@ _show_add_tags_dialog_on_idle (GSList *pictures)
 {
   FrogrController *controller = NULL;
   FrogrControllerPrivate *priv = NULL;
-  FrogrMainView *mainview = NULL;
   FrogrModel *model = NULL;
   GSList *tags_list = NULL;
 
   controller = frogr_controller_get_instance ();
   priv = FROGR_CONTROLLER_GET_PRIVATE (controller);
-  mainview = priv->mainview;
 
   /* Keep the source while internally busy */
   if (priv->fetching_tags && frogr_config_get_tags_autocompletion (priv->config))
       return G_SOURCE_CONTINUE;
 
-  frogr_main_view_hide_progress (mainview);
-
   model = frogr_main_view_get_model (priv->mainview);
   tags_list = frogr_model_get_tags (model);
 
@@ -2134,20 +2128,16 @@ _show_create_new_set_dialog_on_idle (GSList *pictures)
 {
   FrogrController *controller = NULL;
   FrogrControllerPrivate *priv = NULL;
-  FrogrMainView *mainview = NULL;
   FrogrModel *model = NULL;
   GSList *photosets = NULL;
 
   controller = frogr_controller_get_instance ();
   priv = FROGR_CONTROLLER_GET_PRIVATE (controller);
-  mainview = priv->mainview;
 
   /* Keep the source while internally busy */
   if (priv->fetching_photosets)
       return G_SOURCE_CONTINUE;
 
-  frogr_main_view_hide_progress (mainview);
-
   model = frogr_main_view_get_model (priv->mainview);
   photosets = frogr_model_get_photosets (model);
 
@@ -2165,20 +2155,16 @@ _show_add_to_set_dialog_on_idle (GSList *pictures)
 {
   FrogrController *controller = NULL;
   FrogrControllerPrivate *priv = NULL;
-  FrogrMainView *mainview = NULL;
   FrogrModel *model = NULL;
   GSList *photosets = NULL;
 
   controller = frogr_controller_get_instance ();
   priv = FROGR_CONTROLLER_GET_PRIVATE (controller);
-  mainview = priv->mainview;
 
   /* Keep the source while internally busy */
   if (priv->fetching_photosets)
       return G_SOURCE_CONTINUE;
 
-  frogr_main_view_hide_progress (mainview);
-
   model = frogr_main_view_get_model (priv->mainview);
   photosets = frogr_model_get_photosets (model);
 
@@ -2199,20 +2185,16 @@ _show_add_to_group_dialog_on_idle (GSList *pictures)
 {
   FrogrController *controller = NULL;
   FrogrControllerPrivate *priv = NULL;
-  FrogrMainView *mainview = NULL;
   FrogrModel *model = NULL;
   GSList *groups = NULL;
 
   controller = frogr_controller_get_instance ();
   priv = FROGR_CONTROLLER_GET_PRIVATE (controller);
-  mainview = priv->mainview;
 
   /* Keep the source while internally busy */
   if (priv->fetching_groups)
       return G_SOURCE_CONTINUE;
 
-  frogr_main_view_hide_progress (mainview);
-
   model = frogr_main_view_get_model (priv->mainview);
   groups = frogr_model_get_groups (model);
 



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