Commit Graph

1576 Commits

Author SHA1 Message Date
Matthew Barnes 5b2ee4af6f Make EAlertDialog non-resizable.
Making EAlertDialog non-resizable is the only way at present for GTK+ to
pick a resonable default size, otherwise we get alerts looking like this:
https://bugzilla.gnome.org/attachment.cgi?id=221303

See https://bugzilla.gnome.org/681937 for details.

Also drop the default window size hack in alert_dialog_constructed().
2013-05-29 19:01:36 -04:00
Matthew Barnes d845222a11 Bug 700277 - EClientCache allocates memory ad infinity
Remove a ClientData entry on "source-removed" or "source-disabled"
signals from the ESourceRegistry.
2013-05-29 13:09:36 -04:00
Matthew Barnes 6c9a3243c9 Rename libeutil to libevolution-util.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-util.
2013-05-28 09:56:30 -04:00
Matthew Barnes 3777e4887c configure.ac: Remove unused function and header checks.
This removes the following definitions from config.h:

   CTIME_R_THREE_ARGS
   GETHOSTBYADDR_R_SEVEN_ARGS
   GETHOSTBYNAME_R_FIVE_ARGS
   HAVE_ISBLANK
   HAVE_MKSTEMP
   HAVE_STATFS
   HAVE_STATVFS
   HAVE_SYS_MOUNT_H
   HAVE_SYS_PARAM_H
   HAVE_SYS_STATVFS_H

These were all either unused or unnecessarily used.
2013-05-28 09:42:12 -04:00
Matthew Barnes 749dabd025 Make EAttachment column updates thread-safe.
EAttachment updates its tree model row directly in response to property
change notifications, but now change notifications can come from worker
threads whereas the tree model row should only be updated from the main
thread.  To compensate, respond to notifications by adding idle sources
to the default context.  The idle callback will update the row from the
appropriate thread.
2013-05-23 16:36:02 -04:00
Matthew Barnes 9058c6f85d Make EAttachment a little more thread-safe.
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()
2013-05-23 16:36:02 -04:00
Matthew Barnes 256422cab2 Attachment-related cleanups. 2013-05-23 16:36:01 -04:00
Matthew Barnes fe528d7847 Minor e_web_view_install_request_handler() cleanup.
Make reference count handling a bit less awkward.
2013-05-14 15:20:14 -04:00
Milan Crha 16bf152272 Bug #699980 - Calendar delete does not remove events from view 2013-05-14 12:00:17 +02:00
Matthew Barnes 58ef547151 Coding style and whitespace cleanup. 2013-05-08 08:28:09 -04:00
Matthew Barnes 09e483b450 EPhotoCache: Forgot to unlock a mutex.
Yikes, that would be bad...
2013-04-26 14:02:17 -04:00
Matthew Barnes c155b170bc EPhotoCache: Fix deadlock when cancelling subtasks.
This seems to have started with the gravatar module.  SoupRequest is
apparently quite eager to cancel HTTP requests -- so much so that we
need to slow it down within EPhotoCache, so we don't wind up calling
g_cancellable_disconnect() during a GCancellable signal emission.
2013-04-26 13:18:38 -04:00
Fabiano Fidêncio 009ac971e0 Bug 698488 - Attachment file chooser should preview attachments' content when possible 2013-04-26 02:03:37 +02:00
Matthew Barnes 8b245838de Add e_activity_cancel().
Convenience function cancels the activity's GCancellable.
2013-04-25 11:42:04 -04:00
Matthew Barnes d0a0a39798 Document EActivity. 2013-04-25 11:42:04 -04:00
Matthew Barnes c5a181da02 EPhotoSource fixup 2013-04-23 20:56:52 -04:00
Matthew Barnes 3bf02daa08 Reimplement EPhotoCache to use EPhotoSource.
Reimplement EPhotoCache to delegate the actual photo fetching to
EPhotoSources.  When a photo is requested for a given email address,
all available EPhotoSources are dispatched concurrently and a photo
input stream is selected from the result set.

This also utilizes EDataCapture, which is affixed to the returned
GInputStream to capture and cache photo data for an email address.

New functions:

    e_photo_cache_add_photo_source()
    e_photo_cache_list_photo_sources()
    e_photo_cache_remove_photo_source()
    e_photo_cache_add_photo()

Renamed functions:

    e_photo_cache_remove() --> e_photo_cache_remove_photo()
2013-04-23 20:52:20 -04:00
Matthew Barnes 5991b04ac5 Add EPhotoSource interface.
EPhotoSource is an interface used to extend the functionality of
EPhotoCache.  You can add an object implementing EPhotoSource to an
EPhotoCache with e_photo_cache_add_photo_source() and remove it with
e_photo_cache_remove_photo_source().  When EPhotoCache needs a photo
for an email address, it will invoke e_photo_source_get_photo() on all
available EPhotoSource objects simultaneously and select one photo.
2013-04-23 20:06:01 -04:00
Matthew Barnes c64602b397 Add EDataCapture.
EDataCapture is a GConverter that captures data until the end of the
input data is seen, then emits a "finished" signal with the captured
data in a GBytes instance.

When used with GConverterInputStream or GConverterOutputStream, an
EDataCapture can discreetly capture stream content for the purpose
of caching.
2013-04-23 20:06:01 -04:00
Matthew Barnes ea7e2ab44b Update libeutil API docs. 2013-04-23 15:21:03 -04:00
Milan Crha b064d64be7 [EMailFormatter] Use GdkRGBA and GtkStyleContext to get theme colors
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.
2013-04-23 14:59:09 +02:00
Matthew Barnes 60386356e3 Remove "Search for sender photograph only in local address books".
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.
2013-04-20 13:15:27 -04:00
Matthew Barnes 5e1934425d EPhotoCache: Fix a runtime warning.
Stop searching address books on the first error but don't indicate
failure if we've managed to accumulate contacts prior to the error.
2013-04-20 13:15:27 -04:00
Matthew Barnes 65fed9486c EPhotoCache: Fix a documentation typo. 2013-04-19 08:11:02 -04:00
Matthew Barnes d4473cf20a Bug 698042 - Crash when sending e-mail with attachment 2013-04-18 16:55:38 -04:00
Matthew Barnes 7dec65de1a build: Fix srcdir != builddir from git
Mimicing Colin's commit fb9b02e for E-D-S.

We can't do (cd $(srcdir); ...) and inside reference $(top_srcdir)
because that variable uses a *relative* path.  Thus we copy the
approach from gnome-shell of explicitly using addprefix to append
the source directory.
2013-04-18 11:30:24 -04:00
Tomas Popela f6d4d6db61 Search bar functionality polishing
Polishing after switching from Evolution's highlight implementation to WebKit's one.
2013-04-15 16:46:57 +02:00
Tomas Popela b9a1dcc4df Remove Evolution's implementation of highlighting and use WebKit highlighting. Fixes Bug#696673 2013-04-12 16:07:27 +02:00
Milan Crha 1c5f6313c5 Bug #681837 - Make enum type registration thread safe 2013-04-12 09:50:06 +02:00
Matthew Barnes eb6ecc6fb5 EWebView: Disable WebKit plugins during instance initialization.
Calling webkit_get_web_plugin_database() somehow ends up calling
g_bus_get_sync(), which in turn makes gtkdoc-scangobj hang forever.

Call it instead as a GOnce callback during instance initialization,
which avoids the hang since gtkdoc-scangobj only peeks at classes.
2013-04-08 22:18:07 -04:00
Matthew Barnes fa875d8565 EWebView: Remove a backward-compatibility hack.
We require WebKitGTK+ >= 1.10 so we can drop a hack to support < 1.9.6.
2013-04-07 12:24:47 -04:00
Matthew Barnes b83a9cd5bb EWebView: Use a GQueue to track highlight strings.
This also removes an unused function e_web_view_get_highlights() which
was returning a GSList.
2013-04-07 12:24:47 -04:00
Matthew Barnes e0a85ffed4 EWebView cleanups. 2013-04-07 12:24:47 -04:00
Matthew Barnes 4d3d4aaab9 Remove e_preferences_window_filter_page().
No longer used.
2013-03-31 12:10:54 -04:00
Matthew Barnes 0494d4c3c6 Remove EUIManager.
No longer needed.  Use GtkUIManager directly.
2013-03-31 12:10:54 -04:00
Matthew Barnes 0125093ff7 Add e_load_ui_manager_definition().
Loads a UI definition into a GtkUIManager from Evolution's UI directory.

We actually had this function for a brief period during the 2.29 series,
before Express Mode was a thing.  I'm reviving the function to take over
for EUIManager.
2013-03-31 12:10:54 -04:00
Tomas Popela 39e4534665 Bug #684245 - Disable 3rd-party browser plugins 2013-03-25 15:22:12 +01:00
Milan Crha 929742a76f Bug #696185 - Disable WebKit's caching 2013-03-25 15:00:17 +01:00
Milan Crha 4b03f11c4c Bug #696173 - Various memory leaks 2013-03-25 14:57:01 +01:00
Matthew Barnes 3b20569876 Convert all "week-start-day" properties to GDateWeekday. 2013-03-17 08:49:12 -04:00
Matthew Barnes 4d58a800fa Use e_source_registry_list_enabled() where appropriate. 2013-03-17 08:49:11 -04:00
Matthew Barnes 959c04d0ce Add argument checks to weekday functions. 2013-03-14 20:15:08 -04:00
Matthew Barnes 035fa295cd Bug 676696 - Automatic EXIF image rotation doesn't work
Requires WebKitGTK+ 2.0 to work again.
2013-03-14 18:30:50 -04:00
Matthew Barnes 417d720906 EWebView: Whitespace cleanups. 2013-03-14 18:26:31 -04:00
Matthew Barnes aa394ce82e client_cache_process_results: Fix runtime warnings.
Use g_simple_async_result_complete_in_idle() so the queued results
complete in the correct main loop context.  Otherwise we get runtime
warnings:

    "g_simple_async_result_complete() called from wrong context!"
2013-03-14 18:23:34 -04:00
Matthew Barnes d1eb86b2c3 EContactStore: Remove unnecessary warnings. 2013-03-11 14:23:16 -04:00
Matthew Barnes ee18b469c7 Make ESpellEntry extensible. 2013-03-11 13:37:57 -04:00
Matthew Barnes bf2823d50f ESpellEntry cleanups. 2013-03-11 13:37:57 -04:00
Matthew Barnes 41a30e59c8 EUIManager: Fix a bad DocBook tag in comment. 2013-03-08 13:13:30 -05:00
Matthew Barnes 494c98c764 Add weekday conversion functions.
e_weekday_to_tm_wday()
e_weekday_from_tm_wday()
2013-03-08 12:39:27 -05:00