robertlipe [Sat, 23 Mar 2013 21:25:32 +0000 (21:25 +0000)]
Remove hack from GPX writer that over-aggressively quoted apostrophes. Doing
that inside a CDATA, for example, is Very Bad.
Manually edited the GPS reference files that were affected - all of which
were our own data, anyway...
tsteven4 [Fri, 15 Mar 2013 01:51:01 +0000 (01:51 +0000)]
gpx: passthrough xmlns attributes. This resolves a bug where namespaces could be used but undeclared.
gpx: do not write schemaLocation attributes. This resolves a bug where the version referenced by schemaLocation didn't match the version we used.
gpx writer: reduce the amount of forced formatting, letting the QXmlStreamWriter formatter do its thing.
robertlipe [Sat, 9 Mar 2013 21:45:22 +0000 (21:45 +0000)]
Pencil-whipped the remaining OLDGPX cases and convinced myself we'd delivered
parity. Removed fprintf style output totally in favor in Qt XML serializer.
tsteven4 [Tue, 5 Mar 2013 13:35:41 +0000 (13:35 +0000)]
Fix gpx reader difficulty with elements that are not passed through who have parents that are.
Make fprint_xml_chain, garmin_fs_xml_fprint and gpx_write_common_extensions mutually exclusive.
tsteven4 [Sat, 23 Feb 2013 22:20:03 +0000 (22:20 +0000)]
Fix invalid output with "-o gpx,garminextensions=1" and the new gpx writer.
There are still lots of issues with garmin extensions if the input and output are both gpx.
robertlipe [Thu, 21 Feb 2013 21:53:20 +0000 (21:53 +0000)]
Subclass QXmlStreamWriter. Use it to abstract the test for null strings
(which is different for C Strings and QStrings) to avoid writing empty
XML tags.
robertlipe [Wed, 20 Feb 2013 05:56:01 +0000 (05:56 +0000)]
Make a serious attack on the new XML serializer for GPX. This version actually
totally passes our test suite, byte for byte, even when our old version was
kind of dumb. There's still plenty of work to be done but it's at a point
where we could consider turning it on by default soon.
robertlipe [Mon, 18 Feb 2013 04:39:31 +0000 (04:39 +0000)]
Start scratching in new GPX writer, turned off right now.
Problems remain in output encoding and some of the darker corners (GPX 1.1,
preserving unknown trails, weird header munging, etc.) aren't implemented yet.
robertlipe [Mon, 11 Feb 2013 21:50:47 +0000 (21:50 +0000)]
Tested:
Move icon_descr to a reference-counted QString, freeing us from the horror
of the 'is_dynamic? xfree()' mess and the issues in waypt_dupe. The code
is better in some ways, but suffers now while there are still a lot of
const char*/QString edges, but there's only so much you can do in one commit
and still keep the tree running.
Builds Mac and Mingw-cross. valgrind runs on Ubuntu. (and caught a few
errors as I introduced them.)
tsteven4 [Sun, 10 Feb 2013 23:31:06 +0000 (23:31 +0000)]
CoastalExplorer: Allow compilation to succeed without expat.
Note that using this format, and many others, witout expat will result in fatal run time errors.
robertlipe [Sun, 10 Feb 2013 06:02:10 +0000 (06:02 +0000)]
Beging the long, hard road of moving core structures from char * to QString.
Mostly, this just compartmentalizes the pain of character set conversions in
xmlgeneric.cc while letting them accpet QStrings.
robertlipe [Tue, 29 Jan 2013 20:51:17 +0000 (20:51 +0000)]
Silence the 'illegal byte sequence' on Mountain Lion. We're invoking sed
and if LANG is en_US.UTF-8 (the default) sed complains about the invalid UTF
encodings. Just force it to C for this DOP test and back.
robertlipe [Sun, 27 Jan 2013 22:12:25 +0000 (22:12 +0000)]
Turn on the first real use of Qt, replacing the creation_time in our waypoints
with a QDateTime which will (eventually) give us coherent times before 1970
and with decent sub-secont support. This patch itself doesn't really give
us that, but it lays important steps.
Right now, it's conditionally compiled under NEWTIME, but I don't expect that
to last very long. We'll move to *requiring* Qt very quickly; this is a prop
for ease of development right now.