aboutsummaryrefslogtreecommitdiffstats
path: root/modules
Commit message (Collapse)AuthorAgeFilesLines
* ETaskShellContent: Remove hard-coded default table state.Matthew Barnes2013-07-021-15/+0
| | | | | | | | I don't remember why E_TASK_TABLE_DEFAULT_STATE was needed when e-calendar-table.etspec already specifies a default ETableState. Some of the column numbers it was referencing weren't even valid. Removing it seems to make no difference in Evolution.
* EMemoShellContent: Remove hard-coded default table state.Matthew Barnes2013-07-021-14/+0
| | | | | | | I don't remember why E_MEMO_TABLE_DEFAULT_STATE was needed when e-memo-table.etspec already specifies a default ETableState. Removing it seems to make no difference in Evolution.
* Contacts view: Add 'Refresh' into books context menuMilan Crha2013-07-015-1/+91
| | | | Done as part of bug #700894
* Bug 702664 - Settings migration issue from "headers" to "show-headers"Matthew Barnes2013-06-212-2/+9
| | | | | Give the "show-headers" key a proper default value, and watch out for an empty "headers" key, which is supposed to imply that default value.
* Calendar views inline text edit with Ctrl+C/V/X does not workMilan Crha2013-06-214-0/+76
| | | | | | | | The shortcuts Ctrl+C/V/X are used for whole calendar items copy/paste/cut, not for text when editing event details inline, either in a day/week view or in a list view. By tracking the is-editing property of respective cell editor and using it when enabling/disabling clipboard actions makes the respective text operations work as expected.
* Convert ETreeModel to an interface.Matthew Barnes2013-06-161-2/+2
| | | | | | | | | | | | | | | | This commit does a number of things which I could not subdivide into smaller commits. * Converts ETreeModel to an interface, implemented by MessageList. * Drops ETreeMemory and ETreeMemoryCallbacks, which were ETreeModel subclasses. Their functionality is subsumed by MessageList. * MessageList drops its public ETreeModel pointer, since MessageList now implements ETreeModel as an interface. * Adds message_list_set_expanded_default(), which takes over for e_tree_memory_set_expanded_default().
* message_list_get_selected: Give the returned array a free func.Matthew Barnes2013-06-152-5/+5
| | | | | | The returned UID array now has a built-in "free" function for its elements and should be released by callers with g_ptr_array_unref() rather than em_utils_uids_free() or some equivalent.
* mdn: Fix a runtime warning.Matthew Barnes2013-06-151-4/+4
|
* Add e_mail_reader_ref_folder().Matthew Barnes2013-06-154-41/+77
| | | | Replaces e_mail_reader_get_folder().
* MessageList: Remove public 'hidejunk' and 'hidedeleted' flags.Matthew Barnes2013-06-151-21/+1
| | | | | | | | | Add internal functions to compute these as needed based on a given CamelFolder. Removed functions: message_list_set_hidedeleted()
* MessageList: Add a "show-deleted" property.Matthew Barnes2013-06-151-0/+5
| | | | | | | | | Bind this to the "show-deleted" GSettings key. New functions: message_list_get_show_deleted() message_list_set_show_deleted()
* MessageList: Add a "folder" property.Matthew Barnes2013-06-151-6/+7
| | | | | | | | Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder()
* MessageList: Add a "thread-latest" property.Matthew Barnes2013-06-141-0/+5
| | | | Bind this to the "thread-latest" GSettings key.
* ESettingsMessageList: Apply the "thread-expanded" setting.Matthew Barnes2013-06-141-0/+6
|
* MessageList: Add a "thread-subject" property.Matthew Barnes2013-06-141-1/+4
| | | | Bind this to the "thread-subject" GSettings key.
* Make MessageList extensible.Matthew Barnes2013-06-144-0/+160
| | | | | | Also add a placeholder ESettingsMessageList extension. Going to clean out some of the direct GSettings usage in MessageList by adding GObject properties and binding them to GSettings keys from the extension.
* ECalShellView: Disconnect "prepare-for-quit" handler on dispose().Matthew Barnes2013-06-113-1/+16
| | | | | | This is another source of crashes after creating and destroying a second shell window. The signal handler was left connected with the destroyed shell window as the closure.
* ECalShellView cleanups.Matthew Barnes2013-06-111-55/+57
|
* Reimplement the main toolbar's "prefer-item" feature.Matthew Barnes2013-06-111-6/+13
| | | | | | | | | | | | | | | | This fixes a bug in the old implementation where the application could crash after a second shell window was created and destroyed, because a signal handler with the destroyed shell window as the closure was left connected. But moreover this simplifies the implementation by using a property binding plus transform function instead of juggling signal handlers, and also adds code comments where things get a little tricky. Removed (now unused) functions: e_shell_window_get_toolbar_new_prefer_item e_shell_window_set_toolbar_new_prefer_item
* ETaskShellSidebar: Update selector rows after restoring state.Matthew Barnes2013-06-111-0/+6
| | | | | | | | | Call e_source_selector_update_all_rows() after connecting to the selector tree model's "row-changed" signal. This will ensure the appropriate ECalClients get loaded into the ECalModel. This fixes the bug where opening a second Tasks window shows no content until one of the sidebar items is fiddled with.
* EMemoShellSidebar: Update selector rows after restoring state.Matthew Barnes2013-06-111-0/+6
| | | | | | | | | Call e_source_selector_update_all_rows() after connecting to the selector tree model's "row-changed" signal. This will ensure the appropriate ECalClients get loaded into the ECalModel. This fixes the bug where opening a second Memos window shows no content until one of the sidebar items is fiddled with.
* ECalShellSidebar: Update selector rows after restoring state.Matthew Barnes2013-06-111-0/+6
| | | | | | | | | Call e_source_selector_update_all_rows() after connecting to the selector tree model's "row-changed" signal. This will ensure the appropriate ECalClients get loaded into the ECalModel. This fixes the bug where opening a second Calendar window shows no content until one of the sidebar items is fiddled with.
* Bug 701669 - Bad assumption in prefer-plain moduleMatthew Barnes2013-06-081-2/+7
| | | | | | | | | | | | | | | For messages with a base MIME type of multipart/alternative, we were hiding text/plain subparts based on the number of alternate subparts. This assumption of course broke on a message with the following body structure and a Plain Text Mode preference of "Show HTML if present": multipart/alternative text/plain text/plain Instead, note when we've actually seen a text/html subpart and use that to decide whether to hide the text/plain parts.
* EMailParserPreferPlain cleanups.Matthew Barnes2013-06-081-24/+31
|
* EMailFormatter: Remove the header API.Matthew Barnes2013-06-081-81/+2
| | | | Use the EMailPartHeaders API instead.
* EMailPartHeaders: Add a "default-headers" property.Matthew Barnes2013-06-084-0/+196
| | | | | | | | | This will replace the headers API in EMailFormatter. Need a more permanent place for headers since EMailFormatter is too disposable. Also add an ESettingsMailPartHeaders class, which binds the new property to the "show-headers" setting with a suitable mapping function to filter out disabled header names.
* Add "show-headers" settings key.Matthew Barnes2013-06-063-97/+235
| | | | | | | Replaces the "headers" key. Whereas "headers" is an array of XML blobs, the "show-headers" key is an array of string/boolean pairs. Also update the appropriate places to get/set the new key.
* ESettingsDeprecated: Fix missing handler ID assignment.Matthew Barnes2013-06-061-0/+1
|
* EMailBrowser: Add "close-on-reply-policy" property.Matthew Barnes2013-06-055-0/+219
| | | | | | | | | | | Mainly to avoid accessing GSettings directly from EMailBrowser. Also add a "browser-close-on-reply-policy" GSettings key that replaces "prompt-on-reply-close-browser", the difference being the new key uses an enum definition compatible with EAutomaticActionPolicy instead of a free-form string value. And finally add an ESettingsMailBrowser class to glue things together.
* Remove unused EMailNotebookView.Matthew Barnes2013-06-031-1/+0
| | | | This is just an Express Mode leftover.
* Simplify em_utils_forward_message() arguments.Matthew Barnes2013-06-021-22/+14
| | | | | Replace the EShell and CamelSession arguments with a single EMailBackend argument, from which both the EShell and CamelSession can be obtained.
* Minor efficiency tweak in task_shell_view_model_row_appended_cb().Matthew Barnes2013-06-011-3/+1
| | | | | | Call e_task_shell_sidebar_add_client() instead of add_source(). No point asynchronously obtaining the client if we already have it.
* Minor efficiency tweak in memo_shell_view_model_row_appended_cb().Matthew Barnes2013-06-011-3/+1
| | | | | | Call e_memo_shell_sidebar_add_client() instead of add_source(). No point asynchronously obtaining the client if we already have it.
* Minor efficiency tweak in cal_shell_view_user_created_cb().Matthew Barnes2013-06-011-7/+3
| | | | | | Call e_cal_shell_sidebar_add_client() instead of add_source(). No point asynchronously obtaining the client if we already have it.
* Add a boolean return to e_cal_model_remove_client().Matthew Barnes2013-06-011-3/+2
| | | | | | | | The function now returns TRUE if the ECalClient was actually removed from the model, or FALSE if the model did not have the ECalClient. Use this to avoid an unnecessary gnome_calendar_update_query() call in cal_shell_view_selector_client_removed().
* Add a boolean return to e_cal_model_add_client().Matthew Barnes2013-06-011-3/+2
| | | | | | | | The function now returns TRUE if the ECalClient was actually added to the model, or FALSE if the model already had the ECalClient. Use this to avoid an unnecessary gnome_calendar_update_query() call in cal_shell_view_selector_client_added_cb().
* GnomeCalendar: Get rid of the async message dispatcher.Matthew Barnes2013-06-011-4/+2
| | | | | | | | | | Obtain calendar views asynchronously and concurrently, and update the task and memo pads synchronously (they don't block as best I can tell). Get rid of the whole thread-pool message dispatching thing, which I think I myself wrote years ago (calendar had no async API back then). Consequently I'm seeing calendar events show up noticably quicker.
* Bug #700812 - Search in Calendar view is brokenMilan Crha2013-05-302-5/+34
|
* Use F9 to toggle sidebar visibility.Matthew Barnes2013-05-291-1/+1
| | | | | | | | | | | | As discussed recently on the users mailing list [1], there's a strong precedent among GTK+ applications for F9 to toggle sidebar visibility. Examples cited were Nautilus, Evince, Totem, Rhythmbox, File-Roller and gThumb. Change the Send/Receive accelerator from F9 to F12, and designate F9 as the accelerator for View->Layout->Show Side Bar. [1] https://mail.gnome.org/archives/evolution-list/2013-May/msg00194.html
* EMailParserAudio: Minor cleanup.Matthew Barnes2013-05-291-3/+1
|
* Rename libcomposer to libevolution-mail-composer.Matthew Barnes2013-05-283-3/+3
| | | | | | To make Evolution's shared libraries more consistent. Also add an evolution-mail-composer documentation module.
* Rename libemformat to libevolution-mail-formatter.Matthew Barnes2013-05-289-9/+9
| | | | | | To make Evolution's shared libraries more consistent. Also add an evolution-mail-formatter documentation module.
* Rename libeshell to libevolution-shell.Matthew Barnes2013-05-2816-16/+16
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-shell.
* Rename libeutil to libevolution-util.Matthew Barnes2013-05-2834-37/+37
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-util.
* Make EAttachment a little more thread-safe.Matthew Barnes2013-05-242-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | EAttachment is now used from worker threads by EMailFormatterAttachment, so add some thread-safe accessor functions to eliminate potential races. Added thread-safe functions: e_attachment_dup_disposition() e_attachment_ref_file() e_attachment_ref_file_info() e_attachment_ref_icon() e_attachment_ref_mime_part() e_attachment_dup_description() e_attachment_dup_thumbnail_path() Renamed functions: e_attachment_get_mime_type() -> e_attachment_dup_mime_type() Removed non-thread-safe functions: e_attachment_get_file() e_attachment_get_file_info() e_attachment_get_icon() e_attachment_get_mime_part() e_attachment_get_description() e_attachment_get_thumbnail_path()
* Attachment-related cleanups.Matthew Barnes2013-05-242-41/+59
|
* Simplify EABContactFormatter.Matthew Barnes2013-05-211-9/+11
| | | | | | | | | | | | | | | | | | | | | | Simplify the EABContactFormatter API as follows: * Drop all constructor arguments from eab_contact_formatter_new() since get/set functions exist for all of them. * Remove eab_contact_formatter_format_contact_async() since EABContactFormatter does not block. * Replace eab_contact_formatter_format_contact_sync() with eab_contact_formatter_format_contact() which drops the CamelStream and GCancellable arguments and takes a GString as an output buffer. * Remove the "state" and "style" properties, and always use a white background when rendering the full contact. This is particularly important since render_normal() dereferenced the GtkStyle without checking for NULL, which would crash on mails with a vCard MIME part when "Show Full vCard" was clicked, because the "vcard-inline" module never set a GtkStyle.
* Convert EMailPart to a GObject.Matthew Barnes2013-05-2017-385/+776
| | | | | EMailPart is reference-counted, subclassed, and allows a custom finalize function. There's no excuse for it not to use GObject.
* Rename EMailFormatterVCardInline to EMailFormatterVCard.Matthew Barnes2013-05-204-32/+32
|
* Rename EMailParserVCardInline to EMailParserVCard.Matthew Barnes2013-05-204-30/+30
|
* Rename EMailPartVCardInline to EMailPartVCard.Matthew Barnes2013-05-204-20/+20
|
* Rename EMailFormatterAudioInline to EMailFormatterAudio.Matthew Barnes2013-05-204-42/+42
|
* Rename EMailParserAudioInline to EMailParserAudio.Matthew Barnes2013-05-204-29/+29
|
* Rename EMailPartAudioInline to EMailPartAudio.Matthew Barnes2013-05-204-20/+20
|
* Add e_mail_part_set_is_attachment().Matthew Barnes2013-05-201-1/+1
|
* Add e_mail_part_set_mime_type().Matthew Barnes2013-05-201-1/+1
|
* Add e_mail_part_get_mime_type().Matthew Barnes2013-05-201-1/+4
|
* Add e_mail_part_ref_mime_part().Matthew Barnes2013-05-202-7/+19
|
* Add e_mail_part_id_has_substr().Matthew Barnes2013-05-202-2/+3
|
* Add e_mail_part_id_has_prefix().Matthew Barnes2013-05-201-1/+1
|
* Add e_mail_part_get_id().Matthew Barnes2013-05-205-12/+22
|
* em-format cleanups.Matthew Barnes2013-05-207-42/+52
|
* Bug #699980 - Calendar delete does not remove events from viewMilan Crha2013-05-143-0/+12
|
* contact-photos: Obtain an EClient asynchronously.Matthew Barnes2013-05-081-39/+76
| | | | | | Obtain an EClient for contact photo lookup asynchronously. If an instance needs to be created, it's more likely created in a thread with a main loop so signal emissions can work.
* Coding style and whitespace cleanup.Matthew Barnes2013-05-086-24/+25
|
* Newly configured Google calendar cannot be openedMilan Crha2013-05-073-22/+60
| | | | | | | | Unless the button to choose a calendar was clicked, because the calendar path is not filled, thus the server claims "HTTP 405 error", which means an OPTIONS request cannot be done on the path, which was just root of www.google.com, instead of a calendar path. (This was reported as part of bug #659522.)
* Bug #301323 - "Edit as new message" doesn't strip signature properlyMilan Crha2013-05-071-1/+1
|
* Merge [mark-all-read] plugin into core codeMilan Crha2013-05-043-29/+328
| | | | | | During fixes on bug #602428, rather than do everything twice, I merged the plugin into the core code, thus it should be easier to maintain as well.
* Bug #699555 - prompt-on-mark-all-read doesn't work in context menuMilan Crha2013-05-031-15/+1
|
* Make sure EAddressbookModel has a fresh EBookClient.Matthew Barnes2013-04-301-29/+9
| | | | | | | | | | | | | | | | In the event of an address book backend abort, EClientCache detects this and invalidates its cached EClient (if it has one), so a new instance is created on the next request. EAddressbookModel is only handed an EClient once, which may become stale if the backend aborts. And even if the backend is restarted the address book will remain unresponsive in Evolution. This commit changes the behavior so that every time an address book is selected in the side bar, a fresh EClient instance is obtained from the EClientCache and handed to the EAddressbookModel. If the model already has that EClient instance, nothing happens. Otherwise the model resets itself and creates a new EBookClientView.
* EGravatarPhotoSource: Work around libsoup deadlocks.Matthew Barnes2013-04-271-36/+7
| | | | | The SoupRequest API seems to have some concurrency issues to work out, so for the time being create a unique SoupSession for each SoupRequest.
* Add a gravatar module.Matthew Barnes2013-04-267-0/+574
| | | | This is a new EPhotoSource that obtains images from gravatar.com.
* ETaskShellSidebar: Remove unused "status-message" signal.Matthew Barnes2013-04-253-30/+0
|
* ETaskShellSidebar: Submit an EActivity when obtaining an EClient.Matthew Barnes2013-04-251-51/+58
| | | | | | | Remove this status message nonsense that I came up with during the kill-bonoto rewrite. Instead submit a real EActivity to the shell backend. Mismanagement of the status message seems to be blocking application shut down in some cases.
* EMemoShellSidebar: Remove unused "status-message" signal.Matthew Barnes2013-04-253-30/+0
|
* EMemoShellSidebar: Submit an EActivity when obtaining an EClient.Matthew Barnes2013-04-251-51/+58
| | | | | | | Remove this status message nonsense that I came up with during the kill-bonobo rewrite. Instead submit a real EActivity to the shell backend. Mismanagement of the status message sesms to be blocking application shut down in some cases.
* ECalShellSidebar: Remove unused "status-message" signal.Matthew Barnes2013-04-252-23/+0
|
* ECalShellSidebar: Submit an EActivity when obtaining an EClient.Matthew Barnes2013-04-251-51/+58
| | | | | | | Remove this status message nonsense that I came up with during the kill-bonobo rewrite. Instead submit a real EActivity to the shell backend. Mismanagement of the status message seems to be blocking application shut down in some cases.
* ETaskShellSidebar: Remove some unnecessary #includes.Matthew Barnes2013-04-251-4/+0
|
* EMemoShellSidebar: Remove some unnecessary #includes.Matthew Barnes2013-04-251-4/+0
|
* ECalShellSidebar: Remove some unnecessary #includes.Matthew Barnes2013-04-251-4/+0
|
* Add contact-photos module.Matthew Barnes2013-04-247-0/+894
| | | | | | | | | | This encapsulates the EContactPhoto look up feature that was previously built into EPhotoCache. It's now implemented as an EPhotoSource -- one per address book. One advantage of this implementation is that address books are now queried concurrently rather than serially. EPhotoCacheContactLoader is an EPhotoCache extension that takes care of adding and removing EPhotoSources for available address books.
* [EMailFormatter] Use GdkRGBA and GtkStyleContext to get theme colorsMilan Crha2013-04-233-30/+28
| | | | | | | | | | It could happen that header text color had been picked white one time, but the other time black as expected (for me usually when I started Evolution in Calendar and moved to Mail view, the header text color was white, while when starting in Mail view it was black). The change to use GtkStyleContext is there only as a cleanup from deprecated GtkStyle, and to make things easier too, because both GtkStyle and the GtkStyleContext had set white color for some reason.
* Remove "Search for sender photograph only in local address books".Matthew Barnes2013-04-215-171/+0
| | | | | | | | | | | | | This was added as part of bug 360184 but no justification was given for the "local-only" part. My Spidey sense tells me it was a hack- around for the old implementation's tendency to freeze the UI while searching for a photograph. So the "local-only" option really just meant "don't freeze the UI for very long, please". The new EPhotoCache-based implementation in 3.8 NEVER freezes the UI, so the "local-only" option is no longer needed. If a remote address book is slow or unresponsive we simply cancel the async photo lookup when the user moves on to another email.
* [web-inspector] Yet more shortcut tweaking.Matthew Barnes2013-04-181-1/+1
| | | | | | | Be more forgiving of modifiers. Check for GDK_CONTROL_MASK and GDK_SHIFT_MASK, but not to the exclusion of all other modifiers. There, that should make the shortcut work for everyone now.
* Remove backward-compatibility cruft for goa-1.0 < 3.8.Matthew Barnes2013-04-175-560/+0
| | | | | | | In particular, GOA's Google provider uses OAuth 2.0 now, so we can drop the OAuth 1.0a support in CamelSaslXOAuth which was GMail-specific, and with it the entire "online-accounts" module in Evolution. Evolution no longer links to libgoa-1.0 at all.
* Restore "Automatic Contacts" plugin preferences page.Matthew Barnes2013-04-141-4/+96
| | | | | | | This accidentally got dropped during the "account-mgmt" project. As much as I loathe EConfig, the "Automatic Contacts" plugin is useless without its Preferences page in the Contacts section.
* Add e_cal_model_ref_default_client().Matthew Barnes2013-04-134-6/+14
| | | | Replaces e_cal_model_get_default_client(), which was not thread-safe.
* Remove e_cal_model_get_client_for_source().Matthew Barnes2013-04-133-39/+30
| | | | | | | | Was not thread-safe because it did not reference the return value. The function was only used to implement the Refresh action on the sidebar menu. e_client_selector_ref_cached_client() works better for this anyway.
* Add e_cal_model_list_clients().Matthew Barnes2013-04-132-13/+12
| | | | | | | Replaces e_cal_model_get_client_list(). Does the same thing, except the returned ECalClient instances are referenced for thread-safety.
* web-inspector: Change the shortcut key to match Chrome.Matthew Barnes2013-04-121-3/+3
| | | | | | | GDK_MOD1_MASK is ill defined across various keyboards, apparently. Use Ctrl + Shift + I instead, which happens to match what Chrome uses to bring up its web inspector.
* Bug #271262 - Allow Send/Receive of local stores in offlineMilan Crha2013-04-093-20/+31
|
* Remove more Express Mode hacks.Matthew Barnes2013-04-018-224/+123
| | | | | | This removes all traces of Express Mode from all but the contact editor and calendar appointment editor. Need to evaluate the remaining cases individually.
* Remove e_shell_hide_widgets_for_express_mode().Matthew Barnes2013-04-012-32/+0
| | | | No longer needed.
* Remove EUIManager.Matthew Barnes2013-04-011-2/+2
| | | | No longer needed. Use GtkUIManager directly.
* Remove e_shell_get_startup_view().Matthew Barnes2013-04-011-10/+0
| | | | No longer needed.
* Fix for typing in ITIP comments when some keys triggered actions.Tomas Popela2013-03-281-0/+2
|
* ESettingsMailFormatter: Fix binding flag typo.Matthew Barnes2013-03-271-1/+1
|
* Bug 696257 - Handle default values for "primary" selection settingsMatthew Barnes2013-03-254-4/+16
| | | | | | The default value for these GSettings keys is an empty string. The mapping function should handle empty strings by falling back to the appropriate default ESource.
* Fix a typo which disabled "Always load images" option foreverMilan Crha2013-03-221-1/+1
|
* Remove EMailShellSettings.Matthew Barnes2013-03-1716-1033/+592
| | | | | | | | EShellSettings predates GSettings and is no longer necessary. GSettings allows binding GObject properties to GSettings keys, with optional mapping functions. That fulfills the purpose of EShellSettings.
* Remove ECalShellSettings.Matthew Barnes2013-03-1722-1574/+996
| | | | | | | | EShellSettings predates GSettings and is no longer necessary. GSettings allows binding GObject properties to GSettings keys, with optional mapping functions. That fulfills the purpose of EShellSettings.
* Remove EBookShellSettings.Matthew Barnes2013-03-176-107/+58
| | | | | | | | EShellSettings predates GSettings and is no longer necessary. GSettings allows binding GObject properties to GSettings keys, with optional mapping functions. That fulfills the purpose of EShellSettings.
* Add "headers-collapsed" setting.Matthew Barnes2013-03-171-2/+2
| | | | | | Replaces "paned-view-headers-state", which was defined as an integer for some stupid reason. Not bothering to migrate the old setting since it's one button click.
* Add "image-loading-policy" setting.Matthew Barnes2013-03-171-0/+27
| | | | | | Replaces the "load-http-images" setting, which is now deprecated. The new setting uses an enum type compatible with EMailImageLoadingPolicy.
* Add "reply-style-name" setting.Matthew Barnes2013-03-171-0/+69
| | | | | | Replaces the "reply-style" setting, which is now deprecated. The new setting uses an enum type compatible with EMailReplyStyle.
* Add "forward-style-name" setting.Matthew Barnes2013-03-171-0/+35
| | | | | | Replaces the "forward-style" setting, which is now deprecated. The new setting uses an enum type compatible with EMailForwardStyle.
* Convert all "week-start-day" properties to GDateWeekday.Matthew Barnes2013-03-174-99/+27
|
* EDayView: Move "work-day-*" properties to ECalModel.Matthew Barnes2013-03-172-35/+35
| | | | EWeekView would like to use them too, please.
* EDayView: Split working days into separate boolean properties.Matthew Barnes2013-03-171-2/+32
| | | | Far easier to deal with than flags.
* Add ESettingsDeprecated.Matthew Barnes2013-03-174-0/+436
| | | | | | | | | | | | This class is different from the others in this module. Its purpose is to transfer values from deprecated GSettings keys to the preferred keys on startup, and keep them synchronized at all times for backward compatibility. Initial deprecated keys being handled are: "week-start-day" (org.gnome.evolution.calendar) "working-days" (org.gnome.evolution.calendar)
* Use e_source_registry_list_enabled() where appropriate.Matthew Barnes2013-03-171-12/+3
|
* e-mail-config-smtp-backend.c: Forgot a 'return' statement.Matthew Barnes2013-03-121-0/+2
|
* Bug 695693 - Handle <authentication> tags during auto-configurationMatthew Barnes2013-03-121-1/+30
|
* Bug #690930 - Launching calendar from clock-applet applies timezone twiceMilan Crha2013-03-121-13/+22
|
* Add ESettingsSpellEntry.Matthew Barnes2013-03-124-0/+163
| | | | | Automatically configures the "checking-enabled" property on all ESpellEntry instances.
* mailto-handler cleanups.Matthew Barnes2013-03-111-9/+15
|
* EMeetingStore: Removed unused "week-start-day" property.Matthew Barnes2013-03-091-5/+0
|
* CompEditor: Add a "week-start-day" property.Matthew Barnes2013-03-091-0/+5
| | | | Automatically configured, of course, by ESettingsCompEditor.
* Add ESettingsWeekdayChooser.Matthew Barnes2013-03-094-0/+166
| | | | Configures the "week-start-day" property of EWeekdayChooser.
* EMeetingTimeSelector: Remove unused properties.Matthew Barnes2013-03-091-10/+0
| | | | The "show-week-numbers" and "week-start-day" properties are not used.
* [backup-restore] Dir separator removal breaks DConf settings restoreMilan Crha2013-03-071-11/+15
| | | | | | DConf load command requires a slash at the end of the path to load, but the replace_variables() code always removed the trailing slash, which made the configuration load nonfunctional.
* cal_comp_event_new_with_current_time: Remove 'zone' parameter.Matthew Barnes2013-03-061-2/+0
| | | | Get the icaltimezone from the passed in ECalClient.
* [itip-formatter] Reference a view when searching for a calendarTomas Popela2013-03-051-1/+2
| | | | | | | There were printed warnings on console, which may cause crashes, when the meeting invitation was inside an attached message. By adding a reference to the view it'll not disappear before the search is done with it.
* ESettingsDateEdit: Forgot to bind "use-24-hour-format" property.Matthew Barnes2013-03-041-0/+5
|
* Use EClientComboBox where appropriate.Matthew Barnes2013-03-021-6/+6
| | | | Basically any place where we use both EClient and ESourceComboBox.
* EMailPartItip: Remove redundant client cache.Matthew Barnes2013-02-283-46/+0
| | | | EClientCache already serves this purpose.
* ItipView: Use EClientCache to obtain calendar clients.Matthew Barnes2013-02-281-3/+25
|
* ItipView: Replace "registry" property with "client-cache".Matthew Barnes2013-02-285-101/+146
| | | | Obtain the ESourceRegistry with e_client_cache_ref_registry().
* itip-view.h cleanups.Matthew Barnes2013-02-281-179/+159
|
* EMailFormatter: Remove "only-local-photos" property.Matthew Barnes2013-02-271-5/+0
| | | | EPhotoCache already handles this setting.
* Add ESettingsPhotoCache.Matthew Barnes2013-02-274-0/+161
| | | | Configures an EPhotoCache with values from GSettings.
* Bug #693625 - [itip-formatter] Save button insensitive for multiple eventsMilan Crha2013-02-261-0/+2
|
* ETaskShellSidebar: Remove "loading" status message.Matthew Barnes2013-02-251-4/+0
| | | | | | Emitting a "client-added" signal should not trigger any blocking calls, so the "loading" status message will flash by too quickly to be noticed, if it gets drawn at all. Just remove it.
* EMemoShellSidebar: Remove "loading" status message.Matthew Barnes2013-02-251-4/+0
| | | | | | Emitting a "client-added" signal should not trigger any blocking calls, so the "loading" status message will flash by too quickly to be noticed, if it gets drawn at all. Just remove it.
* ECalShellSidebar: Remove "loading" status message.Matthew Barnes2013-02-251-4/+0
| | | | | | Emitting a "client-added" signal should not trigger any blocking calls, so the "loading" status message will flash by too quickly to be noticed, if it gets drawn at all. Just remove it.
* ETaskShellSidebar: Show a unique display name while connecting.Matthew Barnes2013-02-251-2/+8
| | | | Use e_source_registry_dup_unique_display_name() in the status message.
* EMemoShellSidebar: Show a unique display name while connecting.Matthew Barnes2013-02-251-2/+8
| | | | Use e_source_registry_dup_unique_display_name() in the status message.
* ECalShellSidebar: Show a unique display name while connecting.Matthew Barnes2013-02-251-2/+8
| | | | Use e_source_registry_dup_unique_display_name() in the status message.
* Coding style and whitespace cleanup.Matthew Barnes2013-02-243-7/+7
|
* ETaskShellSidebar: Use e_source_registry_dup_unique_display_name().Matthew Barnes2013-02-231-24/+12
| | | | Use a standard format for naming an ESource in user-visible messages.
* EMemoShellSidebar: Use e_source_registry_dup_unique_display_name().Matthew Barnes2013-02-231-24/+12
| | | | Use a standard format for naming an ESource in user-visible messages.
* ECalShellSidebar: Use e_source_registry_dup_unique_display_name().Matthew Barnes2013-02-231-22/+10
| | | | Use a standard format for naming an ESource in user-visible messages.
* Bug #694363 - CALDAV navigation through Calendars or Tasklist is wrongMilan Crha2013-02-221-3/+3
|
* Bug #694170 - Accepted invitation not removed from Inbox when it shouldMilan Crha2013-02-221-3/+1
|
* Remove task_shell_sidebar_ref_client_cache().Matthew Barnes2013-02-191-28/+7
| | | | Use e_client_selector_ref_cached_client() for remaining cases.
* Remove memo_shell_sidebar_ref_client_cache().Matthew Barnes2013-02-191-28/+7
| | | | Use e_client_selector_ref_cached_client() for remaining cases.
* Remove cal_shell_sidebar_ref_client_cache().Matthew Barnes2013-02-191-28/+7
| | | | Use e_client_selector_ref_cached_client() for remaining cases.
* ETaskShellSidebar: Use EClientSelector to obtain EClient instances.Matthew Barnes2013-02-191-22/+11
|
* EMemoShellSidebar: Use EClientSelector to obtain EClient instances.Matthew Barnes2013-02-191-22/+11
|
* ECalShellSidebar: Use EClientSelector to obtain EClient instances.Matthew Barnes2013-02-191-22/+11
|
* ETaskListSelector: Inherit from EClientSelector.Matthew Barnes2013-02-191-3/+3
| | | | Use e_client_selector_get_client() to obtain an EClient.
* EMemoListSelector: Inherit from EClientSelector.Matthew Barnes2013-02-191-3/+3
| | | | Use e_client_selector_get_client() to obtain an EClient.
* ECalendarSelector: Inherit from EClientSelector.Matthew Barnes2013-02-191-3/+3
| | | | Use e_client_selector_get_client() to obtain an EClient.
* EAddressbookSelector: Inherit from EClientSelector.Matthew Barnes2013-02-191-4/+4
| | | | Use e_client_selector_get_client() to obtain an EClient.
* ETaskShellBackend: Use EClientCache to obtain an EClient.Matthew Barnes2013-02-181-38/+60
|
* EMemoShellBackend: Use EClientCache to obtain an EClient.Matthew Barnes2013-02-181-38/+60
|
* ECalShellBackend: Use EClientCache to obtain an EClient.Matthew Barnes2013-02-181-44/+85
|
* EBookShellView: Use EClientCache to obtain an EClient.Matthew Barnes2013-02-182-8/+44
|
* EBookShellBackend: Use EClientCache to obtain an EClient.Matthew Barnes2013-02-181-6/+14
|
* ETaskShellSidebar: Remove internal client table.Matthew Barnes2013-02-171-107/+14
| | | | No longer needed, replaced by EClientCache.
* EMemoShellSidebar: Remove internal client table.Matthew Barnes2013-02-171-107/+14
| | | | No longer needed, replaced by EClientCache.
* ECalShellSidebar: Remove internal client table.Matthew Barnes2013-02-171-107/+14
| | | | No longer needed, replaced by EClientCache.
* ETaskShellSidebar: Use EClientCache to determine refresh support.Matthew Barnes2013-02-171-7/+12
| | | | | | In task_shell_sidebar_check_state(), determine whether the selected source supports refresh by way of e_client_cache_ref_cached_client() and e_client_check_refresh_supported().
* EMemoShellSidebar: Use EClientCache to determine refresh support.Matthew Barnes2013-02-171-7/+12
| | | | | | In memo_shell_sidebar_check_state(), determine whether the selected source supports refresh by way of e_client_cache_ref_cached_client() and e_client_check_refresh_supported().
* ECalShellSidebar: Use EClientCache to determine refresh support.Matthew Barnes2013-02-171-7/+12
| | | | | | In cal_shell_sidebar_check_state(), determine whether the selected source supports refresh by way of e_client_cache_ref_cached_client() and e_client_check_refresh_supported().
* Remove e_task_shell_sidebar_get_clients().Matthew Barnes2013-02-172-15/+0
| | | | No longer used.
* Remove e_memo_shell_sidebar_get_clients().Matthew Barnes2013-02-172-15/+0
| | | | No longer used.
* Remove e_cal_shell_sidebar_get_clients().Matthew Barnes2013-02-172-15/+0
| | | | No longer used.
* e_task_shell_view_delete_completed: Obtain client list from ECalModel.Matthew Barnes2013-02-171-3/+8
|
* Remove client list param from e_task_table_process_completed_tasks().Matthew Barnes2013-02-171-16/+2
| | | | | ETaskTable can retrieve the client list from its internal ECalModel using e_cal_model_get_client_list().
* Remove e_task_shell_view_update_timezone().Matthew Barnes2013-02-172-33/+0
| | | | | | | Thanks to the "default-timezone" property binding created by ESettingsClientCache, changes to the "cal-timezone" setting are automatically propagated to all ECalClient instances created by EClientCache.
* Remove e_memo_shell_view_update_timezone().Matthew Barnes2013-02-172-33/+0
| | | | | | | Thanks to the "default-timezone" property binding created by ESettingsClientCache, changes to the "cal-timezone" setting are automatically propagated to all ECalClient instances created by EClientCache.
* Remove e_cal_shell_view_update_timezone().Matthew Barnes2013-02-172-33/+0
| | | | | | | Thanks to the "default-timezone" property binding created by ESettingsClientCache, changes to the "cal-timezone" setting are automatically propagated to all ECalClient instances created by EClientCache.
* ETaskShellSidebar: Use EClientCache to obtain EClient instances.Matthew Barnes2013-02-171-65/+40
| | | | | Also, defer to ESettingsClientCache to automatically set the default timezone on new ECalClient instances.
* EMemoShellSidebar: Use EClientCache to obtain EClient instances.Matthew Barnes2013-02-171-65/+40
| | | | | Also, defer to ESettingsClientCache to automatically set the default timezone on new ECalClient instances.
* ECalShellSidebar: Use EClientCache to obtain EClient instances.Matthew Barnes2013-02-171-65/+40
| | | | | Also, defer to ESettingsClientCache to automatically set the default timezone on new ECalClient instances.
* Defer "backend-error" alerts to shell views.Matthew Barnes2013-02-173-147/+0
|
* ETaskShellView: Handle error signals from task list backends.Matthew Barnes2013-02-172-3/+50
|
* EMemoShellView: Handle error signals from memo list backends.Matthew Barnes2013-02-172-1/+50
|
* ECalShellView: Handle error signals from calendar backends.Matthew Barnes2013-02-172-0/+49
|
* EBookShellView: Handle error signals from address book backends.Matthew Barnes2013-02-172-0/+45
|
* Defer "backend-died" alerts to EShell.Matthew Barnes2013-02-173-48/+9
|
* Add ESettingsClientCache.Matthew Barnes2013-02-174-0/+176
| | | | | | Listens for "client-created" signals from its EClientCache. If the newly-created client is an ECalClient, automatically configure its default timezone from EShellSettings.
* EBookShellView: Keep an ID for "source-removed" signal handler.Matthew Barnes2013-02-162-8/+13
|
* ETaskShellView: Use g_clear_object() in dispose().Matthew Barnes2013-02-162-9/+3
|
* EMemoShellView: Use g_clear_object() in dispose().Matthew Barnes2013-02-162-9/+3
|
* EMailShellView: Use g_clear_object() in dispose().Matthew Barnes2013-02-162-12/+5
|
* ECalShellView: Use g_clear_object() in dispose().Matthew Barnes2013-02-162-9/+3
|
* EBookShellView: Use g_clear_object() in dispose().Matthew Barnes2013-02-162-9/+3
|
* Remove old GTK+ version checks.Matthew Barnes2013-02-161-2/+0
| | | | We require GTK+ 3.4, so no need to check for versions older than that.
* Use camel_service_ref_session().Matthew Barnes2013-02-111-3/+6
|
* G_PRIORITY_HIGH_IDLE is sufficient to beat GTK+ redraws.Matthew Barnes2013-02-092-5/+7
| | | | | | GTK+ uses (G_PRIORITY_HIGH_IDLE + 20) for redrawing operations, which is actually a slightly lower priority than G_PRIORITY_HIGH_IDLE. Therefore for our purpose, G_PRIORITY_HIGH_IDLE is sufficient.
* Add comments around g_idle_add() changesMilan Crha2013-02-092-0/+2
|
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-092-2/+2
|
* Revert "Bug #683867 - Schedule actions with higher idle priority"Matthew Barnes2013-02-082-2/+2
| | | | | | | | | This reverts commit 2b507716b257e6ef98dae8463180dbe718eb7b64. The commit contains not a single comment as to why these custom priority values are being used. The rationale needs to be documented in the code, either at each call point or preferrably at a centralized priority value definition.
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-082-2/+2
|
* [web-inspector] Add a secret debugging shortcut.Matthew Barnes2013-02-071-52/+31
| | | | | Drop the pop-up menu item and instead install a key-press-event handler on all WebKitWebView instances. <Ctrl>+<Alt>+I opens the web inspector.
* Use CamelMimeFilterToHTMLFlags enum type where appropriate.Matthew Barnes2013-02-071-2/+2
|
* ESourceWeather: Synchronize with ESourceWeather in E-D-S.Matthew Barnes2013-02-051-6/+2
|
* Teach EMailExtensionRegistry to find extensions.Matthew Barnes2013-02-0110-412/+0
| | | | Restore this commit with a proper bug fix to follow.
* Fix up error handling around e_book/cal_client_connect_finish().Matthew Barnes2013-01-317-46/+16
|
* Use e_cal_client_connect().Matthew Barnes2013-01-3012-667/+851
| | | | Instead of e_client_utils_open_new() or e_cal_client_new().
* Use e_book_client_connect().Matthew Barnes2013-01-304-60/+77
| | | | Instead of e_client_utils_open_new() and e_book_client_new().
* Revert "Teach EMailExtensionRegistry to find extensions."Milan Crha2013-01-2910-0/+412
| | | | | | | | | | This reverts commit bf30024dd7973006bf99d0ae509a7f0022368a41, because it breaks EMailFormatter/Parser extensions, like the prefer-plain. The thing is that the internal formatters/parsers (also extensions) should be always added first, and only after then can be added extended extensions, which are used before those internal. This constraint was not satisfied with the reverted commit, the order of extension registration was unpredictable, depended on GType.
* Bug #692775 - Double-quoting message with HTML and textMilan Crha2013-01-291-0/+14
|
* Remove usage of deprecated e_client_is_opened().Matthew Barnes2013-01-263-6/+3
| | | | e_client_is_opened() always returns TRUE, so skip it.
* E_CLIENT_ERROR_BUSY is no longer used.Matthew Barnes2013-01-253-213/+0
|
* Bug #680537 - Reply to individual message in digest generates empty bodyMilan Crha2013-01-241-27/+64
|
* Bug #639698 - Crash in mail_shell_view_execute_search()Milan Crha2013-01-231-20/+28
|
* evolution-module-mail.c: Remove unused declaration.Matthew Barnes2013-01-211-1/+0
|
* Add a "settings" module.Matthew Barnes2013-01-2144-1046/+1112
| | | | | | Collect all the "config" extensions from the "addressbook", "calendar", and "mail" modules into one place. These extensions typically just bind GObject properties of extensible classes to app-specific GSettings keys.
* Bump GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_2.Matthew Barnes2013-01-2012-42/+42
| | | | | Clean up resulting deprecation warnings, which were all related to GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
* Bug #692005 - Changing character encoding doesn't workMilan Crha2013-01-193-0/+31
|
* Bump libsoup dependency to 2.40.3Milan Crha2013-01-181-41/+0
| | | | | | | | | | | | This removes workarounds for below libsoup bugs and makes trust-prompt for WebDAV based backends work better, by checking also server certificates.  * soup_message_get_https_status() now returns the certificate    and flags for unsuccessful https connections as well as    successful ones. [bug #690176]  * Fixed a deadlock when calling soup_session_abort() on a SoupSessionSync in some cases. [bug #691399]
* Avoid deprecated libedataserver APIs.Matthew Barnes2013-01-152-6/+8
| | | | I forgot to include this in 3.7.4, but no matter.
* Adapt to CamelSession API changes.Matthew Barnes2013-01-131-5/+5
|
* Remove EMailConfigImapBackend.Matthew Barnes2013-01-121-42/+0
| | | | No longer needed since the "imap" backend is gone.
* Coding style and whitespace cleanup.Matthew Barnes2013-01-112-10/+16
|
* Bug #690177 - Use trust-prompt for certificate verification in WebDAV backendsMilan Crha2013-01-101-16/+139
|
* Bug #691134 - New contact lists always saved to a default bookMilan Crha2013-01-091-3/+33
|
* Bug 691133 - Evolution creates 'highlight' zombiesMatthew Barnes2013-01-041-8/+13
| | | | | | | | | | | Evolution spawns the 'highlight' program with these flags: G_SPAWN_SEARCH_PATH G_SPAWN_DO_NOT_REAP_CHILD G_SPAWN_SEARCH_PATH is not needed because configure already determines the absolute path to the 'highlight' program. G_SPAWN_DO_NOT_REAP_CHILD results in zombie 'highlight' processes. Remove both flags.
* book-config-google: Populate [Authentication] group.Matthew Barnes2012-12-311-4/+2
| | | | | | | | | | | Set the Host to "www.google.com" and Method to "ClientLogin". Don't need to worry about migrating existing Google Contacts sources, which had "plain/password" as the auth method. The Google EBookBackend only explicitly checks whether the auth method is "OAuth2", and assumes "ClientLogin" otherwise. (I suppose the registry service could tweak older key files, but meh...)
* Move CamelSaslXOAuth2 to libemail-engine.Matthew Barnes2012-12-314-335/+0
| | | | | | | | | | | This now uses e_source_get_oauth2_access_token_sync() instead of talking directly to GNOME Online Accounts and therefore no longer has to live in the "online-accounts" module. The "online-accounts" module will be removed in Evolution 3.9.1, when we can require GNOME Online Accounts 3.8. Evolution 3.8 will still support older versions of GNOME Online Accounts, which use OAuth 1.0a tokens for Google authentication.
* Bug 588216 - 'Unsubscribe' disabled for newsgroupsMatthew Barnes2012-12-291-1/+1
| | | | Unsubscribable folders are not necessarily deletable.
* Remove the "imap-features" module.Matthew Barnes2012-12-247-1226/+0
| | | | | This only worked with the legacy IMAP backend, which has now been removed per bug 665371.
* e-config: Remove unused functions.Matthew Barnes2012-12-174-8/+4
| | | | | | | | | | | | e_config_add_skip_check() e_config_class_remove_factory() e_config_create_window() e_config_page_get() e_config_page_next() e_config_page_prev() e_config_set_page_is_finish() Also remove E_CONFIG_ASSISTANT and all the assistant support therein.
* e-passwords: Remove unused function parameters.Matthew Barnes2012-12-171-2/+2
|
* Fix compiler warnings.Matthew Barnes2012-12-151-2/+2
|
* Move the contact map widgets to addressbook/gui/widgets.Matthew Barnes2012-12-1335-70/+4
| | | | | | | | | | | | Move the supporting widgets for the contact maps feature alongside EABContactDisplay. Removing them from libeutil helps isolate our usage of libchamplain so it's not imposed on the entire application, and even 3rd party software. That libchamplain is an optional dependency only further complicates the matter. Ideally I'd like to somehow isolate this feature in an extension module, but we currently lack sufficient hooks for such an extension. So this arrangement will have to suffice for now.
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-13136-385/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.
* Bug #689966 - MDN bar shown in Sent folderMilan Crha2012-12-111-16/+2
| | | | The previous commit broke MDN send, which this one fixes.
* Bug #689966 - MDN bar shown in Sent folderMilan Crha2012-12-111-2/+9
|
* backup-restore: Remove references to ~/.camel_certs.Matthew Barnes2012-12-091-8/+1
| | | | The path is now XDG-base-dir compliant: ~/.local/share/camel_certs
* Teach EMailExtensionRegistry to find extensions.Matthew Barnes2012-12-0810-412/+0
| | | | | | | | | | | | | | | | | | | | | Now we have the following extension points in the GType hierarchy: E_TYPE_MAIL_FORMATTER_EXTENSION E_TYPE_MAIL_FORMATTER_PRINT_EXTENSION E_TYPE_MAIL_FORMATTER_QUOTE_EXTENSION E_TYPE_MAIL_PARSER_EXTENSION A registry just needs to be given one of these extension points, and it can use g_type_children() to find and load all registered extensions. This eliminates e-mail-format-extensions.[ch] as well as the dynamic loaders I added a few commits back. Dynamically loaded extensions are now easier to register, at the cost of internal extensions being a tad more cumbersome to register. Fair tradeoff, imo. This also makes e_mail_extension_registry_add_extension() a private function used only by e_mail_formatter_extension_registry_load() and e_mail_parser_extension_registry_load().
* EMailParserExtension: Convert get_flags() to an enum field.Matthew Barnes2012-12-083-21/+3
| | | | | | | 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.
* Convert EMailParserExtension to an abstract class.Matthew Barnes2012-12-086-114/+58
| | | | | | | | | 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.
* EMailFormatterExtension: Convert get_description() to a string field.Matthew Barnes2012-12-084-28/+4
| | | | | | 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.
* EMailFormatterExtension: Convert get_display_name() to a string field.Matthew Barnes2012-12-084-28/+4
| | | | | | 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.
* Convert EMailFormatterExtension to an abstract class.Matthew Barnes2012-12-084-85/+45
| | | | | | | | | 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.
* Remove EMailExtension.Matthew Barnes2012-12-0810-346/+432
| | | | | | | | | | | | 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.
* EMailExtension: Replace mime_types() method with a string array.Matthew Barnes2012-12-0810-109/+89
| | | | | | | | | | | 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.
* EMailParserExtension: Collect EMailParts in a GQueue.Matthew Barnes2012-12-086-148/+162
| | | | | | | | | | | | | | | 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.
* Make EMailPartList thread-safe.Matthew Barnes2012-12-085-14/+23
| | | | | | 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.
* EMailFormatterContext: Keep a reference to EMailPartList.Matthew Barnes2012-12-083-14/+30
| | | | | Replace the individual components of an EMailPartList with a reference on the EMailPartList itself in EMailFormatContext. Easier to manage.
* Bug #315317 - Add option to expunge messages on folder leaveMilan Crha2012-12-053-9/+12
|
* Address couple issues found by a Coverity scanMilan Crha2012-11-301-0/+2
|
* Avoid using GdkEventButton directly in certain places.Matthew Barnes2012-11-305-30/+33
| | | | | | | | | | | | 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.
* Avoid gdk_cursor_unref().Matthew Barnes2012-11-292-2/+2
| | | | Use g_object_unref() instead.
* Bug #671628 - Size of backup window is bigMilan Crha2012-11-281-24/+35
|