CFPreferences* seems to be the proper way to handle preferences on MacOSX.
This approach also eliminates a problem where the hard coded preferences
path couldn't be read.
Signed-off-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
[ fixed small coding style issues ]
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add missing internal links
Work on better visual representation of structured data
Start creating quoted text (instead of styled text)
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
You can do "make doc" in the main directory to create the html version,
and if you want to play around with it, do "make show" in the
Documentation subdirectory to start firefox on the end result.
It's by no means perfect, but it gives somewhat reasonable results, and
this is enough initial work for people to play around with, I think.
NOTE! You need "asciidoc" installed to do this: it's a python program,
so it should be pretty easy even on non-Linux platforms. And on Linux,
most distributions package it, so you just have to do something like
yum install asciidoc
to get it (replace with apt-get/zypper/whatever).
Asciidoc can generate other output too (man-pages, LaTeX, etc), maybe
people want to play with that part too.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
To do this a few things needed to move into the os specific files, but the
overall change is fairly small and the difference on the Mac is amazing.
Subsurface now becomes a Mac app with Mac toolbar and useful default
fonts.
Changed the CFBundleIdentifier to be the reverse DNS of the subsurface
site (sadly, 'torvalds' is not yet a TLD).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Right now we do certain cylinder info operations only when importing
from an XML file, which is wrong. In particular, we do the "is the
gasmix air" or "what is the standard cylinder name" only at XML read
time, which means that if you import a dive directly from the dive
computer, it won't have the air sanitization or the proper default
cylinder names.
Of course, most dive computers don't actually save enough cylinder
information for us to do the cylinder name lookup anyway, but some do.
And all Nitrox-capable dive computers do have that O2 percentage that
needs cleanup too.
Reported-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* 'windows' of git://git.hohndel.org/subsurface:
Fixes for the Windows installer
* 'docs' of git://git.hohndel.org/subsurface:
Version 0.0.7 of user manual
* 'forlinus' of git://git.hohndel.org/subsurface:
Remove unused return value
We never use the number of decimals that this function returns. So we
might as well not return them to begin with.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add missing files and update a library version number.
The library version thing seems to indicate that this is much more fragile
than I'd want it to be...
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Not sure, but us-ascii might have been intended.
Signed-off-by: Cristian Ionescu-Idbohrn <cii@axis.com>
[ And even if you do want to use utf8, you should use it correctly, not
with this "pick random character" approach - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Using xmlParseFile() was simple, but I'm planning on extending the file
parsing past just XML, since we want to be able to import other formats
too. And quite frankly, that means that we'll want to read the file
into memory to look at it before we start parsing it.
We could decide do it by file extensions too, and I'll look at that
approach as well, but regardless of how we do things it's almost
certainly a good idea to do the file access in one place. The XML
parsing might as well happen from a memory buffer instead anyway.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
The plain dash may look a bit too much like a trimix specification. Is
the ellipsis better? Maybe.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Support for multiple cylinders and gas change events when Importing
JDiveLog logs to Subsurface. This is tested with manually crafted data
and not real data (originating from dive computer).
NOTE: Subsurface does not handle importing multiple cylinders
correctly but imports only the first cylinder. However, manually
converting data to a file and opening that in Subsurface works
correctly.
(xsltproc jdivelog2subsurface.xslt jdivelog-gas.jlb > gas.xml)
Some minor tweaking on importing JDiveLog specific fields to notes
fields in Subsurface is also included.
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* 'forlinus' of git://git.hohndel.org/subsurface:
Improve Makefile for MacOS
Add reasonable default device names for divecomputer import
More intuitive label for "not saving" when exiting
Some macs appear to need "-framework CoreFoundation" added to the linking
step, others (which appear to have the exact same OS and tools installed),
don't. But as it doesn't appeart to hurt, I unconditionally add this.
Switched to using pkgconfig to find libdivecomputer on the Mac.
Tried to clean up the Makefile a bit
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Acked-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no>
So far we hard coded /dev/ttyUSB0 - which is a good starting point in
Linux but not so useful on Windows or MacOS. This was now moved into one
of our OS helper functions with (somewhat) reasonable defaults.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Cleanup of the layout
Changed line-length to 74
Added chapter 11. How to find the Device Name
Added Appendix A: Supported divecomputers
Signed-off-by: Jacco van Koll <jacco.van.koll@gmail.com>
Right now the options are "Save" and "Cancel". I wrote that code and it
always bugged me - "Cancel" could mean that I want to cancel the the whole
operation, i.e. that I don't want to quit after all. Showing "Save" and
"No" seems much more logical.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
* 'forlinus' of git://git.hohndel.org/subsurface:
Small improvement to plot info debugging code
Add three more trimix test dives
Make test dive 15 a bit more useful
Two test dives I added a couple of months ago
Add libxslt to Windows packaging file
Packing it next to the divemaster/buddy information may work great on a
big screen with lots of pixes, but it makes the minimum window size way
wide for a small screen. So don't do it.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
If you are diving multiple nitrox cylinders, we now show them as a range
instead of just the max. We'll still sort by max O2 (and for the same
max, by min O2).
So now with trimix dives, we'll show the bottom gas (we assume that
"highest He percentage" is that bottom gas), for nitrox dives we'll show
the range of Oxygen percentage, and for all-air dives we'll show just
"air".
For simple nitrox dives (only a single mix), we'll obviously show just
that single percentage. This should hopefully conclude the whole "show
multiple cylinders in dive list" mess.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
.. using the regular sorting rules: sort by Helium content first, Oxygen
content second. Air always sorts last (even behind the theoretical
hypoxic Nitrox that nobody sane would use).
This is what Don Kinney implies would be the natural thing for a trimix
diver.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
.. and use this for the nitrox column, which can now be more complex
than just a single number.
The rule for the "nitrox" column is now:
- we look up the highest Oxygen and Helium mix for the dive
(Note: we look them up independently, so if you have a EAN50 deco
bottle, and a 20% Helium low-oxygen bottle for the deep portion, then
we'll consider the dive to be a "50% Oxygen, 20% Helium" dive, even
though you obviously never used that combination at the same time)
- we sort by Helium first, Oxygen second. So a dive with a 10% Helium
mix is considered to be "stronger" than a 50% Nitrox mix.
- If Helium is non-zero, we show "O2/He", otherwise we show just "O2"
(or "air"). So "21/20" means "21% oxygen, 20% Helium", while "40"
means "Ean 40".
- I got rid of the decimals. We save them, and you can see them in the
dive equipment details, but for the dive list we just use rounded
percentages.
Let's see how many bugs I introduced. I don't actually have any trimix
dives, but I edited a few for (very limited) testing.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
The divelist airmix display is kind of broken: it only looks at the
first cylinder, and it only looks at Oxygen content, not Helium.
But at least we can make sure to update it when somebody edits the
cylinder information, instead of leaving it extra broken.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>