[evolution-data-server] Revert "Bug 790635 - Show feedback on message download for offline after going online"
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Revert "Bug 790635 - Show feedback on message download for offline after going online"
- Date: Tue, 28 Nov 2017 07:48:13 +0000 (UTC)
commit 23fb175a802e7fdb752ef79f2535e5b27083a2cc
Author: Milan Crha <mcrha redhat com>
Date: Tue Nov 28 08:48:17 2017 +0100
Revert "Bug 790635 - Show feedback on message download for offline after going online"
This reverts commit 7491dd9c0da7c745985e8b92121d3c5fc4831e6f.
src/camel/camel-offline-folder.c | 105 ++++++++++++++------------------------
src/camel/camel-offline-folder.h | 3 -
src/camel/camel-offline-store.c | 2 +-
3 files changed, 39 insertions(+), 71 deletions(-)
---
diff --git a/src/camel/camel-offline-folder.c b/src/camel/camel-offline-folder.c
index 7954568..33d8f57 100644
--- a/src/camel/camel-offline-folder.c
+++ b/src/camel/camel-offline-folder.c
@@ -167,7 +167,7 @@ offline_folder_downsync_background (CamelSession *session,
gchar *expression = NULL;
if (limit_time > 0)
- expression = g_strdup_printf ("(match-all (> (get-sent-date) %" G_GINT64_FORMAT "))",
limit_time);
+ expression = g_strdup_printf ("(match-all (> (get-sent-date) %" G_GINT64_FORMAT ")",
limit_time);
camel_offline_folder_downsync_sync (
CAMEL_OFFLINE_FOLDER (data->folder),
@@ -287,8 +287,43 @@ static void
offline_folder_changed (CamelFolder *folder,
CamelFolderChangeInfo *changes)
{
- if (changes)
- camel_offline_folder_schedule_downsync (CAMEL_OFFLINE_FOLDER (folder), changes);
+ CamelStore *store;
+ CamelSession *session;
+
+ store = camel_folder_get_parent_store (folder);
+ session = camel_service_ref_session (CAMEL_SERVICE (store));
+
+ if (!session)
+ return;
+
+ if (changes && changes->uid_added->len > 0 && camel_offline_folder_can_downsync (CAMEL_OFFLINE_FOLDER
(folder))) {
+ OfflineDownsyncData *data;
+ gchar *description;
+
+ data = g_slice_new0 (OfflineDownsyncData);
+ data->changes = camel_folder_change_info_new ();
+ camel_folder_change_info_cat (data->changes, changes);
+ data->folder = g_object_ref (folder);
+
+ /* Translators: The first “%s” is replaced with an account name and the second “%s”
+ is replaced with a full path name. The spaces around “:” are intentional, as
+ the whole “%s : %s” is meant as an absolute identification of the folder. */
+ description = g_strdup_printf (_("Checking download of new messages for offline in “%s :
%s”"),
+ camel_service_get_display_name (CAMEL_SERVICE (camel_folder_get_parent_store
(folder))),
+ camel_folder_get_full_name (folder));
+
+ camel_session_submit_job (
+ session, description, (CamelSessionCallback)
+ offline_folder_downsync_background, data,
+ (GDestroyNotify) offline_downsync_data_free);
+
+ g_free (description);
+ }
+
+ g_object_unref (session);
+
+ if (changes && changes->uid_changed && changes->uid_changed->len > 0)
+ offline_folder_maybe_schedule_folder_change_store (CAMEL_OFFLINE_FOLDER (folder));
}
static void
@@ -702,67 +737,3 @@ camel_offline_folder_downsync_finish (CamelOfflineFolder *folder,
return g_task_propagate_boolean (G_TASK (result), error);
}
-
-/**
- * camel_offline_folder_schedule_downsync:
- * @offline_folder: a #CamelOfflineFolder
- * @changes: (nullable): options #CamelFolderChangeInfo for the @offline_folder, or %NULL
- *
- * Schedules synchronization for offline for the @offline_folder, if it's set to
- * synchronize for offline. The @changes can be used to limit what messages will
- * be considered. If it's %NULL, then the folder content will be checked.
- *
- * The request, if scheduled, is done as a #CamelSession job.
- *
- * Since: 3.28
- **/
-void
-camel_offline_folder_schedule_downsync (CamelOfflineFolder *offline_folder,
- CamelFolderChangeInfo *changes)
-{
- CamelStore *store;
- CamelFolder *folder;
- CamelSession *session;
-
- g_return_if_fail (CAMEL_IS_OFFLINE_FOLDER (offline_folder));
-
- folder = CAMEL_FOLDER (offline_folder);
- store = camel_folder_get_parent_store (folder);
- session = camel_service_ref_session (CAMEL_SERVICE (store));
-
- if (!session)
- return;
-
- if ((!changes || (changes && changes->uid_added->len > 0)) &&
- camel_offline_folder_can_downsync (offline_folder)) {
- OfflineDownsyncData *data;
- gchar *description;
-
- data = g_slice_new0 (OfflineDownsyncData);
- if (changes) {
- data->changes = camel_folder_change_info_new ();
- camel_folder_change_info_cat (data->changes, changes);
- }
-
- data->folder = g_object_ref (folder);
-
- /* Translators: The first “%s” is replaced with an account name and the second “%s”
- is replaced with a full path name. The spaces around “:” are intentional, as
- the whole “%s : %s” is meant as an absolute identification of the folder. */
- description = g_strdup_printf (_("Checking download of new messages for offline in “%s :
%s”"),
- camel_service_get_display_name (CAMEL_SERVICE (camel_folder_get_parent_store
(folder))),
- camel_folder_get_full_name (folder));
-
- camel_session_submit_job (
- session, description, (CamelSessionCallback)
- offline_folder_downsync_background, data,
- (GDestroyNotify) offline_downsync_data_free);
-
- g_free (description);
- }
-
- g_object_unref (session);
-
- if (changes && changes->uid_changed && changes->uid_changed->len > 0)
- offline_folder_maybe_schedule_folder_change_store (CAMEL_OFFLINE_FOLDER (folder));
-}
diff --git a/src/camel/camel-offline-folder.h b/src/camel/camel-offline-folder.h
index 31c97fd..4d04344 100644
--- a/src/camel/camel-offline-folder.h
+++ b/src/camel/camel-offline-folder.h
@@ -93,9 +93,6 @@ gboolean camel_offline_folder_downsync_finish
(CamelOfflineFolder *folder,
GAsyncResult *result,
GError **error);
-void camel_offline_folder_schedule_downsync
- (CamelOfflineFolder *oflfine_folder,
- CamelFolderChangeInfo *changes);
G_END_DECLS
diff --git a/src/camel/camel-offline-store.c b/src/camel/camel-offline-store.c
index 9d2417e..959f0ab 100644
--- a/src/camel/camel-offline-store.c
+++ b/src/camel/camel-offline-store.c
@@ -237,7 +237,7 @@ camel_offline_store_set_online_sync (CamelOfflineStore *store,
offline_folder = CAMEL_OFFLINE_FOLDER (folder);
if (camel_offline_folder_can_downsync (offline_folder))
- camel_offline_folder_schedule_downsync (offline_folder, NULL);
+ camel_offline_folder_downsync_sync (offline_folder, NULL, cancellable, NULL);
}
if (folders) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]