g_strcasecmp() was deprecated and produces warnings with later glib,
which is fatal with -Werror. The method is used to relax an equal
comparison of the config name. Config names are not case sensitive and
SyncEvolution is using a similar "to lower" approach, so relaxing the
comparison is okay, although it is uncertain why exactly it is
necessary and/or whether it catches all cases.
All strings are expected to be UTF-8, but because SyncEvolution only
does primitive lowercasing itself, calling g_ascii_strcasecmp() seems
like a better match than the full UTF-8 aware case handling methods in
glib.
This reverts commit 2e01af7e09.
The commit had the unintended side effect of also triggering when
a direct sync config for a phone was edited (but not when it was created?!).
The error message was controversial to start with, so instead of
making the code even more complicated, let's remove the error
message.
The old ui.glade was still being referenced by the list of translatable
files. The corresponding files from the GTK3 version were missing.
automake doesn't seem to handle conditional _DATA files correctly. In contrast
to source files, they end up not being distributed when disabled. To solve
this, src/gtk*-ui/gtk-ui.am must be included unconditionally in src.am and
contain unconditional EXTRA_DIST entries for the two ui.xml files.
We want to support both GTK+-2.0 and GTK+-3.0 for the time being
(even if the former is just maintenance). This is not possible in
the same codebase without large amounts of ifdefs so we fork the UI.
Several variables were set but never used. In some cases this
was obviously harmless (copied boiler plate code), in others
it is less certain (missing error checking?). Might be worth checking.
The goal for now is to get the code to compile with gcc 4.6 and
the "set-but-not-used" warning enabled.
Recent glib deprecates the direct inclusion of some of its headers,
in favor of including glib.h. Doing that here whenever possible. gi18n.h
still needs to be included directly (otherwise it doesn't compile
on Debian Testing with glib 2.28).
Not sure about gio. I'm keeping the gio/ includes because they
are relevant on platforms where gio was not yet part of glib.
This widget pointer is null for the GTK+ UI, so calling a function
on it causes a warning.
Also ifdef-out the widget pointers that are really not used in the
Moblin/Meego UI, to avoid them being used unintentionally.
Conflicts:
configure.ac
test/ClientTest.cpp
test/testcases/eds_event.ics.funambol.tem.patch
Conflicts because of version number and updated test cases resp. local
delete optimization.
ActiveSync backend had to be adapted to modified InsertItemResult: now
it requests a merge when it detects duplicates, like the CalDAV backend
already did on the 1.2 branch.
All but toplevel Makefile.am are replaced with their non-recursive
counterparts. The generation of configure.in was removed (and thus
configure-{pre,post}.in are also removed) in favor of configure.ac
and m4 macros adding backend specific configure parts.
Version number is generated like in old build system.
There are still many things to improve, but for now there are no
immediate regressions. AUTOTOOLS-TODO contains a list of possible
improvements and fixes. AUTOTOOLS-TESTING contains what was tested
with current build system (configure flags, make options).
Ignore "peerType = WebDAV" configurations as well as the
configurations with syncURL starting with "local://@" temporarily
(before we actually support WebDAV in the UI).
This patch moves the files for the glib-based SyncEvolution client library
into src/dbus/glib. This will make it possible to add src/dbus/qt and
enable/disable various D-Bus related components in a sane way.wq
Because the UI checked for the no-longer existing "type" property,
it didn't handle any sources at all. Replacing with the new
"backend" property name solves the problem.
gcc 4.5.2 complained that a "case" value is not among those valid for
the "switch" enum. That's correct, the enum might be smaller than the
value. The root cause is an incorrect use of the enum type in the
callback: the signal itself is defined with gint.
One of them ("We don't know what this device...") was already
translated elsewhere. It might be that it is already translated in the
UI. The other ("Use these settings") was not and thus really showed up
as untranslated.
Previously, existing configs did not need the ConsumerReady flag to be
shown to users in the UI. This was (intentionally?) inconsistent with
templates, perhaps reasoning that users configuring unsupported peers
shouldn't have to bother with setting the flag.
This patch makes templates and configs behave alike: they are ignored
by the GTK sync-ui unless the ConsumerReady flag is explicitly set to
1. The reason is that removing that flag is used to hide backup copies
(*.old) of migrated configs.
It might also be a worthwhile feature by itself: I have a lot of
experimental configs, but only very few that actually need to show up
in the GUI.
Users who configured peers without that flag must add it manually if
the sync UI is meant to show them.
The settings for a device sync shows two checkboxes, one to "Send
changes to MYPHONE" the other to "Receive changes from MYPHONE". The
meaning of these two buttons are interchanged.
The settings are the same as in a web service. They were not mapped
correctly for a device because "refresh/one-way-from-server/client"
implies different data transfer directions depending on whether the
peer is a client or a server.
The solution for this issue is to switch the sync mode depending on
whether the config refers to a client ("PeerIsClient"). Added
an utility function and adapted:
- displaying existing configs
- changing configs
- refresh syncs in the emergency dialog
As commented by Pietro Battiston, the generic "Sync (GTK)" name, "Up
to date" comment and "Internet" category inherited from Moblin/MeeGo
are not quite suitable for a general purpose Linux desktop.
This patch changes the non-Moblin/MeeGo .desktop file. The MeeGo
installation is not modified.
We did not have a good idea for a generic name and thus kept the GTK
part to distinguish this SyncEvolution GUI from future other ones.
Category and comment were easier: "Synchronize PIM data" and
"Office;PDA;GTK", with GTK likely to be ignored.
Currently the configuration name for a new config is the
fingerPrint and it overwrites any existing configuration.
This commit starts using deviceName as the base name and adds a
incremental number to the end if a configuration already exists
for that name.
As reported by Peter Robison, the source code no longer compiles on
Fedora Core 13. The root cause is a name collision of a static
function with the previously defined system call sync().
GtkBuilder no longer sets widget name based on ui definition id. This
breaks name-based styling on all widgets originating from Glade, as
Glade does not take the GtkBuilder change into account.
Work around this by explixitly setting the widget names for the widgets
that are referenced by name in the rc-file.
Going to configuration view and back without selecting any
configuration would set "sync now" button sensitive. Clicking
the button would crash the ui.
This commit fixes both issues.
This gets rid of MuxWindow (and the related icon code and images)
for good: Now a specially named GtkToolbar and buttons inside it get
a special treatment from meego gtk theme engine, and end up looking
like Mx window title bar
The meego build will look a bit odd with other gtk themes, though