aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2021-03-31prepare for 5.0.1Gravatar Dirk Hohndel
Update README and ReleaseNotes. Also remove outdated workflow badge, add a couple new one, and hack around a rendering issue where the last character of longer workflow names gets overwritten by the status - which resulted in the arguably most important info (which Qt version) being hidden. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-31profile: fix color on pressure-itemGravatar Berthold Stoeger
The "in_planner" condition was inadvertently inverted in c6d78bc134 and therefore the wrong data was used to draw the line (density instead of SAC). Revert to original. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-31build-system: make ASAN builds easierGravatar Dirk Hohndel
This is a bit lacking sophistication (you need to remember to make clean before rebuilding when changing this option, etc), but it works well enough for my purpuses. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-31core: initialize dive selection after resetting the dataGravatar Berthold Stoeger
The dive selection was initialized during data-reset. However, this emitted a signal before all data-reset routines were run. Ultimately, this led to access-after-free in the statistics code. Instead, move the select_newest_visible_dive() signal from the divelist-model to the process_loaded_dives() function. There is no point in initializing the selection if the dive data is cleared after all. This change broke closing of the log, because the UI-selection was not reset. Therefore, when clearing the data, clear the selection before proceeding with clearing. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-31stats: fix visibility check of the statistics tab on desktopGravatar Berthold Stoeger
Apparently, the visibility flag of the view is not inherited from the statistics widget. Therefore, the statistics is redrawn on every action even if not visible. Set the visibility explicitly in the show- and hide-events. This is crazy. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-24tests: fix incorrect relative path namesv5.0.0Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-24Add test for profile in VPMB modeGravatar Robert C. Helling
For some reason, this test seems not to run effectively, at least locally, I had to update the reference file. Added a check that indeed the file to be compared was successfully opened. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2021-03-24planner: fix deco calculationGravatar Berthold Stoeger
In 9bfc6d252, testing of the planner was changed to use the planner_ds parameter instead of a global variable. Unfortunately, two conditionals were inverted, leading to an erroneous ceiling calculation when in the planner. Restore the proper conditions. Moreover, instead of testing the planner_ds parameter, use the already existing in_planner flag, which is derived from said parameter. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-24prepare for Subsurface 5.0 / Subsurface-mobile 3.2 releaseGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-24mobile: update version to 3.2.0Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-24Update Supported Divecomputers listGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-24Update translations from TransifexGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-24User manual: Create new cylinder typeGravatar willemferguson
Adds text and 5 images, detailing how to create a new cylinder type. This appears to be a perrenial problem, often appearing on the mail list. Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-12Use PSCR gas when computing O2 toxicityGravatar Robert C. Helling
Both the calculations for CNS and OTU did not take into account the pO2 drop when using a PSCR. Furthermore, there was some unit confusion due to not using internal units. Reported-by: arosl Signed-off-by: Robert C. Helling <helling@atdotde.de>
2021-03-12Use QtBluetooth enums from their namespaceGravatar Andreas Buhr
For increased type safety, some enums have been changed to scoped enums in Qt 6.2, see https://codereview.qt-project.org/c/qt/qtconnectivity/+/337069 https://codereview.qt-project.org/c/qt/qtconnectivity/+/336678 This patch adapts subsurface to this change. Since C++11, enums inject their symbols in both their own and their parent namespace, so this patch can be merged right now. Signed-off-by: Andreas Buhr <andreas.buhr@qt.io>
2021-03-11documentation: gentle nudge back to standardized US-EnglishGravatar Dirk Hohndel
Just changing the two user manuals. This also includes a couple other spell fixes as well as one small adjustment regardinf IrDA support on Linux (which has been gone for a while now). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-03-11Update to desktop user manualGravatar willemferguson
Add section dealing with statistics restricted graphing. Add section dealing with lack of IrDA support on new OSs Do spell check of complete text. Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
2021-03-08parser: initialize picture variableGravatar Berthold Stoeger
When parsing "event 123" (?) a picture is added, without initializing the picture structure. Thus, a picture with a random gps location is added. Use the "empty_picture" initializer to avoid that. Fixes a Coverity warning. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-08stats: initialize InformationBox::width and height membersGravatar Berthold Stoeger
Fixes a Coverity warning. Good style anyway. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-05statistics: don't divide by totalCount = 0 in pie chartsGravatar Berthold Stoeger
This silences a Coverity warning. In principle, this should never happen, since there are no slices if totalCount is 0. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-05profile: initialize DiveEventItem::dive to nullGravatar Berthold Stoeger
To simplify debugging, this should be initialized. Found by coverity. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-05stats: initialize PieSeries::radius to 0 in constructorGravatar Berthold Stoeger
This silences a Coverity warning. That what harmless, but it's probably good practice to initialize all members. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-03-01[gha] simplify LXD handlingGravatar Michał Sawicz
2021-03-01Max ceiling precisionGravatar Robert C. Helling
We used to round the ceilings for the individual tissues with %.1f but the maximal (and thus effective) ceiling only with %.0f. This makes no sense or be rounded up (to the conservative side). This commit shows also the maximal ceiling with higher accuracy. Reported-by: Peter Hübner Signed-off-by: Robert C. Helling <helling@atdotde.de>
2021-02-26[snap] use setup-lxd actionGravatar Michał Sawicz
The Snapcraft action unnecessarily tries to migrate things. Signed-off-by: Michał Sawicz <michal@sawicz.net>
2021-02-26Get O2 right in bailout modeGravatar Robert C. Helling
When doing OC bailout from a CCR dive, there could still be pO2 sensor readings but those are not valid. This fixes a problem noticed by Justin Ashworth. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2021-02-26Describe CCR changes in documentationGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2021-02-26Fix pO2 for CCR at shallow depthsGravatar Robert C. Helling
Even when diving a CCR, the pO2 cannot exceed ambient pressure. This only makes a difference at shallow depths. Fix this in the calculation of OTUs and CNS. This affects some tests that now have slightly different CNS and OTU values. Suggested-by: Justin Ashworth Signed-off-by: Robert C. Helling <helling@atdotde.de>
2021-02-26Planner: Depth dependent setpoint changes in CCR modeGravatar Robert C. Helling
We had a user request to allow for setpoint changes at certain depths for CCR deco. You can now enter a cylinder with name like "SP 1.4" ('S' and 'P' and ' ' and a float) with a switch depth and that cylinder is interpreted as a depth dependent setpoint switch. This user interface is a hack. But I believe that such setpoint changes are similar enough to gas switches during deco and should thus be handled in a simiar manner. I would be happy to hear ideas how this could be made less easter eggish. Suggested-by: Justin Ashworth Signed-off-by: Robert C. Helling <helling@atdotde.de>
2021-02-24documentation: automate creation of web facing manualsGravatar Dirk Hohndel
We already had the script to post-process the HTML files in the repo, but we didn't automate use of that script in the Makefile. The .wp suffix is misleading and historical (we no longer us WordPress), but it's what I am used to and I didn't come up with something more obvious or better. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-02-24mobile/manual: small changes to improve mobile manualGravatar Willem Ferguson
Better image placement, other small changes. Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-02-24mobile/manual: tuning of header sizesGravatar Willem Ferguson
This makes all the font sizes relative and avoids odd effects on some browsers. Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-02-21mobile/manual: small style change to fit picturesGravatar Dirk Hohndel
This way they don't exceed the page size. This also removes execute bits from a couple of pictures. That's just wrong... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-02-17build-system: don't check dependencies when creating Ubuntu packageGravatar Dirk Hohndel
There is no reason to check that on the system that is simply used to submit the package to Launchpad. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-02-17desktop: fold ApplicationState into MainWindowGravatar Berthold Stoeger
The application state is a desktop-only thing. The mobile UI also has its application state, but that is something completely different. The last remaining user of the application state was to flag whether the planner is active. Since this has all been unglobalized, the ApplicationState structure can be moved from core to the desktop UI. And there it can be made local to the MainWindow class. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17cleanup: remove setAppState from TestPlanGravatar Berthold Stoeger
This is not needed anymore, since the planner passes down the in_planner flag to the appropriate functions. The planner state is not queried via a global anymore. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17planner: pass in_planner down to TemplateLayoutGravatar Berthold Stoeger
The TemplateLayout prints different dives depending on whether the planner is active. Instead of accessing a global variable, pass the status down from the MainWindow. That's all quite convoluted, since there are multiple layers involved. On the positive side, the in_planner() function has now no users an can be removed. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17cleanup: remove unused includes in mainwindow.cppGravatar Berthold Stoeger
The printing code moved elsewhere, so these includes are not needed. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17planner: pass in_planner argument to replot()Gravatar Berthold Stoeger
To remove reliance on global state, pass an "in_planner" argument to AbstractProfilePolygonItem::replot(). Thus, calls to in_planner() can be removed. This is a bit sad, since the in_planner argument is now passed to numerous replot() reimplementations of classes derived from AbstractProfilePolygonItem. However, it is only needed for one, viz. DiveGasPressureItem. Well, perhaps in the future more features will depend on the planner mode... Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17cleanup: remove function declarationGravatar Berthold Stoeger
AbstractProfilePolygonItem::shouldCalculateStuff()'s definition has been removed some time ago. Therefore, remove its declaration. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17planner: pass in_planner argument to decoMode()Gravatar Berthold Stoeger
To remove reliance on global state, pass an "in_planner" argument to decoMode(). Thus, calls to in_planner() can be removed. This is a more-or-less automated change. Ultimately it would probably be better to pass the current deco-mode to the affected functions instead of calling decoMode() with an in_planner parameter. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17planner: pass in_planner argument to clear_deco()Gravatar Berthold Stoeger
To remove reliance on global state, pass an "in_planner" argument to clear_deco(). Thus, calls to in_planner() can be removed. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17planner: pass in_planner argument to vpmb_next_gradient()Gravatar Berthold Stoeger
To remove reliance on global state, pass an "in_planner" argument to vpmb_next_gradient(). Thus, calls to in_planner() can be removed. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17planner: pass in_planner argument to add_segment()Gravatar Berthold Stoeger
To remove reliance on global state, pass an "in_planner" argument to add_segment(). Thus, calls to in_planner() can be removed. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17planner: remove print_mode parameter from calculate_deco_information()Gravatar Berthold Stoeger
Only 'false' was ever passed as value. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-17Mobile user manual update: statisticsGravatar willemferguson
As the title says. This is a first pass because I cannot see what it looks like on the mobile device if it has not been pulled into master. I need to see what size the images have on the mobile screen and how the organisation of text above and below the images is rendered. There will definitely be a second PR to refine the content for the mobile screen and to ensure proper integration of the statistics section with the overall user manual.. Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
2021-02-17As last resort, use the site name as locationGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2021-02-17Use country for divelogs.de exportGravatar Miika Turkia
This will use only the country name for the location field in divelogs.de export. The old version concatenated all the fields together. This is inline with Rainer's new import functionality. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2021-02-13statistics: implement primitive "restrict to selection" featureGravatar Berthold Stoeger
Allow the user to restrict the analyzed dives based on the current selection. One button restricts to the current selection and one button resets the restriction. Thus, the user can for example select bars in the bar chart or a range in the scatter plot and perform statistics on these sets. The restriction works on top of the filter. The UI can certainly be improved, but it is a start. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-02-13statistics: implement shift-selection of rangesGravatar Berthold Stoeger
For all the series but the scatter series (which supports lasso selection), implement a range-selection using shift. The code is fairly similar for all series and one might think about factoring it out. But why bother? Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>