Commit Graph

1567 Commits

Author SHA1 Message Date
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
Matthew Barnes 9fa7358f74 Add more weekday arithmetic functions.
These aren't as efficient as possible, but are as clear as possible.

New functions:

    e_weekday_add_days()
    e_weekday_subtract_days()
    e_weekday_get_days_between()
2013-03-07 15:50:41 -05:00
Matthew Barnes 2b80037420 Rename functions in previous commit.
Changed my mind... got more to add.

e_get_next_weekday() -> e_weekday_get_next()
e_get_prev_weekday() -> e_weekday_get_prev()
2013-03-07 15:50:41 -05:00
Matthew Barnes 5e9bdd4509 Add e_get_next_weekday() and e_get_prev_weekday().
These just cycle over the GDateWeekday enum.

Trivial functions, but they help make loops a little easier to read.
2013-03-07 10:00:31 -05:00
Fabien Tassin 51bc12ddec Bug #695193 - Window size resets to default at exit with gtk 3.7.10+ 2013-03-06 18:15:02 +01:00
Matthew Barnes 8c903b9320 e-util-enums.h: Add EDateWeekday enum.
This enum type is intentionally compatible with GDateWeekday.
It exists only because GLib does not provide a GEnumClass for
GDateWeekday.  If that ever changes, this enum can go away.
2013-03-06 10:20:45 -05:00
Matthew Barnes 85aba54903 Document the enum types in e-util-enums.h. 2013-03-06 10:01:16 -05:00
Matthew Barnes a659ca9e35 e-util.h: #include <e-util/e-util-enumtypes.h>
So the generated GEnumClass types can be used outside of libeutil.
2013-03-05 12:43:25 -05:00
Matthew Barnes 7dcd0b4499 Update API documentation. 2013-03-02 19:45:09 -05:00
Matthew Barnes 4ff90f2bfd Use EClientComboBox where appropriate.
Basically any place where we use both EClient and ESourceComboBox.
2013-03-01 18:16:07 -05:00