static gboolean on_progress_info_started_timeout (NautilusToolbar *self) { update_operations (self); /* In case we didn't show the operations button because the operation total * time stimation is not good enough, update again to make sure we don't miss * a long time operation because of that */ if (!nautilus_progress_manager_are_all_infos_finished_or_cancelled (self->priv->progress_manager)) { return G_SOURCE_CONTINUE; } else { self->priv->start_operations_timeout_id = 0; return G_SOURCE_REMOVE; } }
static gboolean on_progress_info_started_timeout (NautilusToolbar *self) { GList *progress_infos; GList *filtered_progress_infos; update_operations (self); /* In case we didn't show the operations button because the operation total * time stimation is not good enough, update again to make sure we don't miss * a long time operation because of that */ progress_infos = nautilus_progress_info_manager_get_all_infos (self->priv->progress_manager); filtered_progress_infos = get_filtered_progress_infos (self); if (!nautilus_progress_manager_are_all_infos_finished_or_cancelled (self->priv->progress_manager) && g_list_length (progress_infos) != g_list_length (filtered_progress_infos)) { g_list_free (filtered_progress_infos); return G_SOURCE_CONTINUE; } else { g_list_free (filtered_progress_infos); self->priv->start_operations_timeout_id = 0; return G_SOURCE_REMOVE; } }