aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-06-20Update CHANGELOG.mdGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-20QML UI: store nocloud data when adding cloud credentialsGravatar Dirk Hohndel
We want to allow people to keep dives they collected without a cloud account. The code was mostly there, we just got confused about the existing status because we ran through this twice (no cloud -> unknown -> verified). This way we explicitly remember this kind of transition. Fixes #1404 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-20QML UIL: fix more problems with members moving from manager to prefsGravatar Dirk Hohndel
That change clearly would have benefited from better code review. This is a superset of a change proposed by Jan Iversen. Closes #1406 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-20CHANGELOG.md: add note about fixing a MAX_TANK_INFO bugGravatar Lubomir I. Ivanov
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-06-20equipment: use MAX_TANK_INFO in equipment.cGravatar Lubomir I. Ivanov
MAX_TANK_INFO is defined in dive.h but is not used in add_cylinder_description() or when allocating 'tank_info'. Use MAX_TANK_INFO instead of the literal 100. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-06-20equipment: sanitize 'ws_info' loop limitsGravatar Lubomir I. Ivanov
Instead of a constant or a macro for the maximum number of 'ws_info' elements the 100 literal was used. Define MAX_WS_INFO in dive.h and use it everywhere. Also clamp loops that iterate `ws_info' to MAX_WS_INFO. Prevents potential out-of-bounds reading, similarly to the previous commit about 'tank_info'. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-06-20equipment: sanitize 'tank_info' loop limitsGravatar Lubomir I. Ivanov
In a number of places the global 'tank_info' array is being iterated based on a 'tank_info[idx].name != NULL' condition. This is dangerous because if the user has added a lot of tanks, such loops can reach 'tank_info[MAX_TANK_INFO]'. This is an out of bounds read and if the 'name' pointer there happens to be non-NULL, passing that address to a peace of code that tries to read it (like strlen()) would either SIGSEGV or have undefined behavior. Clamp all loops that iterate 'tank_info' to MAX_TANK_INFO. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2018-06-20core: add free_samples helperGravatar Dirk Hohndel
And use it in the UI and planner code. See #1411 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-20mobile: set alloc_samples to 0 when resetting.Gravatar jan Iversen
set alloc_samples = 0 when settings dc->sample = 0 and dc->samples = 0 Signed-off-by: Jan Iversen <jani@apache.org>
2018-06-20core: use num in alloc_samplesGravatar jan Iversen
When num > dc->alloc_samples we whould allocate space for num Signed-off-by: Jan Iversen <jani@apache.org>
2018-06-18Update to CHANGELOG.mdGravatar Berthold Stoeger
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18In dive picture shift time dialog suppress double triggering of timeEditGravatar Stefan Fuchs
In dive picture shift time dialog when pressing the up or down arrow of the timeEdit widged there is some risk of double triggering because the function called after this UI action ("updateInvalid()") can have quite some runtime. Suppress any potential double triggering by disabling the timeEdit widget after each change until the code is processed. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-06-18Switch mobile version to 2.1.0 in preparation for next releaseGravatar Dirk Hohndel
Apple typically forces a much more detailed review if the version number changes. Let's get this taken care of now as we prepare for release. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18Change from gettextFromC::instance()->tr() to gettextFromC::tr();Gravatar Stefan Fuchs
Code cleanup. Suggested-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-06-18Use correct "tr" call for translating dive mode namesGravatar Stefan Fuchs
Correctly use gettextFromC::instance()->tr(); instead of a simple tr(); to translate the dive mode names. This goes on top of 0bc9edf855caf95e2d58ccaf704ceeda079e06f1 and finally makes the whole thing work. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-06-18mobile: use full icon path.Gravatar Murillo Bernardes
For some reason Kirigami.Icon mess up icon display when filename extension is omitted. Because of this a perfectly good, scalable svg show up as a low resolution scaled up icon. Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-06-18mobile: move call to savePreferences back to manager.Gravatar jan Iversen
calls to savePreferences was moved to prefs. in b8eb348f546291c49e2d606649b3c85d23e43782, but the corresponding C++ code was not merged. Revert call to savePreferences to manager. Signed-off-by: Jan Iversen <jani@apache.org>
2018-06-18mobile: revert e993d4f005e62c12765e2e45342ecf840476e3bfGravatar jan Iversen
The commit secured that plotDive was not called before actually being used. However our (rather fragile) C++ qml interface did not work correctly (ony sometimes). Revert the previous commit. Signed-off-by: Jan Iversen <jani@apache.org>
2018-06-18Add CHANGELOG entryGravatar Dirk Hohndel
And edited some older ones for consistency. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18Travis: build mobile on Linux with newer gccGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18QML UI: show the cloud credentials in the global drawer bannerGravatar Dirk Hohndel
This is an additional side-benefit of rolling our own banner. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18QML UI: build our own icon and header for global drawerGravatar Dirk Hohndel
Kirigami appears to have a bug that makes it fail to show our icon. With this we can be much more flexible in what we show in the top area of the global drawer. Fixes #1331 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18build-system: add another Kirigami hackGravatar Dirk Hohndel
We want to be able to roll our own banner image, logo, title, and other information in the GlobalDrawer - but Kirigami adds an ugly margin around that. This attempts to remove that margin (but for some reason there is still a margin on the left side). This requires the patch command to be installed, but because of the context sensitivity of the changes, I couldn't figure out how to do this with sed or perl (which we already require). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18QML UI: update to newer KirigamiGravatar Dirk Hohndel
This seems equally stable to what we have and doesn't appear to introduce any new breakage. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18Whitespace cleanupGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-18libdc interface: remove debug messagesGravatar Berthold Stoeger
Don't spill supported transports as error message to the user. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-17build-system: use common code to download tarballsGravatar Murillo Bernardes
Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-06-17mobile: add Dark_gps.svgGravatar jan Iversen
The blue gps was reused for the dark theme. Copy Blue_gps.svg and change color to dark. Signed-off-by: Jan Iversen <jani@apache.org>
2018-06-17CHANGELOG: update with end-user relevant PR`sGravatar jan Iversen
Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-17Pull latest translations from TransifexGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-17build-system: avoid checkout when unneededGravatar Murillo Bernardes
Checkout only if current checked out version differs from expected. Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-06-17build-system: add function to checkout from gitGravatar Murillo Bernardes
git clone/checkout code was mostly the same copied over and over. Move code to a single common function Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-06-17Update translation source stringsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-17Dive computers: turn QMultiMap into sorted vectorGravatar Berthold Stoeger
The list of known dive computers was stored in a multi-map indexed by the device name. Turn this into a sorted QVector. Thus, no map-to-list conversion is needed in the device editing dialog, which distinctly simplifies the code. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-17Cleanup: remove eplicit constructors and unused member variableGravatar Berthold Stoeger
Remove the explicit constructor in DiveComputerNode: Just use classical C-style struct initialization. Moreover, remove the empty constructor and destructor of DiveComputerList. The variable DiveComputerList::dcWorkingMap was unused. Remove. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-17Cleanup: fold DiveComputerManagementDialog::update() into init()Gravatar Berthold Stoeger
update() was only called in conjunction with init(). No point in having two functions. The separation between both functions seemed arbitrary anyway. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-17Cleanup: use QScopedPointer for DiveComputerManagementDialog::modelGravatar Berthold Stoeger
Not necessary to do own memory management. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-17Fix an error around translation of dive modes in the UIGravatar Stefan Fuchs
This fixes an mistake introduced in 3d1072f8862e4c329dc2678df52a24137b8d4704 Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-06-17Enable translation for even name "modechange"Gravatar Stefan Fuchs
Enable translations for dive event name "modechange". But clearly don't do this for the string which is used internally but only push "modechange" to the translation system to be able to translate it in the UI. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-06-17Remove a useless translation in diveeventitem.cppGravatar Stefan Fuchs
Giving the string ": %1" to translation makes no sense. And it's also not consistent with code a few lines below this line. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-06-17Code cleanup: Correct typo "Swith" to "Switch"Gravatar Stefan Fuchs
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2018-06-17desktop: better handling of progress dialog widthGravatar Dirk Hohndel
We shouldn't need to manually set it, but it appears we do. To avoid constant resizing, let's only grow it - and let's set the size before we update the text. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-16Cleanup: Don't clear WA_QuitOnClose attribute on dialogsGravatar Berthold Stoeger
According to Qt's documentation, the application exits if all windows with the WA_QuitOnClose attribute are closed. This attribute was cleared for three dialogs. This seems not necessary because: 1) The application can't be closed as long as the modal dialog is shown. 2) The flag only concerns primary windows, which these are not. See: http://doc.qt.io/qt-5/qguiapplication.html#quitOnLastWindowClosed-prop Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-06-16mobile: fix reference to credentialStatus propertyGravatar Murillo Bernardes
Commit b8eb348f moved credentialStatus but missed one spot. When starting from a fresh install, clicking "No cloud mode” fails because of this. Signed-off-by: Murillo Bernardes <mfbernardes@gmail.com>
2018-06-16QML UI: fix variable referenceGravatar Dirk Hohndel
Looks like commit 807571a588 ("core: update deviceData default from qml") never actually was tested with dive computer download. This looks rather like an automatic renaming gone wrong. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-15DM5 import: support for larger sample sizeGravatar Miika Turkia
Suunto has updated SampleBlob to use 30 byte blobs. This adds support for the increased size. Note that this only parses the same fields we have parsed before. (Currently I have no idea what the increased size is used for.) Note also that I do not currently have data with the new format so I only tested this still works with old data. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2018-06-15Update translation source stringsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-06-15mobile: move settings from qmlmanager to qmlprefsGravatar jan Iversen
add settings variables/functions to qmlprefs remove settings variables/functions from qmlmanager change manager. to prefs. in qml files for setting variables/functions Signed-off-by: Jan Iversen <jani@apache.org>
2018-06-15mobile: move NOCLOUD_LOCALSTORAGE from qmlmanager.cpp to .hGravatar jan Iversen
Make NOCLOUD_LOCALSTORAGE public for other qml functions Signed-off-by: Jan Iversen <jani@apache.org>
2018-06-15mobile: add qmlprefs classGravatar jan Iversen
add class to cmake and pro register class Signed-off-by: Jan Iversen <jani@apache.org>