Commit graph

8895 commits

Author SHA1 Message Date
Dirk Hohndel
5fe8919424 Small design fix to make labels on Info tab look aligned
By wrapping the Location label in a layout as well they now all look
aligned again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-29 12:43:11 -07:00
Dirk Hohndel
7704ed31ff cmake: missing space
This caused cut to fail and the whole dll dependency calculation went
wrong.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-28 13:40:18 -07:00
Dirk Hohndel
3a715c2299 Simplify creation of the upload file for Divelogs.de
Instead of writing each dive out to a file and reading that file back in,
let's just use the internal helper function that places the dive as XML
into a membuffer.

So much simpler, so much faster.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-28 11:28:53 -07:00
Dirk Hohndel
f4677d7604 Rename helper function and make it global
save_one_dive_to_mb() is very useful (but there was a namespace collision
with another helper in save_git.c)

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-28 11:27:36 -07:00
Dirk Hohndel
c519d0b32f Debian/Ubuntu packaging files: give correct credit in copyright notice
That was an embarrassing oversight on my part.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-28 10:45:03 -07:00
Dirk Hohndel
3043114446 Show error if creation of the Divelogs.de upload file fails
Previously we simply failed silently without showing the user any
indication that something went wrong. That seems wrong.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-28 10:42:54 -07:00
Salvador Cuñat
ef774032ed Update spanish translation of user manual to english c7c9b015
Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-27 21:16:49 -07:00
Jan Mulder
fdef2adfae Set the shared library file extenstion for the specific platform.
The shared library extension differs on MacOS.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-27 06:10:31 -07:00
Robert C. Helling
e19d38193d Disable planner UI elements without function
This disables planner UI elements in recreational mode that have no function
in that mode.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 16:54:29 -07:00
Tomaz Canabrava
35a3ba0be0 Do not call install_name_tool for Marble library
Here on my Mac I had an issue that took a long time to understand.
The build.sh script was correctly creating Marble but did not
correctly run otool on it. So I fixed this by fixing CMake for
the marble library which means we don't need to worry about it
in the build script anymore.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 12:18:14 -07:00
Tomaz Canabrava
d7e08514f1 Always reconfigure libdivecomputer
After doing a make clean / make confclean the makefiles
were erased and running the configure script again didn't
created the makefile.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 12:17:17 -07:00
Tomaz Canabrava
34c88f9a15 CMake needs hints that this will be a win32 or a mac bundle.
MACOSX_BUNDLE and WIN32 give hints to cmake for different
install behaviors. for instance, trying to copy frameworks
and other stuff to the correct places.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 12:17:17 -07:00
Tomaz Canabrava
6ace243a2a Don't deppend on CMake to find the right libraries.
We are compilling those libraries and we know where they are, so
pass the directories and the libraries in a go directly. CMake was
a bit random when choosing the correct ones, this way we are sure
we got them.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 12:17:12 -07:00
willem ferguson
c7c9b0155f Update of user manual text dealing with dive list context menu
As the title says above

Signed-off-by: willem ferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 10:32:31 -07:00
willem ferguson
a8656759bb Modify wording of dive list context menu
Dive context menu:
After the addition of the item "Add image(s) from web" the item
immediately above is "Add images". It is proper to specify now:
"Add image(s) from file(s)" to make the distinction clear. I also
change "Shift times" to "Shift dive times".

Signed-off-by: willem ferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-26 10:31:52 -07:00
Dirk Hohndel
ac34413a35 cmake: don't always build tests
Only build the tests when running them. The downside of the way this is
implemented is that build errors for the tests actually show up as test
errors and are only seen in the test log - but this seemed worth not
having every build include the tests.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 11:23:50 -07:00
Dirk Hohndel
38ba7177c7 cmake: copy images / icons into the build Documentation folder
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 11:02:45 -07:00
Dirk Hohndel
541e67ba41 First stab at tracking the changes in the release notes
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 10:56:59 -07:00
Robert C. Helling
757c4aab20 Allow images to be added via the web
This adds a new divelist context menu entry which asks for a URL. The file
is retrieved and if it is an image it is added to the cache and the url
is associated to dives as with local files.

NB this currently only works with URLs pointing directly to images. But it
should not be too hard to add the possibility to add a direction via an html
file and its image tags.

To test: open dives/test43.xml and delete the image and then add the URL
http://euve10195.vserver.de/~robert/wreck.jpg

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 09:36:21 -07:00
Robert C. Helling
98ae7b1f86 Don't load images too often
Factor out image load to find timestamp from loop over dives.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 09:35:51 -07:00
Robert C. Helling
a0a3c6ec15 Cleaning up variable names in image loading
Use more explicit variabel names and make the get timestamp function actually
return the timestamp rather than getting a pointer argument

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 09:35:35 -07:00
Dirk Hohndel
c97e136435 cmake: include the git SHA in the Windows installer name
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 07:18:11 -07:00
Dirk Hohndel
79bb61dba1 Adapt CSV test to include suit
Also fixed it to correctly parse the mean depth (duh, a test that had a
bug) and added a buddy field for good measure.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 07:07:31 -07:00
Miika Turkia
c80d1879b7 Add suit field for CSV import
Fixes #853

[Dirk Hohndel: fixed test compile]

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 06:50:50 -07:00
Dirk Hohndel
415abeea66 When deleting a cylinder, adapt gas changes
When we delete a cylinder the gas changes in that dive may have to be
adjusted. We didn't do this at all in the past. With this commit we should
be doing this right for a single dive that is being edited.

This does NOT handle multiple dives being edited at the same time (or more
specifically - if you have multiple dives selected and delete a cylinder,
the dives that had the same set of cylinders (other than the displayed
dive) will get that particular cylinder deleted, but won't have their gas
change events (and sensor data in the samples) adapted.

Possibly we should simply prohibit deleting cylinders when more than one
dive are selected.

See #834

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-23 15:27:21 -07:00
Dirk Hohndel
bbfa2b655b Profile context menu: trigger editing of manually added dive
Right now the way to edit the profile of a manually added dive is really
counterintuitive: you have to first make some random change to the dive
information, then the profile switches in to editing mode.

This commit adds a simple context menu entry on the profile that is only
shown when the a manually added dive is displayed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-23 13:56:24 -07:00
Marcos CARDINOT
59f283a4fc ostctools - resource leaks
some resources are not being freed.

Signed-off-by: Marcos CARDINOT <mcardinot@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-22 13:59:50 -07:00
Dirk Hohndel
6f7e3d04cb Handle XSLT based imports correctly
XSLT conversions create V2 XML files, but we shouldn't abort when we parse
those without having the user informed about the potential slowness - all
XSLT based imports are slow, anyway.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-22 13:20:27 -07:00
Dirk Hohndel
959077c66b Remove debug output about verbosity
This snuck in on commit f4f791ffbd ("Add verbose debug output to
parse_manual_file").

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-22 11:18:00 -07:00
Dirk Hohndel
ab24c1df87 When editing the location, make sure it gets applied to the dives
Oops, that was embarrassing. Just setting it on displayed_dive doesn't
gain us anything if it isn't transferred to the selected dives.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-22 09:35:58 -07:00
Dirk Hohndel
429fcdb344 When remembering the selection, don't try to be too smart with trips
We assumed that a trip was selected when all of its dives were selected
instead of just remembering if the trip itself was selected. I'm sure
there was a reason for that but I cannot think of any. But a side effect
is that if you have a trip with only one dive in it and have that one dive
selected and edit it, after saving your changes you end up on the trip
(which is now also selected) and are no longer on the dive. And that seems
quite wrong.

The new code simply remembers that the trip was selected. And selects it
again if it was.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-22 08:42:28 -07:00
Dirk Hohndel
31b8dffbb1 Uemis downloader: don't use bogus sensor data from Uemis
Sometimes we get a sensor number of 255 - which gets turned into a tank
index and then causes all kinds of havoc. Simply refuse to use a tank
number larger than the maximum Subsurface has been compiled for.

Oh, and use consistent variables to handle these unsigned 8 bit integers.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-21 23:31:03 -07:00
Dirk Hohndel
f33a11bc8a Uemis downloader: adjust the threshold for stopping downloads
A complete batch of divelog and dive data takes about 20% of the available
space (depending on how long those dives are). This is a hack and I can
see this potentially going wrong, but the alternative is to be even more
conservative and that has its own set of problems as it causes us to need
more "unplug, wait, plug in again and restart" cycles.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-21 21:18:43 -07:00
Dirk Hohndel
df9f233eed Uemis downloader: download additional dive data after every batch
This looks like a fairly big change but it mostly just moves a block of
code inside an earlier loop and adjust a few variables around it.

The completely broken and insane Uemis download protocol distributes data
across different "databases" on the dive computer. The "divelogs" are
downloaded in batches of 10 (most of the time), and with this change every
time one of those batches is downloaded we straight away get the matching
"dive" entries.

Hopefully this will avoid having the download abort (for lack of space)
before all components are loaded.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-21 20:29:20 -07:00
Dirk Hohndel
7101386cb6 Uemis downloader: get the right values set before bailing
This caused us to not read the auxiliary information for up to the last
ten dives that were downloaded from the SDA.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-21 19:31:05 -07:00
Dirk Hohndel
164170cfdf cmake: fix finding Marble
Silly bug. A lot of things in cmake are case insensitive. Some care about
case. Stupid.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-21 18:19:16 -07:00
Dirk Hohndel
216fa8d543 Don't crash if add_gas_switch_event() gets called with invalid index
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-20 23:28:51 -07:00
Dirk Hohndel
136282f88a Uemis downloader: even with an empty divelist, check where to start
If the user hits retry from within the download dialog, the dive list
might still be empty but we still have to look for the best point to
restart.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-20 23:28:44 -07:00
Dirk Hohndel
79f15e913b Uemis downloader: allow continuing download by clicking Retry
When we run out of space in the Uemis filesystem we return an error. The
user could reasonably unplug the SDA, insert it again and then retry to
continue the download (that's what we tell them to do). In that case we
need to make sure we start at the correct dive otherwise the same dives
keep getting downloaded over and over again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-20 23:28:04 -07:00
Dirk Hohndel
4bccee238c Download dialog: we can accept a partial download after an error
The dialog didn't accept "OK" and store the dives downloaded / selected so
far if there had been an error. Especially with partial downloads from the
Uemis SDA this is something that is quite reasonable to want to do, so
allow exiting the dialog with OK even after an error.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-20 22:11:43 -07:00
Dirk Hohndel
3953800fe6 Uemis downloader: don't discard samples too early
We do a good job in the fixup_dive() code to make sure we don't add long
surface tails to the dives, so don't try too hard to guess the correct
last sample in the Uemis specific code.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-20 21:37:16 -07:00
Dirk Hohndel
3fb5f84e11 Uemis downloader: avoid double free
A well intentioned attempt in commit ff860b3c04 ("uemis-downloader -
resource leaks") to fix resource leaks actually introduced a bug.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-20 21:35:54 -07:00
Lubomir I. Ivanov
82ff9fc9c8 cmake: more consitent multi-line calls
- don't put anything on the first line after the opening "("
- fix indentation of the closing "("

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-18 08:02:32 -07:00
Lubomir I. Ivanov
8fec4ab5e7 cmake: use uppercase for defined macros
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-18 08:02:23 -07:00
Lubomir I. Ivanov
8153c1560b cmake: fix message for NO_MARBLE
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-18 08:02:07 -07:00
Lubomir I. Ivanov
ea2ffd6c32 cmake: lowercase all built-in calls
e.g.
SET() -> set()
ELSEIF() -> elseif()

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-18 08:01:36 -07:00
Lubomir I. Ivanov
8c4ef161b2 cmake: generate clean ssrf-version.h
remoevs the extra white sapce in the generated
ssrf-version.h.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-18 08:01:14 -07:00
Lubomir I. Ivanov
cdd84bb188 cmake: whitespace cleanup
- indentation
- spaces near comments

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-18 08:00:17 -07:00
Lubomir I. Ivanov
ed4fbb92d0 cmake: add LIBGIT2_FROM_PKGCONFIG and LIBDC_FROM_PKGCONFIG
These two new options allow usage of pkg-config to retrieve
libdivecomputer and libgit2.

For some reason the variables *_LIBRARIES have to be set
to blank strings in the process, otherwise "-l" is passed to
the linker.

LIBGIT2_FROM_PKGCONFIG is a rename from PREFER_GIT_FROMSOURCE
for consistency. The IF() check is also fixed.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-17 15:25:47 -07:00
Lubomir I. Ivanov
39d0b5533d cmake: add the NO_MARBLE option
If NO_MARBLE is set to ON, the MARBLE package is not seeked.
If set to OFF the package is seeked, but if the find fails
the gcc definition -DNO_MARBLE is set and marble is disabled.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-17 15:25:33 -07:00