Commit Graph

24 Commits

Author SHA1 Message Date
7b291270e0 [ETree/ETable] Implement GtkScrollableInterface::get_border() for Gtk 3.15.9+ 2015-02-26 17:56:49 +01:00
9fd7f3671a ETable: Fix a leak of an ETreeModel
There were added two references to the ETreeModel, one at et_real_construct(),
the other at e_table_construct(), but only one of them had been removed,
which effectively caused a leak of the ETreeModel instance.
2014-09-30 18:09:03 +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
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
10c05bd15f Bug #710337 - Define ETree/ETable "alternating-row-colors" style property 2014-03-13 19:22:05 +01:00
03ca50dbe3 Bug #722938 - Adapt a11y code for newest gtk
As of gtk+ 3.2, AtkObjectFactories are no longer used to generate
accessibles for gtk widgets, so our custom atk classes need refactoring.
2014-03-12 17:22:54 +01:00
c53fbc0b8f Miscellaneous cleanups. 2014-03-02 19:36:01 -05:00
1b2ae054bf Replace usage of __FUNCTION__ with G_STRFUNC 2014-01-23 10:12:13 +01:00
b21733d067 Bug 721545 - License text contains obsolete FSF postal address 2014-01-07 16:05:51 -05:00
bc0d5d40ed Bug 710797 - Name all the timeouts added with g_timeout_add() 2013-10-29 15:22:35 -04:00
cd76c782bd Miscellaneous cleanups. 2013-07-07 11:39:47 -04:00
3d1514fb67 Remove e_table_set_state().
No longer used.
2013-07-02 10:34:12 -04:00
058c39cd61 Remove e_table_get_state().
No longer used.
2013-07-02 10:34:12 -04:00
aeefcadc77 Remove e_table_new_from_spec_file().
Also remove e_table_construct_from_spec_file().

Use e_table_new() or e_table_construct() instead.
2013-07-02 10:34:11 -04:00
8b04ed82b3 e_table_new: Take an ETableSpecification parameter.
Creating an ETableSpecification is failable, so it's now up to the
caller to do that and handle errors before calling e_table_new().
2013-07-02 10:34:11 -04:00
f38b9b6fb7 e_table_new_from_spec_file: Remove unused "state_fn" parameter. 2013-07-02 10:34:10 -04:00
27c8788ce8 e_table_new: Remove unused "state_str" parameter. 2013-07-02 10:34:10 -04:00
a26bdd4ed4 ETableState: Convert the column index array to a column spec array. 2013-07-02 10:34:09 -04:00
96b07a2ff0 ETableCol: Embed an ETableColumnSpecification.
Eliminates a few redundant fields.
2013-07-02 10:34:09 -04:00
05c04b5512 ETableState: Add a "specification" construct-only property.
ETableState now keeps a weak reference on the ETableSpecification to
which it's associated.  The plan is to replace the column index numbers
with a direct reference to an ETableColumnSpecification from the spec.

New functions:

  e_table_state_ref_specification()
2013-07-02 10:34:08 -04:00
4a101290fd Calendar views inline text edit with Ctrl+C/V/X does not work
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.
2013-06-21 15:56:34 +02:00
4b41929f49 Remove unused e_table_invert_selection(). 2013-06-19 14:43:09 -04:00
7dcd0b4499 Update API documentation. 2013-03-02 19:45:09 -05: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