summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-09-23Disable edit dive site if already in edit modeGravatar Tomaz Canabrava
If user selected a new dive site (a dive site that doesn't exists yet, to be created) and clicked in edit it would edit the *old* dive site. this is not optimal, but since it removes a severe regression it will be like this (I won't change it till 5.0) for a while, until I have time to actually code something not messy for that. The current dive location management is *much* nicer than the old one, code-wise. No more magic numbers, magic codepaths, magic constants, qt black magic. It's straigth-forward code simple to follow, simple to edit. This was something I was actually postponing for 5.0 but I managed to get a boost of subsurface time at work. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Handles Dive Selection gracefullyGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Code cleanupGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Much simpler code to set the dive siteGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Don't crash on new dive siteGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Do not display popup with modifiersGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Select an index if no index is selectedGravatar Tomaz Canabrava
Defaults to first row. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Set the correct dive site uuidGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Correctly fix the popup positionGravatar Tomaz Canabrava
When the message to 'This dive site is being edited' was being show while the popup to choose the dive site, the line edit was being covered. now it correctly moves to the correct place. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Removed a ton of dead codeGravatar Tomaz Canabrava
Unused dead code / hack for the old QCompleter Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Handle palette change for dive site selectionGravatar Tomaz Canabrava
If you select a dive site with a different uuid than your current dive.dive_site_uuid, you should get a different pallete to state clearly that something changed. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Fix keyboard inconsistenciesGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Fix new/existing dive site choicesGravatar Tomaz Canabrava
Only set the currType and currUuid if text changed. This is needed because if you hit key_down it would set NEW_DIVE_SITE because a keypress on the lineedit was due. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Set the current dive site uid / textGravatar Tomaz Canabrava
Start to make this thing usefull: Upon selecting the current index or writting something on the line edit, we need to set the dive site. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Correctly handle space and tabGravatar Tomaz Canabrava
Space and tab should select the item in the itemview and hide it; enter and return also do that automatically. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Block focus out eventGravatar Tomaz Canabrava
The line edit wasn't being properly updated regarding its paint event. Turns out it was because it received a focus out event and then stopped refreshing the paint. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Random fixes and improvementsGravatar Tomaz Canabrava
Whitespace fixes, constructor fixes, new slot (still unused) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Whitespace fixGravatar Tomaz Canabrava
Sorry. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Fix correct size of the popupGravatar Tomaz Canabrava
Correct the popup visibility. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Handle dive site activationGravatar Tomaz Canabrava
Connect the view activated signal to send us the index. Removing debug output that I forgot inside it. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Made it possible to keypress againGravatar Tomaz Canabrava
Click outside of the popup closes it, also handles theme enter / return keys. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Start to handle keypressesGravatar Tomaz Canabrava
Keypress management is one of the main functions of the completer, so we must create an event filter and hook things up properly. key esq / enter should close the popup (and not leave us with a popup open and no way to close it - it breaks X) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Display the popup in the correct placeGravatar Tomaz Canabrava
The popup should be shown beneath the QLineEdit. this code here is shamelessy stolen from the QCompleter source code because I really didn't want to rethink the correct way of doing this. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Re-add the 'plus' button on the delegateGravatar Tomaz Canabrava
This was missing in the delegate - now it's prettier. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Stabilize the location model/proxy modelGravatar Tomaz Canabrava
Since I removed the old location edit from the UI, I also need to remove a bit of code from the UI that was calling it. fix a few crashes regarding the old location edit. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-23Skeleton of the new LocationComboboxGravatar Tomaz Canabrava
This is the bare minimum skeleton of the new completer for the dive site management. Nothing works, yet, nothing is hoocked up, yet. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-22Cmake: fix installation of translationsGravatar Dirk Hohndel
Umm, that one's embarrassing. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-22TestPlan: Add test for repeating diveGravatar Rick Walsh
If variables were accidentally carried through from a previous calculated plan, subsequent plan could be affected. This test aims to detect if this happens. Commit 8994270 corrected such a bug. If it were reverted, this test would fail (as it should). Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-22Documentation: update french translation of user-manualGravatar Guillaume GARDET
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-22Cmake: add LIBMARBLE_FROM_PKGCONFIG and some Marble related fixesGravatar Lubomir I. Ivanov
This patch adds the option to retrive Marble with pkg-config in a similar way to Grantlee, libgit2, etc. It reorganizes the "if(NO_MARBLE)" case to be the "else()" of if(NOT NO_MARBLE). Also, it adds the "-r" option to "rm" here: add_custom_target(link_marble_data ALL COMMAND rm -rf ./marbledata ... as otherwise it fails on Win32/Msys with "marbledata is a directory". Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21More updates to MXE build scriptGravatar Dirk Hohndel
Two more changes that are needed for this to build successfully. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21Update MXE cross build scriptGravatar Dirk Hohndel
Instructions how to use it are in the script. As of today this doesn't create working binaries - this worked perfectly fine back when MXE was still based on Qt5.4 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21Add wily to Ubuntu packagingGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21Fix image offset calculationGravatar Robert C. Helling
It seems this has never worked and nobody ever tested it. There was some confusion with time zones since Qt takes by default local time when converting from/to epoch while the exif library used UTC. For my single test dive, this works now. But this needs more testing!!! Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21User manual update 1) replace three images 2) change text of user manual to ↵Gravatar Willem Ferguson
reflect the three images correctly Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-21Systematic user manual update (Part 3)Gravatar Willem Ferguson
From DiveList section to printing section Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-20Fix plot entry creationGravatar Linus Torvalds
This was originally triggered by an odd merge of two dives that should have been the same, but that showed a corner case where the plot entry creation could create broken results that violated our assumptions about time stamps being monotonous. When setting up the plot entries we create surface entries at the beginning and end. We then fill in the plot entries between them based on the samples from the dive computer plus our own interpolation (so we have one entry at least every ten seconds). The loop ends when we are out of space - which in this instance caused us to exit before updating the maxtime and therefore the final plot entries having time stamps that were smaller than the last entry filled in by the inner loop. This patch makes sure we have enough space in the plot entry structure and moves the exit from the inner loop until after we have updated the maxtime. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-20Fix build error on Windows with Qt5.5Gravatar Dirk Hohndel
I'm not quite sure why this works, but it appears to do the trick. Apparently you are supposed not to have the meta type declaration in a shared header file. Also, with Qt5.5 you can't have the declaration for QBluetoothDeviceInfo, not even on Windows. This may need more tweaking to make sure it works on all combinations of OS and Qt version. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-20Cloud storage: in verbose mode give lots of progress informationGravatar Dirk Hohndel
If a user gets stuck accessing cloud storage it's often hard to figure out which step is hanging which makes it much harder to narrow down the problem. With this patch calling Subsurface with '-v' will give somewhat finely grained progress information on stderr. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-20Cloud storage: verbose output to consoleGravatar Dirk Hohndel
If Subsurface is started with the verbose flag, also give progress information on the consol (just in case there are issues with the progress dialog). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-20When calling save-as with cloud storage as default, pick sane filenameGravatar Dirk Hohndel
Passing the cloud URL to the file select box leaves "git syntax" in the filename which makes us look for a directory with a git repository in it and give non-sensical error messages to the user. With this we simply use the users email address as local filename with a .ssrf suffix. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-20VPMB: Reset ceiling pressures at start of planned diveGravatar Rick Walsh
We do not want to remember max_bottom_ceiling_pressure from the previous planned dive - it makes the Boyle's law compensation incorrect if the previous planned dive was a deeper deep-to-shallow multi-level dive. E.g. Plan these dives (without applying this patch) with VPM-B nominal conservatism: Plan 30 m for 20 min (total run time = 28 min) Now plan 100 m for 20 min, followed by 70 m @ 23 min and 70 m at 30 min Re-plan 30 m for 20 min (total run time = 50 min) With this change, the re-planned dive run time is 28 min, as it should be. We probably don't have to reset first_ceiling_pressure too, but it's cleaner if we do. Signed-off-by: Rick Walsh <rickmwalsh@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-20Only calculate crushing pressure in VPM-B modeGravatar Robert C. Helling
Don't do this expensive calculation when not needed. Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-20Warn about non-monotonous plot data and prevent infinite loopGravatar Dirk Hohndel
The data are supposed to be sorted with monotonous time stamp. And while the actual bug that causes this needs to be identified and fixed, this is at least a stop gap measure that shows the issue and prevents Subsurface from hanging. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-19Uemis downloader: start downloading using the correct dive IDGravatar Linus Torvalds
The logic to pick the initial dive ID for the uemis downloader was very confused, and did not work at all when restarting a download when the Uemis filled up, and the "Force download all dives" flag was set. It also required a rather odd Uemis-specific callback from the download UI because of how it picked the initial ID. This changes the logic to just look at the list of downloaded dives when restarting, which simplifies the logic a lot, gets rid of the odd special callback, and also means that the whole "Force download" issue just goes away. It seems to work now. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-19Uemis downloader: avoid NULL pointer dereferenceGravatar Linus Torvalds
The Uemis downloader blindly just did a strstr on 'nds->name', even if there wasn't necessarily a dive location at all. Add the proper NULL pointer checks. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-19Update two more translations before Beta 2v4.4.97Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-19Rename BTH_ADDR_STR_LEN macroGravatar Claudiu Olteanu
Signed-off-by: Claudiu Olteanu <olteanu.claudiu@ymail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-19Fix Bluetooth address truncation issues on WindowsGravatar Claudiu Olteanu
On some Windows platforms when we convert a Bth address to a String it is formatted as "(XX:XX:XX:XX:XX:XX)". Therefore we first try to remove the round parentheses and finally we truncate the string to 17 because there are 6 two-digit hex values and 5 colons. Signed-off-by: Claudiu Olteanu <olteanu.claudiu@ymail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-19Getting ready or Subsurface 4.5 Beta 2Gravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>