Commit graph

3302 commits

Author SHA1 Message Date
Linus Torvalds
28aba5a206 Flesh out the UDDF xml parsing a bit more
This uses the example UDDF file from Jan Schubert's Heinrichs Weikamp
DR5 dives, and now parses the dive dates, the cylinder mixes and the gas
switch events correctly (or at least partially).

It's not perfect: the gas mix has an "id" field that we ignore, and
instead we just depend on the cylinders being in order (which they seem
to be).  And I have rather limited test-cases, so maybe something else
is messed up too.  But for the six example dives I have, this gives
reasonable data.

Test-data-by: Jan Schubert <Jan.Schubert@gmx.li>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-22 09:13:20 -08:00
Robert C. Helling
e19669a2e5 REDME: update dependencies
We also need libxslt1-dev and zlib1g-dev

Signed-off-by: Robert Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-22 07:23:56 -08:00
Dirk Hohndel
dab04aa3d5 Documentation: correct mis-spelling
It's the Heinrichs Weikamp Frog, not From.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-22 07:08:48 -08:00
Dirk Hohndel
cdef0e4555 Windows: add libzip dll to installer package
This was missing in the first set of Subsurface 3.0 binaries

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-22 07:08:36 -08:00
Dirk Hohndel
697ce2380f Some more tweaks to README and ReleaseNotes
Make the two files more consistent, add list of supported dive computers
to ReleaseNotes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-21 07:29:14 -08:00
Jozef Ivanecký
34197dc7ee Update Slovakian translation
Signed-Off-By: Jozef Ivanecký <dodo.sk@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-21 06:13:29 -08:00
Lubomir I. Ivanov
65b6941e7c Some small changes to the Windows NSI script
- on uninstall, delete all XSLT files and the "$instdir\xslt" folder itself
- manage a desktop icon (i believe we had that before?)
- ignore SVG files, as we are now embedding them as static resources

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-21 05:50:26 -08:00
Dirk Hohndel
678dafbe67 Update MacOS make-package script
The three digit number is needed for the Info.plist, not for the dmg and
volume names.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 22:45:11 -08:00
Dirk Hohndel
78dda16d1c Add missing library to Windows installer
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 22:39:53 -08:00
Dirk Hohndel
7f8c78633b Documentation: minor spelling corrections
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 22:12:24 -08:00
Dirk Hohndel
91c6d57e32 Correctly capitalize JDiveLog
Suggested-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 22:02:40 -08:00
Dirk Hohndel
153670ed4e Disable Croation and Italian translations
About 220 strings are missing from each of them - it's better to give
people a consistent English experience than a half-translated one.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 21:55:08 -08:00
Dirk Hohndel
59a39e4901 Updating versions for 3.0
Most of the actual version numbers are derived from the git tag, but we do
have the fallback hard-coded in the Makefile (e.g. for people building
from a source tar-ball).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 21:54:16 -08:00
Miika Turkia
fcb470acad A bit of tweaking on Releasenotes.txt
I like to mention the most important features first (thus the profile is
added to the introductory chapter).

Moving word 'also' to different place on the GPS paragraph to indicate
that map is not the only way of inserting GPS coordinates.

JDivelog import was in 2.1 release so removed from here (it is actually
written JDiveLog - with capital L - should probably be fixed in user
manual).

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 21:45:51 -08:00
Linus Torvalds
bc5f82990d Fix divide-by-zero bug in statistics.c
GET_LOCAL_SAC did not check if the two entries had different time stamps
and could therefore cause a divide-by-zero. x86 doesn't fault on that -
it's still wrong. This now calls a function that does proper checking of
all the values involved in the calculation.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 21:24:08 -08:00
Miika Turkia
49b4f7c4ac 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>
2013-02-20 20:24:39 -08:00
Miika Turkia
ff1c33401b 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>
2013-02-20 20:19:59 -08:00
Lubomir I. Ivanov
dcad3af8b6 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>
2013-02-20 17:21:25 -08:00
Lubomir I. Ivanov
ef4a39c613 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>
2013-02-20 17:21:03 -08:00
Lubomir I. Ivanov
61698b9f55 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>
2013-02-20 17:20:52 -08:00
Lubomir I. Ivanov
0b4dfd6cff 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>
2013-02-20 17:20:22 -08:00
Lubomir I. Ivanov
9a5818e92c 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>
2013-02-20 17:19:50 -08:00
Lubomir I. Ivanov
26a973cf5f 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>
2013-02-20 17:17:52 -08:00
Reinout Hoornweg
2c3327d1b7 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>
2013-02-20 17:17:20 -08:00
Reinout Hoornweg
09a70bd40d 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>
2013-02-20 17:16:56 -08:00
Henrik Brautaset Aronsen
b354fc67bc 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>
2013-02-20 12:06:34 -08:00
Henrik Brautaset Aronsen
c3c3dd84ac 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>
2013-02-20 12:06:08 -08:00
Reinout Hoornweg
9f5a636c6a 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>
2013-02-20 11:59:21 -08:00
Dirk Hohndel
1c2df4987a Turn the Release Notes into an actual announcement
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 11:57:13 -08:00
Dirk Hohndel
7374f3eaf1 It seems that asciidoc doesn't allow dots in BlockIDs
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 11:23:52 -08:00
Henrik Brautaset Aronsen
7da4bc928c 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>
2013-02-20 11:00:43 -08:00
Henrik Brautaset Aronsen
0159607c4f 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>
2013-02-20 11:00:06 -08:00
Henrik Brautaset Aronsen
80539614b4 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>
2013-02-20 10:59:53 -08:00
Miika Turkia
f6debdc183 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>
2013-02-20 10:59:16 -08:00
Miika Turkia
9b4c251ebe 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>
2013-02-20 10:57:24 -08:00
Lubomir I. Ivanov
32761485d1 Indicate to the user a default divelist sorting order
Each time subsurface starts there is supposedly no sorting order
(or divelist column) specified by the UI, yet the actual column is '#'
(or dive number column), since its the *only* column which allows
trips to be visible. If the user selects a different sorting order
then he has no idea which column was the one who had the trips visible.

"Where did all those 'trip' things go?"
This can be a bit confusing...

Lets provide indication by calling gtk_tree_view_column_set_sort_indicator().
Also call gtk_tree_view_column_set_sort_order() to specify a descending
order.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 07:24:59 -08:00
Lubomir I. Ivanov
57e8349b87 Preserve keyboard focus when changing sorting order in the divelist
When the user changes the dive list sorting order via clicking
on different column titles, using gtk_widget_grab_focus() gives
keyboard focus back to the list itself (not staying on the column titles),
which gives a hint that the list itself has focus index of 0 and is
reset each time the widget receives this type of "initial" focus.

Acked-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-20 07:24:28 -08:00
Dirk Hohndel
b406dbe1c0 Fix tracking of selected dives across sort column changes
With  commit 800b0482f39e ("When switching sort order, scroll the dive
list to the current dive") we introduced an unwanted new behavior. When
changing sort columns we could lose all selections except for the main
"selected_dive". This was caused by the call to gtk_tree_view_set_cursor
on the selected_dive which unselected all other dives.

As a side-effect this also fixed another bug that was introduced by the
same change: shift-cursor-up and -down now works again to select multiple
dives with the keyboard.

But fixing that bug unearthed a different issue. Our code that restored
the selection state of the tree model oddly decided to mark a divetrip as
selected if its first child was selected. The bug above masked that by
immediately unselecting the trip again, but now that this was fixed the
problem was immediately obvious: we would start with both the first trip
and the first dive in that trip selected (well, since we are in reverse
order it's actually the chronologically last trip and last dive...).

Instead we now use the remembered state of the trip to determine whether
it should be expanded or selected.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 23:55:24 -08:00
Reinout Hoornweg
18a4d76ca5 Documentation: more tables in "View Info & Stats"
- Even more tables.
- Renamed the chapter to "View Dive Info & Stats" because one of the
  tabs being described is named "Dive Info" and not "Info".

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 15:19:35 -08:00
Cristian Ionescu-Idbohrn
806f4f87e0 Makefile quorks :( Yes we want a 'doc' target for itself...
...to avoid generating the HTMLDOC target even if it needs not to.

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 15:16:41 -08:00
Reinout Hoornweg
bd9503d7c2 Documentation: Updated "Edit Equipment Info"
- More lists converted into tables.
- Minor changes to text.

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 15:16:29 -08:00
Dirk Hohndel
ac38aa0243 Planner: fix incorrect gas change event
We stored the He permille instead of the He percentage. But for most
casual testing this was hidden by the previous bug.

Reported-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 15:10:01 -08:00
Dirk Hohndel
8527720794 Planner: Start calculations with gas 0 instead of air
The planner had a fatal flaw in that it ALWAYS started with AIR, even when
clearly claiming to use the correct gas. We only picked up correct gases
from events, but not at the beginning of the dive (where there is no
event).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 14:28:07 -08:00
Linus Torvalds
0fd6907965 Obviate the need for explicit 'remember_tree_state/restore_tree_state' calls
Instead, just keep track of the expanded state of trips as we get the
gtk callbacks for the state changes (which we need to track anyway for
the selection logic), and automatically restore the state whenever we
re-create the divelist.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 14:00:21 -08:00
Linus Torvalds
f175c1a9d7 Remember pre-existing trip expansion state when autogrouping
This just adds the "remember_tree_state()" and "restore_tree_state()"
calls around the divelist update when autogrouping is turned on: that
way existing expanded groups aren't blindly collapsed.

It makes it much easier to see what autogrouping does if it only groups
a few dives, because the overall state of the divelist isn't radically
changed.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 13:16:50 -08:00
Miika Turkia
e544594d9b Documentation: update main windows image
Sent to the list by Miika for inclusion in the user manual...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 13:13:33 -08:00
Reinout Hoornweg
5ad892f590 Documentation: updated section "Edit the Dive Info"
- Made tables of semi-formatted texts.
- Rewrote some of text because the screenshot and table are both
  about the same thing. The screenshot is more important now, the
  table is explanation of screenshot.

Signed-off-by: Reinout Hoornweg <reinout@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 13:11:21 -08:00
Linus Torvalds
aa6b164a3e Remember non-expanded state in 'remember_tree_state()' too
The 'remember_tree_state()' thing is meant to remember if a dive trip is
expanded or not, but it missed the "or not" part.  IOW, it never cleared
the expanded flag, it only ever set it.

As a result, if you were doing multiple operations on the divelist tree
(testing all the recent gtk-model removal, for example) the dive trips
would end up expanding more and more, even if you collapsed things by
hand in between operations.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 13:05:48 -08:00
Henrik Brautaset Aronsen
62193fd4f7 Tiny update to Norwegian translation of dive context menu
It just sounds better this way

Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 12:36:55 -08:00
Linus Torvalds
7847de62b1 Rewrite "merge_dive_into_trip_above()" using our own data structures
This does the moving of dives into the trip above without the complexity
of the gtk data structures, and instead just recreates the whole
divelist afterwards.  As usual, this simplifies things a lot, and the
less gtk-specific code we have, the better.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-02-19 11:50:58 -08:00