Commit Graph

29 Commits

Author SHA1 Message Date
5f900a3006 Update devel-doc Since from 3.14 to 3.16
As the 3.14 version will be skipped, to get back to sync with
the version of GNOME, then the right Since version is 3.16.
2015-02-24 10:16:02 +01:00
9dcac58b21 Use thread safe variants of g_object_bind_property*() functions from evolution-data-server 2015-02-24 09:54:41 +01:00
a6e34f0bb7 Move authentication of backends back to the client
Since this change the client is responsible to provide credentials
to use to authenticate backends (through ESource-s, to be more precise),
unless the credentials are already saved.
2015-02-02 14:50:27 +01:00
c6ad479883 Bug 741858 - Wrong message shown after the first folder enter 2015-01-06 15:03:31 +01:00
59e2efa774 Share GSettings objects with e_util_ref_settings()
A simple Evolution run and move between all views means creation of
more than 100 GSettings objects, with only a bit more than 10 schemas.
Reusing the objects should have a positive impact on a performance too.
2014-11-13 10:06:04 +01:00
e6810c9b04 Fix various memory leaks and invalid memory usages 2014-10-07 07:27:35 +02:00
8752647eca Make Calendar, Memos and Tasks views non-UI-blocking
The Calendar, Memos and Tasks views use to do D-Bus calls to
the backends on the main (UI) thread, which could result in UI
freezes, until the operation was done on the backend (and server)
side. This commit fixes that by invoking the operations in
a dedicated thread. It has few additional advantages too:
- operations can be cancelled
- proper error reporting to a user
- less code duplication between the views for common operations

There had been fixed some performance issues when selecting/unselecting
sources in the source selector as well.
2014-10-06 12:33:03 +02:00
4dd6f42bb2 Fix typo in the e_rgba_to_color documentation 2014-10-02 10:55:31 +02:00
50bda1bad2 Replace GtkStyle usages with GtkStyleContext
This makes evolution depend on theme-defined named colors, namely:
   theme_bg_color
   theme_base_color
   theme_fg_color
   theme_text_color
   theme_selected_bg_color
   theme_selected_fg_color
   theme_unfocused_selected_bg_color
   theme_unfocused_selected_fg_color
If it's not defined, then a fallback color is used, in the worse case
one of the fallbacks defined in evolution itself.
2014-07-07 12:51:41 +02:00
8650fb139a Bug 540362: [webkit-composer] Use webkit for composer
Merge wip/webkit-composer branch into master.
2014-06-09 16:32:25 +02:00
2e71c86143 Properly disconnect signal handlers added with e_signal_connect_notify*()
This is a follow-up for the previous commit, where e_signal_connect_notify*()
functions had been added. Due to a different callback and user data being
attached to the 'notify' signal, the g_signal_handlers_*() functions do not
work properly, thus these e_signal_connect_notify*() functions need
a different way for a signal handler disconnect.

A side-change was done in e-settings-web-view-gtkhtml.c, checking for a real
key change from GSettings.
2014-06-05 11:47:13 +02:00
2f3fbdd6c6 Ignore false GObject property change notifications
This is related to bug 698275, which did not cover all cases.
The problem here is that the dconf can in certain situation claim
that everything changed (path "/" changed), which GSettingsBinding
propagates to a GObject property unconditionally and GObject's
property setter (g_object_set_property()) also notifies about
the property change unconditionally, despite the real descendant
property setter properly checks for the value change. After all
these false notifications a callback on "notify" signal is called
and possibly an expensive operation is run.

Checking whether the value really changed helps in performance, for
which were added new e-util functions:
   e_signal_connect_notify()
   e_signal_connect_notify_after()
   e_signal_connect_notify_swapped()
   e_signal_connect_notify_object()
which have the same prototype as their GLib counterparts, but they allow
only "notify::..." signals and they test whether the value really changed
before they call the registered callback.
2014-06-04 19:46:25 +02:00
d46ad6d3cd Bug #678843 - May re-prompt password on account re-enable 2014-05-12 19:47:16 +02:00
3bd387bc25 Bug #684425 - Do not pass NULL text to gtk_entry_set_text() 2014-04-11 10:49:15 +02:00
61b4bacf9a e-util: Port to thread-safe ECategories API
This ports the following two function calls throughout Evolution:
 • e_categories_get_list() to e_categories_dup_list()
 • e_categories_get_icon_file_for() to e_categories_dup_icon_file_for()

It necessarily changes some internal e-util API:
 • e_util_get_searchable_categories() to
   e_util_dup_searchable_categories()

This bumps the EDS requirement to 3.13.1.

https://bugzilla.gnome.org/show_bug.cgi?id=727221
2014-03-28 10:44:44 +00:00
052bfc93fe Fix a runtime warning on startup.
Calling g_source_remove() on a saved source ID but not resetting the
source ID to zero.
2014-02-11 08:39:16 -05:00
b21733d067 Bug 721545 - License text contains obsolete FSF postal address 2014-01-07 16:05:51 -05:00
570c637480 Fix/mute issues found by Coverity scan
This makes the code free of Coverity scan issues.
It is sometimes quite pedantic and expects/suggests some
coding habits, thus certain changes may look weird, but for a good
thing, I hope. The code is also tagged with Coverity scan
suppressions, to keep the code as is and hide the warning too.
Also note that Coverity treats g_return_if_fail(), g_assert() and
similar macros as unreliable, and it's true these can be disabled
during the compile time, thus it brings in other set of 'weird'
changes.
2013-11-15 09:06:57 +01:00
bc0d5d40ed Bug 710797 - Name all the timeouts added with g_timeout_add() 2013-10-29 15:22:35 -04:00
3da4948c0f Miscellaneous cleanups. 2013-09-07 19:08:54 -04:00
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
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
959c04d0ce Add argument checks to weekday functions. 2013-03-14 20:15:08 -04:00
494c98c764 Add weekday conversion functions.
e_weekday_to_tm_wday()
e_weekday_from_tm_wday()
2013-03-08 12:39:27 -05:00
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
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
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
51bc12ddec Bug #695193 - Window size resets to default at exit with gtk 3.7.10+ 2013-03-06 18:15:02 +01:00
d09d8de870 Consolidate base utility libraries into libeutil.
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.
2012-12-12 14:33:43 -05:00