Commit Graph

1211 Commits

Author SHA1 Message Date
c10235e6dd EMailParserExtension: Convert get_flags() to an enum field.
Of the parser extensions that override get_flags(), they all return a
fixed set of flags.  So we don't need an instance of the extension to
obtain its flags.  Just make it an EMailParserExtensionFlags field in
the class structure.
2012-12-07 14:01:05 -05:00
cab6eac8f1 Convert EMailParserExtension to an abstract class.
With the previous changes, all parser extensions derive from
GObjectClass and implement the EMailParserExtensionInterface.

Simplify things further by making EMailParserExtension an abstract base
class so parser extensions are now just direct subclasses and need not
bother with implementing GObject interfaces.
2012-12-07 14:01:05 -05:00
d9699159f0 EMailFormatterExtension: Convert get_description() to a string field.
Of the formatter extensions that provide a description, they all use a
static string.  So we don't need an instance of the extension to obtain
its description.  Just make it a string field in the class structure.
2012-12-07 14:01:05 -05:00
7885426c2b EMailFormatterExtension: Convert get_display_name() to a string field.
Of the formatter extensions that provide a display name, they all use a
static string.  So we don't need an instance of the extension to obtain
its display name.  Just make it a string field in the class structure.
2012-12-07 14:01:05 -05:00
00b211b0f5 Convert EMailFormatterExtension to an abstract class.
With the previous changes, all formatter extensions derive from
GObjectClass and implement the EMailFormatterExtensionInterface.

Simplify things further by making EMailFormatterExtension an abstract
base class so formatter extensions are now just direct subclasses and
need not bother with implementing GObject interfaces.
2012-12-07 14:01:05 -05:00
54455ca1ad Remove EMailExtension.
EMailExtension is now too trivial to keep as a standalone interface.
Add a 'mime_types' string array to the EMailFormatterExtension and
EMailFormatterParser interface structs.

Alter e_mail_extension_registry_add_extension() to take a 'mime_types'
string array and the GType of an extension to instantiate, rather than
the extension instance directly.

e_mail_extension_registry_remove_extension() is no longer needed.
2012-12-07 14:01:05 -05:00
9d34f72ec1 EMailExtension: Replace mime_types() method with a string array.
In all implementations for EMailExtension, the MIME type list is a
static string array -- with the single exception of the text-highlight
module, where the MIME type list is dynamically assembled once.

Replace the mime_types() method with a "mime_types" string array in the
EMailExtensionInterface struct.  Then the list of MIME types supported
by the class implementing the EMailExtensionInterface can be obtained
without requiring an instance of the class.
2012-12-07 14:01:04 -05:00
3924dc759d EMailParserExtension: Collect EMailParts in a GQueue.
Collect EMailParts in a GQueue provided to the EMailParserExtension,
and change the return type of parse() to gboolean to indicate whether
the given CamelMimePart was handled (even if no parts were added to
the output GQueue).

This avoids the awkward corner case of a parser extension returning a
linked list node with a NULL data member to indicate the CamelMimePart
was handled but no EMailParts produced, and then having to watch out
for that NULL data member corner case throughout the application.

Also, remove the GCancellable parameter from e_mail_parser_error() and
e_mail_parser_wrap_as_attachment() since neither function blocks.
2012-12-07 14:01:04 -05:00
91822b42dc Make EMailPartList thread-safe.
Exposing data members in the public struct is unwise, especially when
EMailPartList is used from multiple threads.  Instead keep the members
private and provide a set of thread-safe functions to manipulate them.
2012-12-07 14:01:04 -05:00
2f0d83cf74 EMailFormatterContext: Keep a reference to EMailPartList.
Replace the individual components of an EMailPartList with a reference
on the EMailPartList itself in EMailFormatContext.  Easier to manage.
2012-12-07 14:01:04 -05:00
ae6344a22b Bug #315317 - Add option to expunge messages on folder leave 2012-12-04 19:33:29 +01:00
ab3f65a15e Address couple issues found by a Coverity scan 2012-11-30 15:30:45 +01:00
d2fb5ee1a8 Avoid using GdkEventButton directly in certain places.
Prefer dealing with GdkEvent pointers and using accessor functions like
gdk_event_get_button().

This is complicated by the fact that some GtkWidget method declarations
still use GdkEventButton pointers, and synthesizing button events pretty
much requires direct GdkEventButton access.  But GDK seems to be nudging
itself toward sealing the GdkEvent union.  Likely to happen in GDK4.

Mainly clean up signal handlers and leave method overrides alone for now.
2012-11-29 13:24:24 -05:00
0b9efdacc1 Avoid gdk_cursor_unref().
Use g_object_unref() instead.
2012-11-29 09:12:30 -05:00
8355f29a5d Bug #671628 - Size of backup window is big 2012-11-28 16:22:21 +01:00
4c699e7e03 Identify calendar/memo/task sources in error messages 2012-11-27 13:11:18 +01:00
f863be0153 Bug #680244 - CalDAV URL should be configured in once, not separated 2012-11-26 16:59:41 +01:00
dd958f0120 Bug #202576 - A way to refresh IMAP folder list 2012-11-22 16:18:51 +01:00
5c8be90447 Bug #680201 - Backup restore doesn't migrate accounts from GConf 2012-11-21 19:59:30 +01:00
2f02976588 Bug #687999 - 'Open calendar' in invitation email does nothing 2012-11-12 12:36:04 +01:00
303096a35e Bug 688084 - Cannot configure connection to webdav address book 2012-11-11 06:45:13 -05:00
2c4ae5e768 Coding style and whitespace cleanup. 2012-11-10 15:54:43 -05:00
f8e346731c Bug 687137 - Google account user name overwritten with email address
Evolution's Google account module was setting the ECollectionSource's
"identity" property to the account's email address before submitting the
account to E-D-S.  Meanwhile, the Google module in E-D-S was syncing the
account user name to the ECollectionSource's "identity" property.

This mismatch resulted in an explicitly specified GMail user name being
overwritten when the account information is submitted.  Evolution should
instead set the "identity" property to the account's user name.
2012-11-09 07:08:14 -05:00
75595d233b Bug #683877 - No more contextual menus for links 2012-11-08 17:27:37 +01:00
acd6a6aed8 Bug #686325 - Preview message window keyboard use severely limited 2012-11-07 19:31:20 +01:00
cd27672f61 Bug #656143 - Stop using deprecated Gtk[HV]Box(Class) 2012-11-06 18:33:37 +01:00
0bfb97d530 Replace deprecated soup_message_headers_get() with soup_message_headers_get_list() 2012-11-06 16:25:21 +01:00
704b78d23b Replace deprecated GLib symbols (as of GLib 2.34.x) 2012-11-06 16:21:37 +01:00
c64d09ebc5 Missing search buttons in Calendar view 2012-11-05 20:30:36 +01:00
d610562650 Bug 687400 - Composer settings not applied
EMailConfigWebView is an extension that configures EWebView instances.
This used to cover both the email formatter and the email composer, but
with the email formatter now using WebKit/GTK+ and the email composer
still using GtkHtml, the composer was left unconfigured.

Add an EMailConfigWebViewGtkHTML extension that targets EWebViewGtkHTML
instances and applies the relevant settings, and remove all the GtkHTML
contortions from EMailConfigWebView.
2012-11-03 11:00:24 -04:00
94eb069ea3 Bug #687442 - Magic spacebar avoids iTip formatter comment write 2012-11-02 15:18:10 +01:00
d3e3d93e81 Remove unused/forgotten function declarations 2012-11-02 11:36:42 +01:00
ac5d61b687 Bug #663844 - [CalDAV] Fails to parse iCloud XML response 2012-10-29 13:56:48 +01:00
aded0858c4 Prefer e_source_registry_check_enabled().
Prefer e_source_registry_check_enabled() over e_source_get_enabled()
for most instances where we want to exclude disabled data sources.
2012-10-25 13:01:50 -04:00
e7981244a6 Bug 686813 - ECaldavChooser: Deadlock on cancellation 2012-10-25 08:04:19 -04:00
66fdfbcf89 EMailShellView: Remove GroupWise-specific cruft.
The GroupWise backend is dead, and this logic never belonged here in the
first place.
2012-10-19 08:51:54 -04:00
32ca78553b Remove "Disable Account" menu item for GOA-based accounts.
GOA-based accounts must only be disabled from gnome-control-center.
2012-10-19 08:42:42 -04:00
3d06be9671 Bug #310978 - USENET always requires authentication 2012-10-18 12:50:10 +02:00
f2642ef707 Bug #201807 - Cannot specify sendmail parameters 2012-10-17 19:48:17 +02:00
b30295b408 Bug #686278 - Prefer-plain can break parts list 2012-10-17 12:07:05 +02:00
d84ba383ac Adapt to CamelJunkFilter API changes. 2012-10-16 11:24:06 -04:00
a902cc15ed Remove mail module's g_module_check_init().
Not needed anymore since all modules are resident nowadays.
2012-10-16 04:51:08 -04:00
b3e0c3c1dc Bug #663844 - [CalDAV] calendar-home-set/href may contain full URI 2012-10-15 19:09:58 +02:00
f81e89acbf Prefer e_source_extension_ref_source().
e_source_extension_get_source() is now deprecated.
2012-10-13 10:52:32 -04:00
1ed5b89c02 Prototype CamelSaslXOAuth2.
Untested, but conforms to the specification as well as I understand it.
2012-10-11 12:11:57 -04:00
1166789bd6 CamelSaslXOAuth: Further refinements.
To synchronize with the forthcoming XOAUTH2 prototype.
2012-10-11 12:11:50 -04:00
8f9ae36681 CamelSaslXOAuth: Use GHmac to sign the client request.
Also refactor the code to more closely resemble EGDataGoaAuthorizer.
2012-10-10 20:35:38 -04:00
6f038fba29 CamelSaslXOAuth: Remove unused GOA_KEY definition. 2012-10-10 15:57:57 -04:00
2b46866a5c Bug 685675 - Fix packing of spell check language options
Word-wrapped GtkLabels and GtkTables just don't seem to get along.
The vertical allocation for the GtkLabel was way too big.  Replace
the GtkTable with a GtkGrid.
2012-10-09 18:25:25 -04:00
4483209dba Bug 684691 - EMailConfigFormatHTML: Signal handler never disconnected
EMailConfigFormatHTML listens for "changed" signals from a GSettings
instance, passing itself as the 'user_data' to the signal handler.  But
the signal handler was left connected after EMailConfigFormatHTML was
finalized, resulting in the signal handler receiving a dangling pointer.

Not using g_signal_connect_object() here because of the unresolved
reference leak issue in GObject.  The GSettings instance is likely
cached internally and lives well beyond the EMailConfigFormatHTML.
2012-10-09 16:56:42 -04:00