aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-09-29[Facebook] Only mark as connected if user id is receivedGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29[Facebook] create userIdReceived slotGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29[Facebook] Mem leaksGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29[Facebook] Use only one Network ManagerGravatar Tomaz Canabrava
Fixes quite a few memory leaks. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29[Facebook] fewer UI freezes while accessing facebookGravatar Dirk Hohndel
Use signal / slots on the networkreply instead of freezing the event loop. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29[Facebook] conversion to new connect syntaxGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29[Facebook] Dont use deprecated featureGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29[Facebook] Use unblocking call for QNetworkRequestGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29[Facebook] Use QByteArray directlyGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-29QML UI: cleanup some whitespace and string formattingGravatar Jan Mulder
This addresses some review comment on whitespace and translated string formatting. In the string formatting, a tiny additional change is made. I wanted the email address in the explanation text in a bold font. Using the HTML <b> for this, removed the /n newline characters in the output. Apparantly, mixing these two formatting styles does not work. No problem, replaced the /n to HTML style too. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29QML UI: rework single credential page to two pagesGravatar Jan Mulder
This commit tries to implement most of issue #515. It reworks the one credential page, which its dynamic PIN part, into two pages. Main driver of selecting one of the two pages is the showPin boolean. Page 1 contains the email/passwd field (and the option to use a no cloud setup). Page 2 only contains the PIN part (and the option to cancel the process). The Kirigami central button does not seem very handy here. We need, for example, a cancel, sign-in and register, only register, etc. buttons, which are not easy to handle in specific icons. Therefore, normal pushbuttons are chosen to deal with user interaction, and the Kirigami button is removed from these pages. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29QML UI: rework cloud credentials blockGravatar Jan Mulder
Previously, we could edit the cloud credentials in basically two places. At startup of the app from a fresh install (and no previous data on the device), and from the settings. Issue #515 proposes only one way. However, we need a way to access the new credential UI pages, so that the pages at a fresh install of the app can be reused, for example for account switching. This commit replaces the settings cloud credentials block by a simple (not editable) display of the current credentials, and a button to access the initial pages, for all management tasks on the credentials. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29mobile: make sure that the old credential status is correctGravatar Jan Mulder
This commit is just a precaution. It makes sure that the old (aka previous) credential status is correctly set on all changes of this status. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29mobile: only deal with localrepo in NOCLOUD modeGravatar Jan Mulder
This is a very subtile bug. Testing/developing on the desktop for mobile, with a normal logbook in a git repo, resulted in a surprising effect. When swichting from a cloud account to a NOCLOUD situation, the no cloud repo was (not always) reset to the NOCLOUD_LOCALSTORAGE, but to the normal logbook. Resuling in commits in the wrong repo. This can easily be solved by setting the filename to NOCLOUD_LOCALSTORAGE, when switching to NOCLOUD mode. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29mobile: do not care about email/passwd when NOCLOUDGravatar Jan Mulder
In case the credential state is NOCLOUD, the saving of credentials in the preferences was suppressed in case of invalid data in the email/passwd fields. There is no reason to check these fields for correct input, as they are not used in case of NOCLOUD mode. A simple if statement is added. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29mobile: add helper function cancelCredentialsPinSetup()Gravatar Jan Mulder
As written in 8d9ad3cfea7e4c0875, the user needs to be able to exit the PIN entry UI, in case no PIN can be received due to a wrong email address. The simplest way seems to just clear the cloud credential data, and let the user try again. Obviously, we could argue if the exact previous state of the 1st credentials screen could be restored, but as it is only 2 simple fields, of which it is higly likely that the email adress is misspelled (and the password hidden), it seems overly complex to implement. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29mobile: propagate "still PIN required status"Gravatar Jan Mulder
Makes sure that the CS_NEED_TO_VERIFY status is carried forward and sets the showPin flag that triggers the 2 different states in de QML UI. The new credential UI will have one page for username/passwd, used for setting up an account or switchting to a different account, and a second page to enter a PIN only. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29mobile: do not go to NO_CLOUD status from UNKNOWNGravatar Jan Mulder
In case the credential status is UNKNOWN, and the cloud username and password are empty, do not go automatically to NO_CLOUD status. This is (again) preparation for future work on credential management. For example, the user entered an email address with a spelling error, so does not receive a PIN code email. This user needs a way out, so there needs to be a <cancel> button on the PIN code screen. And the most logic was of cancelling is emptying the entered username/passwd and let the user try again. Without this change, the user immediately gets into the (somewhat) final NO_CLOUD state, which will result in (very) confused users. With this change, there is exacly one way (left) to get into a NO_CLOUD setup: hitting the proper button, so a deliberate user action. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29mobile: initialize credential data in one placeGravatar Jan Mulder
It appears that the onCompleted of the StartPage item is triggered before the onCompleted of the rootItem. This is logical as the Startpage is a child of the rootItem. And, yes, this does matter. As the divelist also contains the logic for initial cloud registration (and is the default page shown in a state where the cloud credentials are valid (CS_VERIFIED state)), we need to know the correct credential state at start of the app. The move of this one line of code makes sure of that, in addition to setting the credential state from the preferences. Now, the setupActions function can reference correct credential data. This is further preparation for a better cloud creation process from mobile. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-29Paragraph in manual about off-gassingGravatar Robert C. Helling
The VPM-B model assumes off-gassing only happens during ascent which for us are that part of the dive where dp->entered is false. This is wrong for dives with manually entered waypoints in the ascent, as discussed in See #601. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-09-28Save Subsurface version to libdivecomputer logfileGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-28Planner prefs: set all ascent rates to 9m/minGravatar Rick Walsh
9m/min (or 10m/min) is the ascent rate assumed by Buhlmann and navy tables, and the default of most other planning software and dive computers. Setting the default to 9m/min allows the default behaviour to be consistent with "expected" behaviour, but does not prevent the user from changing the preference. There is disagreement between some users whether the final ascent ascent duration should be considered when determining the length of the final stop. This change does not alter that at all, but at 9m/min, the difference is <1min. See #592 Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
2017-09-26Update translation source stringsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-26Change Facebook upload description to eliminate confusionGravatar Federico Masias
Signed-off-by: Federico Masias <fede@masias.net> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-26Add Contributing fileGravatar Dirk Hohndel
We already had this on our website, but GitHub suggests to have this in the repo as well. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-26github: add templates for pull requests and issue reportsGravatar Lubomir I. Ivanov
.github/ISSUE_TEMPLATE.md will be used when the Github users create new issues. .github/PULL_REQUEST_TEMPLATE.md will be used when the Github users create new pull requests. The markdown supports HTML comments (<!-- comment -->), which can instruct the Github user how to create a detailed PR or issue report. Most big Github projects use such templates and these can help the collaborators to examine the PRs and ISSUES faster. Fixes #598 Reviewed-by: Dirk Hohndel <dirk@hohndel.org> Reviewed-by: Jan Mulder <jlmulder@xs4all.nl> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-24Windows NSI installer: Remove qml folder on uninstallGravatar Stefan Fuchs
Do remove also the (new) qml folder on uninstall. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-09-24Support gas changes on Shearwater XML importGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-09-23Add required qml modules to Ubuntu packagingGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-22BLE: big writes to connected DC (OSTC firmware)Gravatar Jan Mulder
Most writes to a connected DC are small, typically some command bytes to get DC in download mode, or to set some parameter. All this just worked over BLE, however, sending a full firmware update (on an OSTC device) failed, as the underlying BLE interface can only handle small 20 byte BLE packets at once. So, send max ble->packet_size chuncks at once. Tested for the following cases (linux desktop with OSTC3 over BLE): 1) normal download of dive data. 2) read and write settings from configure UI 3) update firmware (from 2.15 to 2.15) And to my surprise, no flow control credit administration is required here. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-09-20BLE support: simplify write functionGravatar Dirk Hohndel
It seems clearer to bail when list is empty... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-20DC download: fix 'no new dives' messageGravatar Dirk Hohndel
Stupidly, commit 731d9dc9bdf ("DC download: tell user when no new dives were found") was missing the conditional when to show that messages. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-20Updated French documentationGravatar Philippe Massart
This is a manually created single commit to incorporate the changes in https://github.com/Subsurface-divelog/subsurface/pull/502 Closes #502 [Dirk Hohndel:] I was able to manually merge that branch but it created a complete mess out of the tree and brought several dozen commits in a second time, so I gave up and instead created this single commit. Signed-off-by: Philippe Massart <philippe@philmassart.net> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-20Remove option to apply GFlow at maxdepthGravatar Robert C. Helling
This option should have never been there. This is not how gradient factors are supposed to work. It would only trick users to use the wrong value.. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-09-20Add a checkbox to turn off plan variationsGravatar Robert C. Helling
... as those come with a performance penalty Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-09-20mapwidgethelper: support Qt 5.5.xGravatar Lubomir I. Ivanov
MapWidgetHelper::calculateSmallCircleRadius() uses the second argument (boolean) of QDeclarativeGeoMap::toCoordinate() and QDeclarativeGeoMap::fromCoordinate(), which isn't supported in Qt 5.5.x and errors will be thrown on runtime. This argument usage is redundant for the calculateSmallCircleRadius() use case. If the argument is set to "false" it tells the map to avoid clipping the viewport and always return a valid QPointF/QGeoCoordinate. Given that calculateSmallCircleRadius() only works with the map center - i.e it's called like so in MapWidget.qml: onZoomLevelChanged: mapHelper.calculateSmallCircleRadius(map.center) The only way for the radius estimation to fail is if the map widget width is smaller than SMALL_CIRCLE_RADIUS_PX * 2 = 52px, which is not possible as the MainWindow splitter prevents it. If the map widget becomes that small it would be hardly usable, yet no errors should be thrown related to this change. Tested-by: Stefan Fuchs <sfuchs@gmx.de> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-09-20Correct comment for deco subsurface_conservatism_factorGravatar Stefan Fuchs
This adapts the comment according to the change done in bd89e33e765d73aa2b48419031d6922b8bf5eb37 Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-09-17BLE on non-Apple OSs: switch back to using BT addressGravatar Dirk Hohndel
While this interface is deprecated, too much in our existing code depends on being able to create the QLowEnergyController with just the address. Additionally, createCentral() is new in Qt 5.7 and therefor this broke builds on Linux distros that are still on 5.6. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17Merge branch 'macBLE' of github.com:Subsurface-divelog/subsurfaceGravatar Dirk Hohndel
2017-09-17DC download: show info messages on MacGravatar Dirk Hohndel
For some reason the progress bar on macOS doesn't show the progress text. This creates a label below the progress bar and shows the text there instead. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17DC download: better message at beginning of downloadGravatar Dirk Hohndel
Especially on BT/BLE devices, where there is a longer negotiation phase at the beginning of the download, this seems more user friendly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17DC download: don't clear message if no dives downloadedGravatar Dirk Hohndel
Otherwise the text telling the user that no new dives were found will be deleted right away. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17DC download: tell user when no new dives were foundGravatar Dirk Hohndel
Otherwise it almost looks like something went wrong with the download. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17BLE: try to pick the correct descriptor to write toGravatar Dirk Hohndel
The ordering on Mac appears to be random, but after looking through the various successful logs of BLE downloads, it seems we always wrote to the ClientCharacteristicConfiguration descriptor. So try to find that one first, and only grab the first descriptor in the list if we didn't find a ClientCharacteristicConfiguration descriptor. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17BLE: create controller from QBtDeviceInfoGravatar Dirk Hohndel
Creating it from an address is a) deprecated and b) impossible on Mac or iOS. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17BLE: helper function to get QBtDeviceInfo from UUIDGravatar Dirk Hohndel
Right now this will only work if you scan for your BLE dive computer every time. Ideally we should simply initiate a scan and look for that address if it's not found in the hash. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17BLE: on Mac/iOS use UUID instead of addressGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17BLE: if there's no address, use the UUID insteadGravatar Dirk Hohndel
This is not just for IOS, the same applies on a Mac. But I see no issue with enabling that for all OSs. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17cmake: enable BLE on MacsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-09-17Mac packaging: add option to make bundle without creating DMGGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>