This is needed to move one-time operations from AkonadiSyncSource into the main thread if (and only if) the source is used in a background thread. Akonadi can't be used in a thread unless the thread was created with QThread, which is not the case in SyncEvolution. The basic functionality is the same as the older GRunWhile(). It just has to be extended so that the action is guaranteed to be called only in the main thread and there runs only once. This is achieved by turning the action into a check which immediately returns false. AkonadiSyncSource cannot include GLibSupport.h due to conflicting usage of "signal" (a define in Qt, parameter name in glib), therefore these functions are now made available via util.h. |
||
---|---|---|
.. | ||
backends | ||
dbus | ||
gdbus | ||
gdbusxx | ||
gnome-bluetooth | ||
gtk-ui | ||
gtk3-ui | ||
syncevo | ||
synthesis-includes | ||
templates | ||
async.patch | ||
client-test-app.cpp | ||
README.h | ||
README.templates | ||
shlibs.local | ||
src.am | ||
syncevo-local-sync.cpp | ||
syncevolution.cpp | ||
testcases.am | ||
valgrind.supp |
The configuration templates in "templates" get installed into $(datadir)/syncevolution/templates. When adding/changing a new server, then only enter the properties which need to be changed here so that the default values can be used for the remaining properties. An icon can be added here for servers. The file name must start with "icon". Server configurations must be kept in sync in three different places: - here (if a server is installed as files) - in SyncEvolutionConfig.cpp's EvolutionSyncConfig::createServerTemplate() - in SyncEvolutionCmdline.cpp's test server configs - in test/test-dbus.py testGetConfigsTemplates() Note that server icons must come with a suitable license that allows redistribution.