Alexander Larsson [Tue, 7 Feb 2012 15:21:01 +0000 (09:21 -0600)]
Bug 669487 - Fix up online notification (part 1)
Make E-D-S listen to the "start-offline" GSettings key (not GConf),
since Evolution no longer sets the GConf key.
Unfortunately we can't rely on the schema from Evolution, so we install
our own minimal schema that refers to the same DConf path as the
Evolution one. This allows us to share state with no dependency issues.
This is a temporary solution for 3.4 only, to be removed in 3.5.
Milan Crha [Tue, 7 Feb 2012 14:15:35 +0000 (15:15 +0100)]
Bug #535978 - Filtering on IMAP accounts causes message to be downloaded
Milan Crha [Tue, 7 Feb 2012 13:35:17 +0000 (14:35 +0100)]
Bug #553796 - Unable to Reset Message Color
Milan Crha [Tue, 7 Feb 2012 12:46:09 +0000 (13:46 +0100)]
Bug #485283 - Filter is not working for mix letter case
Milan Crha [Tue, 7 Feb 2012 11:55:59 +0000 (12:55 +0100)]
Bug #309945 - Ability to filter folders other than INBOX too
Alexander Larsson [Tue, 7 Feb 2012 11:26:52 +0000 (12:26 +0100)]
Fix google contacts going online after being offline
The google contacts backend has another error similar to bug 658911,
if it goes offline and then goes online it does request_auth(), but in
the case of existing GOA authentication that will never recieve the
authentication callback, so we never go !readonly.
This patch fixes that, and also fixes an issue in the fix in
bug 658911, where if its offline at startup it should not claim to be
!readonly.
https://bugzilla.gnome.org/show_bug.cgi?id=669557
Milan Crha [Tue, 7 Feb 2012 10:04:14 +0000 (11:04 +0100)]
Bug #669545 - Crash invoking filters in IMAP folder
Fran Diéguez [Sun, 5 Feb 2012 21:50:48 +0000 (22:50 +0100)]
Updated Galician translations
Matthew Barnes [Sun, 5 Feb 2012 16:55:28 +0000 (11:55 -0500)]
Fix version bump, next is 3.3.90.
Matthew Barnes [Sun, 5 Feb 2012 15:53:30 +0000 (10:53 -0500)]
Post-release version bump.
Matthew Barnes [Sun, 5 Feb 2012 15:47:01 +0000 (10:47 -0500)]
NEWS update for 3.3.5 release.
Srinivasa Ragavan [Fri, 3 Feb 2012 11:13:48 +0000 (16:43 +0530)]
Fix a typo where instead of saving the cache, uid is saved.
Srinivasa Ragavan [Fri, 3 Feb 2012 10:41:39 +0000 (16:11 +0530)]
Add a few missing return. On first time startup, latest id wont be
there. Handle the case to avoid a crash. Fixes bug #669293
Daniel Mustieles [Fri, 3 Feb 2012 09:27:17 +0000 (10:27 +0100)]
Updated Spanish translation
Punit Jain [Fri, 3 Feb 2012 07:02:56 +0000 (12:32 +0530)]
Bug #669238 Warning while creating appointments/meetings
Matej Urbančič [Thu, 2 Feb 2012 20:00:09 +0000 (21:00 +0100)]
Updated Slovenian translation
Kjartan Maraas [Thu, 2 Feb 2012 12:01:19 +0000 (13:01 +0100)]
Updated Norwegian bokmål translation
Kjartan Maraas [Thu, 2 Feb 2012 12:00:23 +0000 (13:00 +0100)]
Fix typo in localized string
Daniel Mustieles [Thu, 2 Feb 2012 11:23:24 +0000 (12:23 +0100)]
Updated Spanish translation
Srinivasa Ragavan [Thu, 2 Feb 2012 11:00:00 +0000 (16:30 +0530)]
Add some doc to the API.
Srinivasa Ragavan [Thu, 2 Feb 2012 10:53:40 +0000 (16:23 +0530)]
Fix a few compilation errors on merge.
Srinivasa Ragavan [Thu, 26 Jan 2012 13:09:43 +0000 (18:39 +0530)]
Fix a crash while fetching old messages.
Srinivasa Ragavan [Thu, 26 Jan 2012 05:57:50 +0000 (11:27 +0530)]
Fix a bug where mobile mode downloads all mails.
Srinivasa Ragavan [Thu, 12 Jan 2012 14:26:32 +0000 (19:56 +0530)]
Add mobile support to POP and fix a bug where uids are duplicated.
Srinivasa Ragavan [Thu, 12 Jan 2012 14:25:29 +0000 (19:55 +0530)]
Some disk I/O optimization.
Srinivasa Ragavan [Thu, 12 Jan 2012 14:21:34 +0000 (19:51 +0530)]
Make Local store work if GetFolderInfo is asked for a specific subtree.
Srinivasa Ragavan [Thu, 12 Jan 2012 10:17:22 +0000 (15:47 +0530)]
Decided return type based on the fetch type.
Srinivasa Ragavan [Thu, 12 Jan 2012 09:01:22 +0000 (14:31 +0530)]
Add mobile mode settings to POP3.
Srinivasa Ragavan [Thu, 12 Jan 2012 08:38:44 +0000 (14:08 +0530)]
Added Mobile support and specific apis to imapx.
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.