summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-03-05Cleanup: Don't store hash in picture struct in learnHash()Gravatar Berthold Stoeger
learnHash() is called either on a local picture structure [DiveListView::loadImageFromURL()] or on a cloned picture structure [ImageDownloader::saveImage()]. In neither case the picture structure is passed to the frontend. Therefore, storing the new hash in the picture struct is not necessary. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05Cleanup: Don't call learnHash() in hashPicture()Gravatar Berthold Stoeger
hashPicture() calls hashFile(), which calls add_hash(). add_hash() updates the filename-to-hash and hash-to-filename maps. Therefore, there is no point in calling learnHash() in hashPicture(), which updates the filename-to-hash map. Note that learnHash() updates the picture-struct with the new hash, but since hashPicture() works on a cloned picture-struct, which is free()d in hashPicture(), these changes are lost anyway. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05Cleanup: remove updateHash() functionGravatar Berthold Stoeger
updateHash() and hashPicture() did the same thing, with the exception that hashPicture() marked the dive list as changed if a hash changed. This seems like a good idea in any case, therefore always use hashPicture(). Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05Cleanup: Make helper function haveHash() of static linkageGravatar Berthold Stoeger
The function is only used in the qthelper.cpp translation unit. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05core/imagedownloader.cpp: Use signal to exit eventloopGravatar Berthold Stoeger
Don't do busy-waiting. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05core/imagedownloader.cpp: Use implicit default constructor of QImageGravatar Berthold Stoeger
No point in move-constructing from a different default constructed QImage. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05core/imagedownloader.cpp: remove recursionGravatar Berthold Stoeger
If loading from hash failed in the saveImage() slot(!) it would recurse into loadFromUrl(), which would generate a new network reply. Very scary and a (small) wonder that it worked. Let's try to make this all more explicit. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05core/imagedownloader.cpp: Make the manager object local to load()Gravatar Berthold Stoeger
The QNetworkAccessManager is only used in the load() function. No point in it being a subobject. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05core/imagedownloader.cpp: Simplify deletion of objectsGravatar Berthold Stoeger
1) Destroying the QNetworkManager seems like a bug: this was a subobject of ImageDonwloader. It's mysterious how this didn't crash. 2) Instead of calling deleteLater() on the reply object, simply delete it after completion. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05core/imagedownloader.cpp: Fix memory leakGravatar Berthold Stoeger
A cloned picture struct would not be freed if the filename was already in the queued-for-download set. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05Cleanup: Remove superfluous QString constructions in divetripmodel.cppGravatar Stefan Fuchs
Remove superfluous QString constructions in a couple of simple functions in divetripmodel.cpp Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-05Use correct numeric format based on selected locale (Qt domain part)Gravatar Stefan Fuchs
This changes the numeric format of many values printed to the UI to reflect the correct numeric format of the selected locale: - dot or comma as decimal separator - comma or dot as thousands separator In the Qt domain the `L` flag is used case specific mostly in qthelper.cpp. Then the helper functions get_xxx_string() are used more consistently. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-05Localization: implement *_loc() functions in plannernotes.cGravatar Berthold Stoeger
Replace snprintf() and put_format() by snprintf_loc() and put_format_loc(), respectively to localize formatting of integers and floats. Acked-by: Stefan Fuchs <sfuchs@gmx.de> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05Localization: implement *_loc() functions in profile.cGravatar Berthold Stoeger
Replace snprintf() and put_format() by snprintf_loc() and put_format_loc(), respectively to localize formatting of integers and floats. Acked-by: Stefan Fuchs <sfuchs@gmx.de> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05Localization: Make Qt's locale-aware formatting accessible from CGravatar Berthold Stoeger
This commit introduces functions: - QString asprintf_loc(const char *cformat, ...); - int snprintf_loc(char *dst, size_t size, const char *cformat, ...); - put_format_loc(struct membuffer *, const char *fmt, ...); and their va_arg equivalents, which use Qt's QString::arg() formatting options to render the strings. The snprintf_loc() function takes care not to truncate multi-byte UTF-8 encodings. Thus, on overflow, the resulting string might be shorter than size-1. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-03-05Configure DC dialog: Always correctly set update firmware buttonGravatar Stefan Fuchs
Always set the update firmware button correctly based on DC model. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-05Configure DC dialog: Add a few missing translationsGravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-05Configure DC dialog: Change order of DCs and correct namesGravatar Stefan Fuchs
In the configure dive computer dialog change the order of the DCs (all HW first, then Suunto) and correct the names of some HW DCs (make them the same as in the "download from DC selection list"). Plus added the OSTC Plus to the list of supported DC. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-04Indentation fix in desktop-widgets/downloadfromdivecomputer.cppGravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-04Correctly spell OSTC cRGravatar Stefan Fuchs
Correctly spell OSTC cR (wrong: "Cr") in two files. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-03-02Choose water presets from a qcombobox in planner, custom value possibleGravatar Oliver Schwaneberg
Add a combo box for water types with defaults for fresh water, sea water and the EN 13319. All values taken from units.h, where EN 13319 was added beforehand. Custom values can be entered through a spinbox. Also changed "Salinity" in TapDiveInformation.ui to "Water type". Translation required! Signed-off-by: Oliver Schwaneberg <oliver.schwaneberg@gmail.com>
2018-03-02CONTIRBUTING.md: add a note about imperative moodGravatar Lubomir I. Ivanov
Add a note in CONTIRBUTING.md that imperative mood is the preferred way to write commit messages. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-03-02Warning Fix: add missing include to core/parse-xml.cGravatar Berthold Stoeger
Fallout from commit #cd5e17cf79c2f1eb896efd0436c103221de446ae Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-27Updated strategy for removing cylindersGravatar Stefan Fuchs
Change the strategy when to allow cylinder removal from a dive: - Not remove when cylinder has gas switch events, in any other cases allow removal - Remove this whole "cylinder with same gas" thing being a criteria for cylinder removal When removing a cylinder which has corresponding pressure info in samples, also remove this pressure info from the samples. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-26Cleanup: Unify qthelper.h and qthelperfromc.hGravatar Berthold Stoeger
Since all qt-helpers are defined in qthelper.cpp, there seems to be no reason to have two include files. By unifying the two files, duplication and inconsistencies are removed. The C++-only part is simply compiled away with #ifdefs. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-26Move icd preference settingGravatar Willem Ferguson
Move the icd preference setting to the preference group that deals with gas pressures. I also reorganised the existing items so that the items within the pressure widget are logically arranged according to the grid layout. The order of items was very haphazard. No change of code at all in this reorganisation. Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
2018-02-26Cleanup: remove two unused macros in tabwidgets/maintab.cppGravatar Berthold Stoeger
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-26Cleanup: Use QString as parameter for [get|save]BtDeviceInfo()Gravatar Berthold Stoeger
Each callsite of saveBtDeviceInfo() has a QString, which is converted to a C-string, passed and immediately converted back. Remove these conversions by taking a reference to QString directly. getBtDeviceInfo() is not as clear. Here, the callsite has a C-string handed down from libdivecomputer. Nevertheless, pass a reference of QString here as well. Firstly, for reasons of symmetry. Secondly, to avoid multiple conversions in the getBtDeviceInfo() functions. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-02-25Correctly suppress display of ICD table if prefs.show_icd is falseGravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-25For prefs option show_icd add missing call for loadingGravatar Stefan Fuchs
Add the missing call to load the prefs option show_icd in function SettingsObjectWrapper::load() Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24smtk-import: Add smtk2ssrf.desktop to sourcesGravatar Salvador Cuñat
Without this file AppImage won't build and travisbuild.sh will fail miserably. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24smtk-import: Upload .AppImage and .exe filesGravatar Salvador Cuñat
Upload windows installer and AppImage to Subsurface's repo Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24smtk-import: Add an AppImage for smtk2ssrfGravatar Salvador Cuñat
Build an AppImage for smtk2ssrf using previously build binaries. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24smtk-import: add windows building to travis-ciGravatar Salvador Cuñat
Prepare the building script to suport travis or set other automated builds, while keeping other options to manual builds. In before_install script, create needed directories, and dowload mdbtools sources. Add smtk2ssrf build script to travisbuild.sh Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24smtk-import: fit build script to run in travis buildsGravatar Salvador Cuñat
Set an "automatic" mode via parameter (or auto detected if running in travis environment) to skip the user prompt. Install the built binary, in automated builds, under the usual INSTALL_ROOT folder. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24smtk-import: Support SmartTrak import in travis buildsGravatar Salvador Cuñat
1.- Include needed dependencies (glib-2.0 and mdbtools) in .travis.yml 2.- Call smtk2ssrf-build.sh script *after* subsurface is done and AppImage is built, as the script will override subsurface's binary. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-02-24Add Derek control fileGravatar Dirk Hohndel
I want to start using Derek to check for Signed-off-by (or, more explicitly, the DCO) in pull requests. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-02-24Whitespace cleanup in core/divelogexportlogic.cppGravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24Correct comments for struct temperature_t value rangeGravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24Use duration_t for total_sac_time in struct stats_tGravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24Use temperature_t for temperatures in struct stats_tGravatar Stefan Fuchs
Use struct temperature_t for temperatures in struct stats_t and use get_temperature_string() when printing these temperatures for statistics and HTML export. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-24QML UI Mobile: correct margins on log pageGravatar Jan Mulder
Also a developer likes to see a nicely formatted page, so correct some bugs in margin handling on the log page. There was a strange multi-line whitespace on the top of the list, and the total width of the page was (initially) a little smaller than full page, so showing a small strip of the page left on the pageStack. This just looks weird. So again, cosmetics only. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24Mobile QML UI: wideScreen property changeGravatar Jan Mulder
See also 15cdcdbc6. There, we introduced the wideScreen (set to true) to evade a (cosmetic) bug in (most likely) Kirigami. The top dive was partially obscured on the start of the app. And by setting the wideScreen to true, the application header became of a fixed height. Numerous changes further in Kirigami, we can now set this property to false. This results in a correctly displayed divelist at the start of the app, and *also* an application header that correcly hides itself when scrolling up, and displays itself again when scrolling down. So, a behavior that is common to, for example, mobile brouwsers. This all said. I still believe this is a workround for strange behavior. In fact, we should not need to set this wideScreen property at all, and Kirigami should behave correct in all cases (true, false, unset at our end). It behaves correctly when set to true or false, but still displays a partially hidden top item in the dive list when unset. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24Mobile: new Kirigami SHAGravatar Jan Mulder
And sync again with Kirigami master. All safe QML improvements. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24Revert "Mobile QML UI: fix more background colors (gpslist)"Gravatar Jan Mulder
This worked correctly while compiled against Qt 5.10.0, but after installing Qt 5.10.1 the behavior was just wrong. And as there seems no way to color the background of a Kirigami SwipeListItem, just revert this, and accept the (slightly) inconsistent coloring of the page (for now). This reverts commit 6700715b5dc1d314bc73800d8f8ec387d4d20d16. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-24Android build: use Qt 5.9.3Gravatar Jan Mulder
At least, now the Travis builds use the same Qt version as the production builds from Dirk that go to the AppStores. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-02-22Exit add_plan_to_notes() in plannernotes.c always via label finishedGravatar Stefan Fuchs
Replace an early "return" in add_plan_to_notes() with a "goto finished;" This was the initial idea of doing it plus it fixes a potential memory leak (missing free for icdbuffer). Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-22In configure DC dialogs don't use a space between values and unitsGravatar Stefan Fuchs
In the configure dive computer dialogs remove all the spaces between values and units. This makes it consistent with the standard used all over the Subsurface UI. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-22Remove space between pressure value and pressure unit in profileGravatar Stefan Fuchs
Bring one more value plus unit pair which is the pressure value printed in the profile in accordance with the coding style/UI style rule of not having a space between value and unit. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-02-20Build system: correctly find libdivecomputer includesGravatar Jan Mulder
Fully unsure when this got broken, but we tried to find the libdivecomputer includes based on the include file "hw.h". Interestingly, that file does not exisist (any more?) in libdivecomputer, so the search for the include fails. This is annoying, as the initial cmake fails on this in case of developer builds from QtCreator (which do not compile all dependencies like our home grown build scripts). The solution is simple: just find the includes for libdivecomputer based on exiting files in this lib. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>