Import divelogs.de

This XSLT converts divelogs.de logs into Subsurface format. Data that is
discarded: weather, water visibility, boat name.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add info on importing divelogs.de to user manual

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add unzip support to divelogs.de exports

Finalize divelog.de import, used with Miiko's divelog.de xslt transform

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Replace "SDE file" with "ZIP file" in translations

Generic naming after adding divelogs.de import.  It needs unzipping
the exact same was as SDE files does.

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add divelogs.de export info to the manual

Replaces the FIXME's in Miiko's patch

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
It seems that asciidoc doesn't allow dots in BlockIDs

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Turn the Release Notes into an actual announcement

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Documentation: Formatting "Setting up Preferences"

- Reformatted a few lists-used-as-tables in "setting up Preferences"
  to be real tables.

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Change divelogs.de export file suffix from .ZIP to .DLD

As Rainer finished up the export function on divelogs.de, he
used DLD as a suffix instead.

Suggested-by: Rainer Mohr <mail@divelogs.de>
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Update user documentation with divelogs.de suffix change

divelogs.de use DLD as suffix, not ZIP

Suggested-by: Rainer Mohr <mail@divelogs.de>
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Release notes: small fixes

- Fixed a typo.
- Changed "Buehlmann" to "Buhlmann".
- Added "Experimental" to the announcement of deco calculation.
- Since most of the text seemed to be written for 76 chars width,
  I did the same for the last few lines that exceeded that.

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Documentation: Consistent spelling of "Buhlmann"

Replaced "Bühlmann" with "Buhlmann".

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Fixed an incorrect by context translation in bg_BG

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Fixed a memory leak in the divelist when moving with the keyboard

There were some small leaks before here, related to gtk_tree_iter_copy(),
but there is another one in select_next_dive():
nextiter = gtk_tree_iter_copy(iter);

This now requires a SJ near the epilog where we do the memory cleanup.
Lets call this similar label consistently "free_iter" between
select_prev_dive and select_next_dive.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Unref the two GtkTreeStore instances when destroying the divelist

Even if these exists for the heap lifespan, we can call:
g_object_unref(dive_list.treemodel);
g_object_unref(dive_list.listmodel);

in divelist.c:dive_list_destroy()

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
info.c: add a method to clear all GtkListStore allocations

Add a new method in info.c called info_widget_destroy(), which
clears all GtkListStore instances. The method is exposed via
display-gtk.h and called from gtk-gui.c:on_destroy().

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
gps.c: Fixed a small memory leak

osm_gps_map_get_default_cache_directory() uses stdc:strdup to allocate
memory for the returned string. Lets try to free the memory
pointed by 'cachebasedir'.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
parse-xml.c: fixed a small memory leak related to xmlGetProp()

test_xslt_transforms():
xmlGetProp uses strdup(), so we have to clear the memory if a pointer
is returned.

xmlFree() doesn't seem very portable (strangly enought), so we
use free(..) directly.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Divelogs.de import empty value fix

This checks that weight and dive durantion are defined before importing.
(Empty value concatenated with unit gives an error on import.)

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Display the filename on error message

Display the filename in error message instead of just text 'ZIP file'

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>