Commit Graph

561 Commits

Author SHA1 Message Date
9dcac58b21 Use thread safe variants of g_object_bind_property*() functions from evolution-data-server 2015-02-24 09:54:41 +01:00
d3f1c6f243 Bug 619449 - Preselect default source for Task/Memo panes in Calendar view 2015-02-19 16:35:54 +01:00
7520f3f2c3 Avoid busy loop on Calendar's Month view select
There could happen a busy loop on a Month view select, when the week
starts on Sunday was set. The date range clamp made the first day Sunday,
but the Month view itself corrected it to Saturday (it doesn't split
weekends), this was noticed and the time range was recalculated
again, by six days back. Then the round repeated down to 1970, till
a runtime critical warning wasn't hit.
2015-02-04 14:33:34 +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
a676422ad7 GSettings Bindings rely on quarks
There is a fake change notify on timezone when either a corresponding
file changes or the setting for "use system timezone" changes,
to propagate the change in the code properly. This notify requires
proper key identification for GSettings bindings, because without it
the binding crashes on a runtime check.
2014-11-13 11:46:13 +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
b71228952a Bug 657233 - Clean up "Calendar and Tasks" preferences in "General" and "Display" 2014-11-12 11:14:49 +01:00
a1df61c8cc Avoid runtime warning when disabling collection ESource
This is related to an ESourceSelector, which checks ESource's
selected state when it is removed or disabled, but the corresponding
row in the selector could be already gone, which could produce
a runtime warning about invalid GtkTreeRowReference.
2014-10-30 10:45:19 +01:00
0f6b8d8bf5 Stop using deprecated EDS symbols
Also enable EDS_DISABLE_DEPRECATED define when compiling with enabled
maintainer mode, to make sure the EDS deprecated symbols will not
be used again.
2014-10-17 10:33:03 +02:00
98a1b23112 Show ongoing progress of calendar views in UI
This was a remaining thing from the 'Make calendar views non-UI-blocking'
work, to show progress of views in UI. This is currently done by a spinner
beside source's name in the ESourceSelector and a tooltip above that row.
2014-10-15 14:13:05 +02:00
4f02ea569b Bug 738283 - Use-after-free with categories filter 2014-10-13 15:15:40 +02:00
c20c593a81 Fix a build break (missing libraries) in module/calendar 2014-10-13 08:51:17 +02:00
1c950517dc modules/calendar/Makefile.am: Return back forgotten migrate files 2014-10-07 13:50: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
1de2564ea0 Calendar View: Use smaller icons in the Search bar
The icons at the search bar, to search forward, backward and stop
searching were too large, which didn't look good. This makes them
smaller, though even here can be seen a little gap around
the images in the buttons which might not be there ideally.
2014-07-21 16:17:43 +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
6e9e7b0676 Ignore false GSettings key change notifications
Similar to GObject::notify, the GSettings::changed can be emitted
even if a key didn't change. It's up to the user (aka evolution)
to test for real changes, thus let's do it. It may have certain
performance positive impact too.
2014-06-05 16:59:29 +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
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
8692b1cb72 Add an --enable-code-coverage configure option to enable gcov support
When enabled, this will compile all libraries/binaries with the necessary
gcc and ld flags to enable code coverage support using gcov.
2014-03-25 12:04:58 +01:00
c53fbc0b8f Miscellaneous cleanups. 2014-03-02 19:36:01 -05:00
be7f5df707 Add missing action captions after gtk-stock replacement 2014-02-24 18:30:01 +01:00
d0b147ddb6 Add shortcuts previously defined by gtk-stock item definitions 2014-02-17 14:38:58 +01:00
b48e21d9aa Stop using deprecated gtk-stock items 2014-02-12 20:47:07 +01:00
7ab8b4d248 Memory leaks of GSettings objects 2014-01-30 19:47:25 +01:00
b21733d067 Bug 721545 - License text contains obsolete FSF postal address 2014-01-07 16:05:51 -05:00
7b98c39b0a Coding style and whitespace cleanup. 2013-12-07 10:04:45 -05:00
705a5a0000 Bug #712342 - Calendar search doesn't finish 2013-11-19 18:40:06 +01: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
fd67d7a343 Fix some cppcheck warnings (uninitialized variable usages) 2013-11-12 08:46:44 +01:00
ed2bc85f4f Bug #657808 - Copy/move of a single instance should grab whole serie 2013-11-04 21:04:07 +01:00
bc0d5d40ed Bug 710797 - Name all the timeouts added with g_timeout_add() 2013-10-29 15:22:35 -04:00
13d765e074 Remove e_source_selector_set_select_new().
Sets a flag that's no longer used internally by ESourceSelector.
2013-10-25 12:18:27 -04:00
4602a56ed0 Bug 707425 - Inconsistent capitalization in calendar Search menu 2013-09-22 07:09:02 -04:00
3da4948c0f Miscellaneous cleanups. 2013-09-07 19:08:54 -04:00
96c6e7bc26 Add EShellView to E{Calendar,MemoList,TaskList}Selector
https://bugzilla.gnome.org/show_bug.cgi?id=657808
2013-09-05 15:00:59 +02:00
781cd7ccf1 Bug #658164 - Pressing the "Make this Occurrence Movable" changes meeting time 2013-08-27 01:52:02 +02:00
e9c6ceda77 Bug 704861 - Runtime warning in calendar module 2013-07-29 07:12:38 -04:00
8fe17523da Miscellaneous cleanups. 2013-07-27 22:39:37 -04:00
d0ed242a24 ETaskShellView: Disconnect all signal handlers in dispose(). 2013-07-20 09:07:43 -04:00
0ad9e24744 EMemoShellView: Disconnect all signal handlers in dispose(). 2013-07-20 09:07:43 -04:00
3b7efa149a ECalShellView: Disconnect all signal handlers in dispose(). 2013-07-20 09:07:43 -04:00
7a05cf2cf7 Bug #703153 - Forgotten signal callbacks for freed objects 2013-07-19 17:43:46 +02:00
cd76c782bd Miscellaneous cleanups. 2013-07-07 11:39:47 -04:00
df1dc37704 EShellView can load the GalViewCollection itself now.
EShellView no longer needs help from subclasses other than getting
the needed GalView subclasses registered.

A nice side-effect of this is EShellView subclasses can now use the
G_DEFINE_DYNAMIC_TYPE macro.
2013-07-05 16:40:50 -04:00
7bb795b299 Remove gal_view_collection_add_factory().
No longer needed.  Instead, use g_type_ensure() to ensure the necessary
GalView subclasses are registered in the GType system before loading a
GalViewCollection.  Best place to ensure types is from GClassInitFunc.
2013-07-05 16:40:50 -04:00
033d5013d3 Split CalendarViewFactory into separate classes by view type.
I suspect this will enable us to ditch GalViewFactory entirely once I
rework a few more things.  We'll see though; one step at a time here.
2013-07-05 16:40:50 -04:00
3f5f362e0d Split CalendarView into separate classes by view type.
It's better to have separate classes each with a fixed type code, than
one class with a variable type code.  You'll see why in the next commit.
2013-07-05 16:40:49 -04:00
2b9713656b GalViewFactoryEtable: Remove "specification" property.
No longer needed.

Removed functions:

  gal_view_factory_etable_get_specification()
2013-07-05 16:40:49 -04:00