aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-08-29Store a table of deco stops in plannerGravatar Robert C. Helling
... in addition to struct diveplan which combines all kinds of information Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29Cache all Buehlmann factorsGravatar Robert C. Helling
not just the last one. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29Allow for o2 breaks in binary search stop time finderGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29Find deco stop time by binary search instead of iterationGravatar Robert C. Helling
This allows to go to much smaller granularity without severe performance penalty. It should also increase performance for long decompression times. Currently this leads to missing cached tissue factors, the caching has to be adopted to this. Also, for the time being this breaks the bottom gas breaks feature. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29Make plan take dive and decotimestep as argumentsGravatar Robert C. Helling
...rather than use a global variable and a macro. This should be a no-op in preparation to allow planning several versions of a dive. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-29Change color to red if minimum gas is violated.Gravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-26On Fedora, qmake is qmake-qt5Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Another signed/unsigned warningGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Another unused variableGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Adjust signature to match data we needGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Remove unused functionGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Assignment instead of test for equalityGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Time is unsigned hereGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Remove some unused variablesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Move unused code into the disabled blockGravatar Dirk Hohndel
These varaiables are only used in the code that we currently aren't compiling. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Tex export: remove incorrect codeGravatar Dirk Hohndel
These two variables are calculated later in the function and the same two lines of code are there again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26cmake: try to find the Googlemaps plugin on LinuxGravatar Dirk Hohndel
Different flavors of Linux put this in different subdirectories. Just have cmake find the plugin for us. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26MapWidget works with slightly older QtQuick2Gravatar Dirk Hohndel
This allows building against older Qt. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26INSTALL file: add two more dependencies for Debian/UbuntuGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26build.sh: make Qt private headers available if missingGravatar Dirk Hohndel
This is based on a script that Lubomir worked on and sent to the mailing list. Suggested-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26build.sh: find qmake earlier in the scriptGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-26Hide signed/unsigned comparison warningGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-25Enable googlemaps plugin from build directory on LinuxGravatar Dirk Hohndel
With this change, when running Subsurface from the build directory, it should find a googlemaps plugin that was installed into the install_root. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-24mapwidgethelper: use system_default_directory() for cacheGravatar Lubomir I. Ivanov
The default location which is used when the PluginParemeter "googlemaps.cachefolder" is not specified should be ~/.cache/googlemaps on Linux or /user/<name>/appdata/local/cache/googlemaps on Windows. This patch moves the cache to the default system location where we store the printing templates, cloudstorage and the default user XML file. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-08-24mapwidgethelper: use dynamic creation of the Plugin objectGravatar Lubomir I. Ivanov
The googlemaps plugin is about to support tile language via the PluginParameter 'googlemaps.maps.language'. To be able to pass the subsurface UI language (obtained from the uiLanguage() helper) the Plugin has to be created dynamically, only *after* the MapWidgetHelper is created. MapWidgetHelper::pluginObject() now provides a QString which contains the Plugin object and also include the uiLanguage ISO value. This string is used in mapwidget.qml as: map.plugin = Qt.createQmlObject(pluginObject, rootItem) This creates the Plugin object dynamically with the proper UI language string, but also requires a couple of small changes: - move the declaration of map.mapType after the Qt.createQmlObject() call - assign map.activeMapType after map.mapType has a value Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-08-24Shearwater PerdixGravatar Miika Turkia
Reportedly the case 2 corresponds to Perdix, so it might be that both Petrel and Perdix use same model number (or the model is mistaken before). Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-08-24Support for air pressure on Shearwater Desktop importGravatar Miika Turkia
Fixes #548 Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-08-24Grab correct dive number on Shearwater Desktop importGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-08-21Improve error message when opening dive computer failsGravatar Dirk Hohndel
Instead of the (usually incorrect) text about insufficient privileges, just mention a generic error and suggest that the user creates a libdivecomputer log file. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-20Update the OSTC dive computer configuration to use the generic 'timesync' ↵Gravatar Linus Torvalds
interface Jef made the OSTC interface be a generic 'dc_device_timesync()' and so the old OSTC-specific code doesn't exist any more. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-20Mac build: fix package creationGravatar Dirk Hohndel
libssh2.1 is a dependency of libgit2, not of the main executable. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-10fix weights roundingGravatar Jan Mulder
Simplify and fix prestation of weights. Due to the attempt to round only the grams part (by just adding 50 to it, and truncating afterwards) a weird effect was introduced. For example, a value 0.98 was presented as 0.10. Just replay the old logic, and see what happens. Rewrote the logic to a simpler and better one. fixes: #532 Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-08-10DLF: Parse more measurements, import GPSGravatar Anton Lundin
This add support for parsing more measurements, and now imports GPS data to. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10DLF: Parse Divesoft Liberty data betterGravatar Anton Lundin
There is something with ndl / tts / temp in the Liberty DLF files. If that bit is set, the values are bogus. There is something more to it here which I haven't figured out. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10DLF: Parse diluent changes as a gaschange eventGravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10DLF: Import setpoint changes.Gravatar Anton Lundin
Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10DLF: Restructure loop into a for loopGravatar Anton Lundin
We always step forward 16 bytes, so make it a for loop so a continue won't throw us into a eternal loop. Signed-off-by: Anton Lundin <glance@acc.umu.se>
2017-08-10mapwidgethelper: fix wrong logic in selectVisibleLocations()Gravatar Lubomir I. Ivanov
Looking for already existing locations with m_mapLocationModel->getMapLocationForUuid() will not cover dive sites which are too close to each other and are skipped when creating MapLocations. See reloadMapLocations() and the usage of MIN_DISTANCE_BETWEEN_DIVE_SITES_M. Constructing a new QGeoCoordinate for the already retrieved dive site (ds) coordinates ensures that we are traversing *all* dive sites at the backend and not only those visible on the map. Fixes the issue where not all dives in the DiveList are selected, even if a dive clearly happened on a location currently visible in the map viewport (map -> context menu -> select visible dive locations). Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-08-10mapwidget.qml: more improvements for the dynamic zoom-in/outGravatar Lubomir I. Ivanov
The QML Map has a couple of methods - toCoordinate(someQPointF) and fromCoordinate(someQGeoCoordinate). Ideally, if one passes a point to toCoordinate() and then attempts to convert the resulted coordinates back to the point, the same point in the Map view port with minimal error should be retrieved. That's not always the case - e.g. near 47.400200 -123.142066, which means that the methods are not exactly *reliable* and there might be Map class bugs at hand. The new zoom-in and zoom-out improvements try to work around the above: - for both centerOnRectangle() and centerOnCoordinate(), if no good zoom-out level is found (newZoomOut), the zoom-out is set to the default value of defaultZoomOut. In practice, this prevents the case where the map does not zoom-out at all when going from one place to another - centerOnRectangle() now uses rectangle diagonals to estimate a fit, instead of checking if 2 points (top-left and bottom-right) are visible in the viewport. The usage of fromCoordinate() was giving bad results in this case and comparing distances (diagonals) is more reliable but more expensive on the CPU. Due to the inconsistencies of toCoordinate() and fromCoordinate() the dynamic zoom-in and zoom-out are still not ideal, but the current implementation is somewhat usable with decent accuracy. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-08-10More details for TeX exportGravatar Robert C. Helling
Include the gasname, get rid of more spaces in front of units, update the template to use new gas fields. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-10Move the decision how to typeset unit to TeX-style fileGravatar Robert C. Helling
This way, the user can adopt those once and for all for all her dives. This includes the space between number and unit symbol. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-10Use letters instead of digit in TeX macro namesGravatar Robert C. Helling
TeX doesn't like digits there, so let's use letters Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-10Cleaning up TeX exportGravatar Robert C. Helling
Removed some merge artefacts and made sure code compiles and produces wellformed TeX. Shortend some comments. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-08-10Add additional data to TeX-exportGravatar Ben McCandless
The purpose of this work is to allow for generation of more complete log pages using TeX/LaTeX. Previously, the exporting to TeX generated a document that contained very limited information about the dive. For example: the only details reported about air consumption were delta pressure and SAC. In addition no data was reported about what equipment (weights, tanks, suit) was used. Per feedback, code was updated to use helper functions, and now exports data with the units set by the user in the Subsurface preferences. Some characters (Degree symbol) do not render correctly by default in LaTeX, so sample code to address this was included in the top comments. Volume units do not export an ideal character string, so another string was substituted. This update adds the following information: * GPS Location * Dive computer used * Max, Min, Air, and Water Temperatures * Average depth * Number of cylinders listed, mix, and start/end pressure for each * Total weight used, and the description and quantity of each weight * Dive rating (previously, only visibility was reported) * Buddy * Dive master * Suit This update moved several fields that had no output or had unexpected names (i.e. "spot", "place") into a "Deprecated section" Future work: * The export currently only includes the first entry in the tag list. * Future versions should export all tags. * Ideally, this would export a screenshot of the dive location. * Create a table of correct size for weights and cylinders. * It would be nice to have a bit more control over the generation of profile images, but that may be beyond me. Rebased-and-cleaned-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Ben McCandless <mccand@gmail.com>
2017-08-10DiveList.qml: set detailsWindow index before deleting dive from listGravatar Rick Walsh
This appears to fix the mystery crashes that can occur when deleting a dive from the dive list. Fixes: #497 Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-08-07Fix the overprinting of gas name and pressure value on the profileGravatar Linus Torvalds
When I massaged the code to do multiple gas pressures in commit e1b880f4 ("Profile support for multiple concurrent pressure sensors") some of the Y offsetting code got cut out as being too specific to the old o2pressure code. But I removed a bit too much, leaving the label (gas name) and number (gas pressure) overlapping. This should fix it. If we really care about multiple gas pressure labels overlapping each other, we'll have to revisit this code, but the old two-gas case didn't do a very good job either (both that old code - and this new version - can look very good in particular cases, but there are cases where it won't work so well). So we may need to revisit this eventually, but this gets it looking fine for the normal cases. Reported-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-08-07QML UI: GPS: remove headerGravatar Joakim Bygdell
Being the only page that still has an on page header it makes sens to remove it. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2017-08-07QML UI: GPS: remove marginsGravatar Joakim Bygdell
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
2017-08-07DiveDetailsEdit: make sure model data existsGravatar Rick Walsh
This gets rid of TypeError messages, but does not appear to affect behaviour qrc:///qml/DiveDetailsEdit.qml:254: TypeError: Cannot read property 'dive' of null qrc:///qml/DiveDetailsEdit.qml:228: TypeError: Cannot read property 'dive' of null qrc:///qml/DiveDetailsEdit.qml:216: TypeError: Cannot read property 'dive' of null qrc:///qml/DiveDetailsEdit.qml:204: TypeError: Cannot read property 'dive' of null Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-08-07mapwidget.qml: add menu action for selecting visible locationsGravatar Lubomir I. Ivanov
MapWidgetContextMenu now has a new action (SELECT_VISIBLE_LOCATIONS), that will invoke the MapWidgetHelper method selectVisibleLocations(). Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>