summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-01-09Update translationsv4.0.2Gravatar Dirk Hohndel
I'm not the author, just importing the translations from Transifex. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Remove now stale arguments to "CHANGED()" macroGravatar Linus Torvalds
We now never remove units or percentage signs, and always just compare the string data, so we should remove the hacky arguments that are no longer used. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Add and use 'string_to_fraction()' helper converter functionGravatar Linus Torvalds
This matches the pattern of unit conversion, and will allow us to remove all the code that uses the old complex "CHANGED()" macro that tries to remove units or percent signs. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Add unit-aware cylinder size string parsercGravatar Linus Torvalds
Whittling down on the string parsing that doesn't check user-specified units. Still need to handle temperatures (and will do percentages to match the pattern too), but this is getting us closer to always honoring user-specified units. With this you can say that you have a "10l" cylinder at "3000psi", and it will do the right thing (it's basically a 72 cuft cylinder in imperial measurements). Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Prepare for Subsurface 4.0.2 releaseGravatar Dirk Hohndel
Update version numbers and add "new in 4.0.2" summary to ReleaseNotes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Add unit-aware conversion of pressure dataGravatar Linus Torvalds
This just adds (and uses) a string_to_pressure() to parse pressure units correctly when filling in cylinder pressures. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Change fake profile behaviorGravatar Dirk Hohndel
If no average depth is known the current fake profile behavior is rather unintuitive (we make up an average depth). Instead we should assume that this is a PADI style dive log and give the user a "rectangular" profile (actually, it's a trapecoid as we at least try to enforce a sane ascent / descent speed). If the dive is somewhat longer or deeper (10 min / 10 m) we even add a 3m safety stop at 5m. Added a new dives/test0b that tries to capture the typical cases to test this. Fixes #398 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Add a string_to_depth() helper function to match our string_to_weight oneGravatar Linus Torvalds
It's currently only used for the setting of the cylinder switching depth, but now that one should work with user-specified units (so you can set a max depth in feet even if you use metric, and vice versa). In the future, if we also make the unit preferences something you can pass in (with user preferences as a default argument value), we might want to use this for parsing the XML too, so that we'd honor explicit units in the XML strings. But the XML input unit preferences are not necessarily at all the same as the user preferences, so that does require us to extend the conversion functions to do possibly explicit unit preference selection. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09const'ify our strtod() helper functionsGravatar Linus Torvalds
The C library doesn't use const char pointers for legacy reasons (and because you *can* modify the string the end pointer points to), but let's do it in our internal implementation just because it's a nice guarantee to have. We actually used to have a non-const end pointer and replace a decimal comma with a decimal dot, but that was because we didn't have the fancy "allow commas" flags. So by using our own strtod_flags() function, we can now keep all the strings we parse read-only rather than modify them as we parse them. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Make 'string_to_grams()' use proper type safe typesGravatar Linus Torvalds
Make it use 'weight_t' and hide the "grams" part inside the type. That was the whole point of the weight_t type, after all. Returning a "double" was always bogus, since we internally always do integer grams (and the function actually used "rint()" to get all the rounding right anyway). As a result, it's now called "string_to_weight()". Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Write the event data to the libdivecomputer log.Gravatar Jef Driesen
For some devices, the event data contains important data that is required for parsing the dives, but which is not present in the full memory dump. Signed-off-by: Jef Driesen <jefdriesen@telenet.be> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09DownloadFromDCWidget: prevent possible leaks for log/dump filesGravatar Lubomir I. Ivanov
If the 'logfile_name' and 'dumpfile_name' were NULL we can simply strdup() them with a new value, but if there was a previous value we need to free() first. C99 6.7.8 allows us to keep said variables without the explicit NULL initialiazation. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09libdivecomputer.c: Try not to pass NULL to fopen()Gravatar Lubomir I. Ivanov
C99 7.1.4, says nothing about passing NULL to fopen(), which means that it isn't portable and there are no guaranties that the return will be a NULL pointer or that that a library implementation will not assert or SYSSEGV in the middle of the fopen() branch. libdivecomputer.c's 'dumpfile_name' and 'logfile_name' could cause problems in that regard. A possible fix for #411 Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09windows.c: Fix possible assert when passing NULL to *open()Gravatar Lubomir I. Ivanov
On Win32 subsurface_fopen() can reach an assert in windows.c: utf8_to_utf16(), if NULL is passed for 'path'. Let's return NULL/-1 for some of the *open() functions in there. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Setting dive as 'current' when restoring selectionGravatar Tomaz Canabrava
Restoring the selection was not setting the selected dive as current, and thus, breaking keyboard navigation. Fixes #402 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Add CaseInsensitivity to all of the completers.Gravatar Tomaz Canabrava
Just one of the completers had Qt::CaseInsentitive set, setting for all of them. Fixes #400 Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Use helper function to display mean depth with correct unitGravatar Dirk Hohndel
In commit 528d0ea0e7bd ("Print numerical value of mean depth") Miika once again forgot the three non-metric countries on this planet... :-) Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Print numerical value of mean depthGravatar Miika Turkia
This will print the numerical value of mean depth to the profile graph. Fixes #405 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Fix typoGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Fix Uemis temperature conversionGravatar Dirk Hohndel
In commit 3fd39a7a87bf ("Remove some constants and use helpers instead") Anton missed the fact that the Uemis gives temperatures in the handy unit of "centi degree C". Now things work again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Parse localized weight unitsGravatar Dirk Hohndel
We have the wonderful Qt string functions. Let's use them to make the code simpler and easier to read. Suggested-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-09Maintab: prevent a segfault in the 'Equipment' tabGravatar Lubomir I. Ivanov
When a dive contains no cylinders, clicking the '+' button could SIGSEGV if current_dive->dc.model is NULL. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-03Prepare for 4.0.1 releasev4.0.1Gravatar Dirk Hohndel
Small updates to README, ReleaseNotes, user manual. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-03Translation updatesGravatar Dirk Hohndel
As always, I am not the author, these are from Transifex. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-02Allow us to build for older versions of Mac OSX than we are runningGravatar Dirk Hohndel
This requires some serious hacking around with brew to get the libraries and frameworks that we use to also be able to run on 10.5, but this is the part that's needed in the Subsurface configuration. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-02Fix imperial cylinder sizes in equipment tabGravatar Linus Torvalds
The imperial cylinder sizes are not just in cubic feet: they are in cubic feet of gas at STP. So the imperial/metric difference is not just about converting blindly from liters to cubic feet, you also have to take the working pressure of the cylinder into account. This was broken by commit f9b7c5dfe9d0 ("Make units in cells consistant in CylindersModel"), because those poor sheltered Swedish people have never had to work with the wondrous imperial cylinder sizing, and think that units should make _sense_. Hah. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-02Allow the user to specify weight units explicitlyGravatar Linus Torvalds
Instead of always assuming that all numbers are in the users locale weight units, allow the user to say "kg" or "lbs" explicitly. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-02Make our 'ascii_strtod()' helper more genericGravatar Linus Torvalds
We'll want to do sane parsing of strings, but the C library makes it hard to handle user input sanely and the Qt toDouble() function interface was designed by a retarded chipmunk. So just extend our existing hacky "ascii_strtod()" to allow a more generic interface. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-02Ignore units when entering values for equipmentGravatar Dirk Hohndel
Note that this is IMHO the wrong fix. Because we shouldn't just ignore the units, we should do correct conversions. Before this patch, if the user is in metric mode and then types in 4.5kg or 10lbs for a weight, Subsurface ignores the entry and throws it away. Very much not the expected behavior. With this patch Subsurface will take the value, but ignore the unit and assume that the user meant kg (since it's in metric mode). Still not really the expected behavior for 10lbs (which is now 10kg), but if the user typed 4.5kg (which admittedly is much more likely), then with this change Subsurface will do the right thing. Fixes #395 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-01Test dive for odd pressure profileGravatar Rodrigo Severo
When near the surface the pressure doesn't change - and then there is a sudden drop at the end. Signed-off-by: Rodrigo Severo <rodrigo@fabricadeideias.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-01Typos on commentsGravatar Rodrigo Severo
Fixing 2 typos on comments. Signed-off-by: Rodrigo Severo <rodrigo@fabricadeideias.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-29More translation updatesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-29Fixed typoGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-29Add simple glossaryGravatar Dirk Hohndel
This is mostly for translators Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-29Fix typoGravatar Dirk Hohndel
Reported-by: Peter Konings <peter.l.e.konings@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-29Translation updatesGravatar Dirk Hohndel
As usual, I am not the author, just pulling them from Transifex. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-29Strip the incorrect ICC profiles from png filesGravatar Dirk Hohndel
This was first reported by Benjamin Fogel who also sent a patch but that patch was changing all pngs instead of just those affected. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-29Update manual to reflect CSV import numberingGravatar Miika Turkia
Patch f4db392a changed CSV import to use field numbers instead of indexes. Thus removing the now incorrect description of numbering from user manual. Note, that screenshot should be updated as well. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-29Use field numbers in CSV import instead of indexesGravatar Miika Turkia
For the common user, a field number is more intuitive than field index. So let's use that in numbering CSV import fields. Fixes #388 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Enable https for Windows binariesGravatar Dirk Hohndel
This requires the ssleay32.dll and libeay32.dll to be copied into packaging/windows, first. Fixes #367 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Update tank model with custom tanks used in XML filesGravatar Dirk Hohndel
Fixes #377 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Remove nonexisting member from headerGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Fix bookmark/gaschange setting for UbuntuGravatar Miika Turkia
On Ubuntu, new events have time zero. This is fixed by resetting gc.rightx to maxtime at the end of plot function. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Remove unnecessary cylinder generation on UDDFGravatar Miika Turkia
Nowadays cylinder tags are generated based on actual usage. This includes all the required information on cylinders. Therefore generating incomplete cylinder tags from all listed cylinders is not needed anymore. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Cylinder support improved on UDDF importGravatar Miika Turkia
This patch adds support for cylinders for UDDF version 3.2.1. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Support for multiple cylinders on UDDF exportGravatar Miika Turkia
Adding support for multiple cylinders on UDDF export. This also adds a cylinder reference to the tankdata to enable mix lookups. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Generate UDDF waypoints for in-between eventsGravatar Miika Turkia
This patch generates a waypoint for events occurring between profile samples. It approximates the depth of the crafted waypoint linearly between the recorded sample depths. Fixes #385 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Test dive for eventsGravatar Miika Turkia
Dive with test events, can be used to test approximation of depth when exporting dives. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Use bookmark flag when bookmark contains headingGravatar Miika Turkia
Bookmark with compass heading is named 'heading' and should use the bookmark icon. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Add depth conversions to XSLTGravatar Miika Turkia
Convert depth to and from mm. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>