Srinivasa Ragavan [Tue, 10 Jan 2012 11:21:30 +0000 (16:51 +0530)]
Add flags to the Provider and code for mobile mode in settings.
Srinivasa Ragavan [Tue, 10 Jan 2012 11:07:26 +0000 (16:37 +0530)]
Add sync+async apis for Fetch Messages and Purge Message Cache.
Srinivasa Ragavan [Mon, 9 Jan 2012 07:25:14 +0000 (12:55 +0530)]
Add auto_fetch param to avoid autofetching next mails. In Daemon we
download in reverse order and this havocs network usage.
Matthew Barnes [Wed, 1 Feb 2012 17:51:30 +0000 (12:51 -0500)]
IMAPX: #include <camel/camel.h> -- not <camel.h>
Matthew Barnes [Wed, 1 Feb 2012 17:45:48 +0000 (12:45 -0500)]
Add wrapper functions for CamelIMAPXCommand queues.
These simple GQueue wrapper functions help make sure CamelIMAPXCommands
are properly reference counted. Easier than trying to identify all the
places in CamelIMAPXServer where reference counting is lacking.
Milan Crha [Wed, 1 Feb 2012 13:38:46 +0000 (14:38 +0100)]
Fix few memory leaks
Matthew Barnes [Tue, 31 Jan 2012 21:45:35 +0000 (16:45 -0500)]
CamelIMAPXJob: Split out "folder_name" data.
Define standalone CreateFolderData and DeleteFolderData structs and
"free" functions.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Tue, 31 Jan 2012 21:38:48 +0000 (16:38 -0500)]
CamelIMAPXJob: Split out "rename_folder" data.
Define a standalone RenameFolderData struct and "free" function.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Tue, 31 Jan 2012 21:32:42 +0000 (16:32 -0500)]
CamelIMAPXJob: Split out "manage_subscriptions" data.
Define a standalone ManageSubscriptionsData struct and "free" function.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Tue, 31 Jan 2012 21:17:31 +0000 (16:17 -0500)]
CamelIMAPXJob: Split out "list" data.
Define a standalone ListData struct and "free" function.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Tue, 31 Jan 2012 20:58:37 +0000 (15:58 -0500)]
CamelIMAPXJob: Split out "copy_messages" data.
Define a standalone CopyMessagesData struct and "free" function.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Tue, 31 Jan 2012 20:39:20 +0000 (15:39 -0500)]
CamelIMAPXJob: Split out "append_message" data.
Define a standalone AppendMessageData struct and "free" function.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Tue, 31 Jan 2012 19:54:07 +0000 (14:54 -0500)]
CamelIMAPXJob: Split out "sync_changes" data.
Define a standalone SyncChangesData struct and "free" function.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Tue, 31 Jan 2012 19:23:40 +0000 (14:23 -0500)]
CamelIMAPXJob: Split out "refresh_info" data.
Define a standalone RefreshInfoData struct and "free" function.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Tue, 31 Jan 2012 18:29:51 +0000 (13:29 -0500)]
CamelIMAPXJob: Split out "get_message" data.
Define a standalone GetMessageData struct and "free" function.
Use camel_imapx_job_set_data() to attach an allocated struct to a
CamelIMAPXJob such that it will be freed along with the job.
Use camel_imapx_job_get_data() to obtain a pointer to the allocated
struct as needed, always with a NULL check for safety.
Matthew Barnes [Mon, 30 Jan 2012 20:33:07 +0000 (15:33 -0500)]
CamelIMAPXJob: Add optional matches() method.
Trying to avoid checking all job types in one place as is done in
imapx_job_matches(), so CamelIMAPXJob is more extensible.
camel_imapx_job_matches() is a new wrapper function that invokes the
matches() method if present or else returns FALSE.
Matthew Barnes [Mon, 30 Jan 2012 19:29:44 +0000 (14:29 -0500)]
Rename imapx_job_done() to imapx_unregister_job().
Obvious now that it's to be paired with imapx_register_job().
Matthew Barnes [Mon, 30 Jan 2012 19:26:34 +0000 (14:26 -0500)]
CamelIMAPXJob: Add camel_imapx_job_run().
Matthew Barnes [Mon, 30 Jan 2012 18:44:33 +0000 (13:44 -0500)]
CamelIMAPXJob: Swap arguments for start() method.
This is a CamelIMAPXJob method so list CamelIMAPXJob first.
Matthew Barnes [Mon, 30 Jan 2012 18:42:19 +0000 (13:42 -0500)]
Split off CamelIMAPXJob to a separate file.
Further splitting up camel-imapx-server.c into digestible pieces.
Daniel Mustieles [Tue, 31 Jan 2012 16:48:00 +0000 (17:48 +0100)]
Updated Spanish translation
Milan Crha [Tue, 31 Jan 2012 14:46:46 +0000 (15:46 +0100)]
Bug #668811 - EBookBackendSqliteDB can be asked for an unknown contact
Milan Crha [Mon, 30 Jan 2012 18:25:41 +0000 (19:25 +0100)]
Bug #669003 - CalDAV: Cannot modify calendar object (libical 0.48)
Milan Crha [Mon, 30 Jan 2012 17:04:06 +0000 (18:04 +0100)]
Bug #669005 - Partial hang with unresponsive HTML email image source
Milan Crha [Mon, 30 Jan 2012 13:06:55 +0000 (14:06 +0100)]
Bug #649141 - Return only system timezones known to libical
Chao-Hsiung Liao [Mon, 30 Jan 2012 11:17:35 +0000 (19:17 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)
Piotr Drąg [Sun, 29 Jan 2012 20:27:57 +0000 (21:27 +0100)]
Updated POTFILES.in
Daniel Mustieles [Sun, 29 Jan 2012 20:03:38 +0000 (21:03 +0100)]
Updated Spanish translation
Matthew Barnes [Sun, 29 Jan 2012 18:03:05 +0000 (13:03 -0500)]
Kill CamelDList (finally).
Let's leave custom linked lists for school assignments, shall we?
Matthew Barnes [Sun, 29 Jan 2012 16:25:11 +0000 (11:25 -0500)]
CamelIMAPXServer: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matthew Barnes [Sat, 28 Jan 2012 23:47:55 +0000 (18:47 -0500)]
camel-index-control.c: Remove an unnecessary #include.
Matthew Barnes [Sat, 28 Jan 2012 23:34:01 +0000 (18:34 -0500)]
CamelOfflineJournal: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matthew Barnes [Sat, 28 Jan 2012 23:18:36 +0000 (18:18 -0500)]
CamelTextIndex: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matthew Barnes [Sat, 28 Jan 2012 23:07:12 +0000 (18:07 -0500)]
CamelMsg: Remove unused 'ln' member.
Matthew Barnes [Sat, 28 Jan 2012 19:15:27 +0000 (14:15 -0500)]
CamelBlockFile: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matthew Barnes [Sat, 28 Jan 2012 18:01:55 +0000 (13:01 -0500)]
camel-iconv.c: Use G_LOCK_DEFINE_STATIC.
Matthew Barnes [Sat, 28 Jan 2012 17:55:50 +0000 (12:55 -0500)]
camel-iconv.c: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matthew Barnes [Sat, 28 Jan 2012 17:09:07 +0000 (12:09 -0500)]
CamelFilterDriver: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matthew Barnes [Sat, 28 Jan 2012 16:34:24 +0000 (11:34 -0500)]
CamelCipherValidity: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
This increments libcamel's soname.
Matthew Barnes [Sat, 28 Jan 2012 16:11:03 +0000 (11:11 -0500)]
CamelImapSearch: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matthew Barnes [Sat, 28 Jan 2012 16:03:58 +0000 (11:03 -0500)]
CamelMaildirStore: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matthew Barnes [Sat, 28 Jan 2012 15:57:32 +0000 (10:57 -0500)]
CamelPOP3Engine: Use GQueues instead of CamelDLists.
GQueue has a more intuitive API.
Matej Urbančič [Sat, 28 Jan 2012 20:04:22 +0000 (21:04 +0100)]
Updated Slovenian translation
Kjartan Maraas [Sat, 28 Jan 2012 14:39:01 +0000 (15:39 +0100)]
Updated Norwegian bokmål translation
Matthew Barnes [Fri, 27 Jan 2012 23:17:27 +0000 (18:17 -0500)]
CamelIMAPXCommandPart: Remove unused 'parent' member.
Piotr Drąg [Fri, 27 Jan 2012 22:39:21 +0000 (23:39 +0100)]
Updated POTFILES.in
Matthew Barnes [Fri, 27 Jan 2012 21:31:06 +0000 (16:31 -0500)]
CamelIMAPXCommandFunc: Add a GError parameter.
Completion callbacks now get passed a GError and return a boolean.
In most cases calling camel_imapx_command_set_error_if_failed() is
sufficient. The GError pointer passed to the callback may be NULL
if the server already knows an error occurred.
Matthew Barnes [Fri, 27 Jan 2012 19:46:10 +0000 (14:46 -0500)]
Add camel_imapx_command_set_error_if_failed().
If the CamelIMAPXCommand's status indicates failure, set the given
GError and return TRUE. If no status is present (e.g. command not
complete) or the status is "OK", return FALSE.
This also drops the GError member from CamelIMAPXCommand, so that all
GErrors are now set on the command's CamelIMAPXJob.
Matthew Barnes [Fri, 27 Jan 2012 18:42:23 +0000 (13:42 -0500)]
CamelIMAPXCommand: Lose the GCancellable member.
Pass it around explicitly, or use the one in CamelIMAPXJob.
Matthew Barnes [Fri, 27 Jan 2012 18:22:50 +0000 (13:22 -0500)]
imapx_command_run_sync(): Take a GCancellable and GError explicitly.
Matthew Barnes [Fri, 27 Jan 2012 17:16:56 +0000 (12:16 -0500)]
CamelIMAPXCommand: Encapsulate some struct members.
Use a private CamelIMAPXRealCommand struct to keep some members hidden.
Add functions as necessary to interact with private struct members.
Matthew Barnes [Fri, 27 Jan 2012 16:12:08 +0000 (11:12 -0500)]
CamelIMAPXCommand: Use a GString.
The TODO comment was right: building the command part with a GString
instead of a CamelMemStream is much easier (and probably faster, not
that it matters).
Matthew Barnes [Fri, 27 Jan 2012 18:13:43 +0000 (13:13 -0500)]
imapx_command_start(): Take a GCancellable and GError explicitly.
Matthew Barnes [Fri, 27 Jan 2012 17:49:11 +0000 (12:49 -0500)]
camel_imapx_run(): Take a GCancellable and GError explicitly.
Matthew Barnes [Fri, 27 Jan 2012 15:04:30 +0000 (10:04 -0500)]
Split off CamelIMAPXCommand to a separate file.
camel-imapx-server.c is too large for anyone to fully grok.
Matthew Barnes [Fri, 27 Jan 2012 17:52:19 +0000 (12:52 -0500)]
CamelIMAPXServer: Coding style fix.
Matthew Barnes [Wed, 25 Jan 2012 15:43:40 +0000 (10:43 -0500)]
store_get_inbox_folder_sync: Add a NULL check.
Verify the get_folder_sync() method is implemented before invoking it.
Milan Crha [Wed, 25 Jan 2012 10:27:56 +0000 (11:27 +0100)]
CamelStoreSummary: Schedule save rather than save immediately
There was a regression from commit
5c52fe678f6d, marking multiple
messages read/unread invoked save on each single message change, which
had a) performance impact, b) did unnecessary disk writes (with fsync()
calls). This change fixes it by scheduling save, postponing it
by 5 seconds from the last connected CamelFolderSummary's count change.
Kjartan Maraas [Tue, 24 Jan 2012 09:46:33 +0000 (10:46 +0100)]
Updated Norwegian bokmål translation
Matthew Barnes [Mon, 23 Jan 2012 21:40:42 +0000 (16:40 -0500)]
CamelIMAPXConnManager: Add a parting thought.
Matthew Barnes [Mon, 23 Jan 2012 18:42:58 +0000 (13:42 -0500)]
CamelIMAPXConnManager: Use a reader/writer lock.
Replace CamelIMAPXConnManager's recursive lock with a reader/writer
lock. Read operations should be short and simple, write operations
may be long and complex.
Also check for cancellation in camel_imapx_conn_manager_get_connection()
after acquiring the writer lock but before attempting to requisition a
CamelIMAPXServer.
Matthew Barnes [Mon, 23 Jan 2012 18:11:13 +0000 (13:11 -0500)]
CamelIMAPXConnManager: Similarly for connection list operations.
Define a bunch of simple thread-safe operations for the list:
imapx_conn_manager_list_info
imapx_conn_manager_lookup_info
imapx_conn_manager_remove_info
* Note: lookup_info() returns a new ConnectionInfo reference, and
list_info() returns a new GList of ConnectionInfo structs,
each with a new reference
Also rewrite imapx_find_connection() to make the logic clearer.
(Had to stare at that function for a long time to understand it.)
Matthew Barnes [Mon, 23 Jan 2012 16:31:33 +0000 (11:31 -0500)]
CamelIMAPXConnManager: Give ConnectionInfo its own mutex.
Define a bunch of simple thread-safe operations for it:
connection_info_is_available
connection_info_has_folder_name
connection_info_insert_folder_name
connection_info_remove_folder_name
connection_info_dup_selected_folder
connection_info_set_selected_folder
Matthew Barnes [Mon, 23 Jan 2012 15:25:01 +0000 (10:25 -0500)]
CamelIMAPXConnManager: Give ConnectionInfo a reference count.
Add lifecycle functions for it:
ConnectionInfo * connection_info_new (CamelIMAPXServer *is)
ConnectionInfo * connection_info_ref (ConnectionInfo *cinfo)
void connection_info_unref (ConnectionInfo *cinfo)
Now we can perform list operations without holding CON_LOCK for so long.
Matthew Barnes [Mon, 23 Jan 2012 15:11:47 +0000 (10:11 -0500)]
CamelIMAPXConnManager: Miscellaneous cleanups.
Always name CamelIMAPXServer variables 'is', to be consistent with
CamelIMAPXServer itself.
Matthew Barnes [Sun, 22 Jan 2012 16:53:46 +0000 (11:53 -0500)]
CamelIMAPXJob: Clarify 'with_operation_msg' field.
Rename it 'pop_operation_msg' and add a comment.
Matthew Barnes [Sun, 22 Jan 2012 16:48:52 +0000 (11:48 -0500)]
Remove imapx_job_can_operation_msg().
Not needed. camel_operation_push_message() already gracefully handles
'cancellable' being either NULL or a plain GCancellable.
Matthew Barnes [Sun, 22 Jan 2012 00:00:13 +0000 (19:00 -0500)]
CamelIMAPXServer: Use g_list_free_full().
Matthew Barnes [Sat, 21 Jan 2012 23:34:01 +0000 (18:34 -0500)]
Use a consistent variable name for CamelIMAPXServer.
Matthew Barnes [Sat, 21 Jan 2012 23:03:19 +0000 (18:03 -0500)]
imapx: Simplify parse_contents().
Matthew Barnes [Sat, 21 Jan 2012 22:59:09 +0000 (17:59 -0500)]
imapx_step: Return a success boolean.
Matthew Barnes [Sat, 21 Jan 2012 22:57:21 +0000 (17:57 -0500)]
imapx_continuation: Return a success boolean.
Matthew Barnes [Sat, 21 Jan 2012 22:54:12 +0000 (17:54 -0500)]
imapx_untagged: Return a success boolean.
Matthew Barnes [Sat, 21 Jan 2012 22:48:57 +0000 (17:48 -0500)]
imapx_completion: Return a success boolean.
Daniel Mustieles [Sun, 22 Jan 2012 19:57:01 +0000 (20:57 +0100)]
Updated Spanish translation
Matej Urbančič [Sat, 21 Jan 2012 20:01:52 +0000 (21:01 +0100)]
Updated Slovenian translation
Matthew Barnes [Sat, 21 Jan 2012 15:53:52 +0000 (10:53 -0500)]
CamelSession: Avoid spurious "notify::online" signals.
Matthew Barnes [Sat, 21 Jan 2012 15:19:03 +0000 (10:19 -0500)]
imapx_refresh_finfo: Push a status message.
Daniel Mustieles [Sat, 21 Jan 2012 10:54:56 +0000 (11:54 +0100)]
Updated Spanish translation
Matthew Barnes [Sat, 21 Jan 2012 05:33:40 +0000 (00:33 -0500)]
CamelVeeFolder: Process folder changes more efficiently.
CamelVeeFolder submits a new background job every time it receives a
CamelFolder::changed signal. So the background jobs tend to pile up,
and there's no guarantee the jobs will be dispatched in the order
they were submitted since they're dispatched from a thread pool.
Instead, run one background job at a time, and have the job process
FolderChangedData from a queue until the queue is empty. If another
CamelFolder::changed signal is received while the background job is
still running, the changes are simply be appended to the queue.
Matthew Barnes [Sat, 21 Jan 2012 03:42:40 +0000 (22:42 -0500)]
CamelVeeFolder: Push a status message while updating.
Milan Crha [Fri, 20 Jan 2012 10:33:20 +0000 (11:33 +0100)]
Bug #666764 - SQL error migrating folders
Matthew Barnes [Tue, 17 Jan 2012 17:34:07 +0000 (12:34 -0500)]
Camel: Clarify ownership of returned CamelProviders.
Milan Crha [Tue, 17 Jan 2012 13:33:55 +0000 (14:33 +0100)]
CamelStoreSummary: Save count changes from CamelFolderSummary immediately
Matthew Barnes [Mon, 16 Jan 2012 15:26:21 +0000 (10:26 -0500)]
Post-release version bump.
Matthew Barnes [Mon, 16 Jan 2012 15:10:51 +0000 (10:10 -0500)]
NEWS update for 3.3.4 release.
Fran Diéguez [Sat, 14 Jan 2012 23:21:56 +0000 (00:21 +0100)]
Updated Galician translations
Philip Withnall [Thu, 5 Jan 2012 22:27:02 +0000 (22:27 +0000)]
Bug 667388 — Introspection annotation fixes for nullable return types
Add some missing (allow-none) annotations, as well as some (transfer full)
annotations, to libebook and libedataserver. Update the documentation to
match, and to be a little more descriptive in places.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=667388
Ryan Lortie [Wed, 11 Jan 2012 14:56:51 +0000 (09:56 -0500)]
Bug 667698: vapigen: fix builddir != srcdir issue
Ihar Hrachyshka [Mon, 9 Jan 2012 21:46:48 +0000 (00:46 +0300)]
Updated Belarusian translation.
Milan Crha [Mon, 9 Jan 2012 17:52:33 +0000 (18:52 +0100)]
Bug #644817 - Slow addressbook cache
Kjartan Maraas [Fri, 6 Jan 2012 19:37:56 +0000 (20:37 +0100)]
Updated Norwegian bokmål translation
Daniel Mustieles [Fri, 6 Jan 2012 19:31:12 +0000 (20:31 +0100)]
Updated Spanish translation
Milan Crha [Fri, 6 Jan 2012 17:57:35 +0000 (18:57 +0100)]
Bug #638810 - Crash in camel_folder_search_set_folder with IMAP account
Matthew Barnes [Fri, 6 Jan 2012 17:16:57 +0000 (12:16 -0500)]
imap_folder_dispose(): Disconnect the summary first.
Disconnect the folder summary before destroying any internal members,
since disconnecting may take awhile to run.
Matthew Barnes [Fri, 6 Jan 2012 17:12:53 +0000 (12:12 -0500)]
CamelFolderSearch: Add argument guards to set() functions.
Milan Crha [Fri, 6 Jan 2012 12:48:12 +0000 (13:48 +0100)]
Bug #666757 - [CalDAV] Manage authentication requests even after open
Milan Crha [Wed, 4 Jan 2012 13:52:36 +0000 (14:52 +0100)]
Bug #665036 - Memory leaks spot in Contacts view
Matthew Barnes [Tue, 3 Jan 2012 14:25:27 +0000 (09:25 -0500)]
Camel: Use thread-safe accessors for string settings.
Matthew Barnes [Tue, 3 Jan 2012 05:34:11 +0000 (00:34 -0500)]
Camel: Add thread-safe accessors for string settings