summaryrefslogtreecommitdiffstats
path: root/qt-ui/downloadfromdivecomputer.cpp
AgeCommit message (Collapse)Author
2015-01-08Dive d/l selection UI: Hook up OK buttonGravatar Tomaz Canabrava
Create an on_ok_clicked that will do the actuall parsing of choosen dives. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI: Create a button to download the data from DCGravatar Tomaz Canabrava
Now, ok should close the dialog, and not download the dives from the DC, this way the user can choose what happens. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI: Fill the checked vector as trueGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI: Set the item flagsGravatar Tomaz Canabrava
Now the user can click on the dives that they want to keep. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI: Add the setData methodGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI: Add the check statesGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI: Display the downloaded dives in a tableGravatar Tomaz Canabrava
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI: setImportedDivesIndexes implementationGravatar Tomaz Canabrava
Here we list in the model what are our dives, inside the dive_table. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI:: Constructor, rowCount and ColumnCountGravatar Tomaz Canabrava
Add importedDivesIndexes and Data. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-08Dive d/l selection UI:: Add skeleton for the dialogGravatar Tomaz Canabrava
So the user can remove the ones they don't like. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-29Only check for update after successfull downloadGravatar Anton Lundin
We check that the logbook download didn't error out before checking if we should remind the user to upgrade the firmware. Otherwise we will check if whatever the current firmware version is, is greater than zero and always remind the user to upgrade the fw. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-29Initialize members in the declared orderGravatar Anton Lundin
This closes a compiler warning. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-28Automatic OSTC firmware update: download file and try to installGravatar Dirk Hohndel
This successfully downloads the hex file. The actuall update of the OSTC fails before it gets started with a crash when the ConfigureDiveComputer object is created. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-28OSTC firmware update prompt: use the stable changelog filesGravatar Dirk Hohndel
Heinrichs Weikamp is giving us stable URLs from which we can get the latest stable version. The parsing is a bit simplistic, but it seems to work. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-28Progress towards automatic OSTC firmware updatesGravatar Dirk Hohndel
Better parsing of the website data, a simpe dialog that informs the user that they should upgrade their firmware. Still doen't call the right code path to DO the upgrade. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-27Move OSTC firmware check around a bitGravatar Dirk Hohndel
This rearranges the code so we can call it from the download dialog and tell the user if there is a newer version of the firmware available. This needs a proper dialog and needs to be hooked up so that the user can accept the suggestion and go directly to the firmware update code. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-10-12Pass the whole 'device_data_t' to the uemis downloaderGravatar Linus Torvalds
Not only does it make it look more like the libdivecomputer downloaders, but the uemis downloader needs it in order to support all the flags we have. Notably "download into private trip". Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-14Add "download into private trip" dialog checkmarkGravatar Linus Torvalds
This adds a checkbox for the divecomputer download dialog that allows you to tell the download to put the newly downloaded dives into a trip of their own. That in turn will disable the dive merging with any existing dives, which means that you will not mix up your newly downloaded dives with any old dives. That, in turn, is very convenient of you know that some of the dives were done by other divers (or from testing that happened during servicing etc), or the dive dates etc were wrong because the dive computer date had reset due to battery changes etc. Once you have all the dives in a private trip of their own, you can then fix them up (delete dives you don't want to merge etc), and then after all the data is ok you might want to merge the cleaned-up results with previous trips etc, and then manually ask subsurface to merge the dives or whatever. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-07-14Try to avoid inconsistent selection state after divecomputer downloadGravatar Dirk Hohndel
I cannot reproduce the problem, but adding one more call to unselectDives() should ensure that all dives are marked as not selected before selecting the last dive that was downloaded. See #620 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-26Rework slot to quiet down Qt5 warningGravatar Anton Lundin
Qt5 got confused about this slot. This does the same as previously but gets Qt5 happy. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-22Gratuitous whitespace changesGravatar Dirk Hohndel
I keep trying to get to consistenct. Completely hopeless. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-19Make the code easier to readGravatar Dirk Hohndel
This uses the new helper function from commit fc4f133f19d0 ("Add new helper function that looks up the index of a dive by its uniq ID") to make the logic implemented in commit 122593a63a46 ("Fix selection after downloading dives from the dive computer") much saner to read. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-19Fix selection after downloading dives from the dive computerGravatar Dirk Hohndel
If we successfully download dives, the old selection should be cleared and the one of the newly downloaded dives should be selected. I decided to pick the last dive downloaded, which for most dive computers (but for example not for the Uemis SDA) will be the first or earliest of the dives. That seems much more intuitive than keeping the previous selection around. Of course this is harder than it should be because of the way we track selections and because we need a consistent dive list model in order to change the selection. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-19Download from dive computer: Fix the broken selection of devicesGravatar Dirk Hohndel
The old code was completely bogus - it's confused about what the variable 'i' is counting. This also let's us select the Uemis mount point by default if that's the only valid "device" that we found. Compile tested on Windows, untested on Mac. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-19Divecomputer download: try to offer only those devices that make senseGravatar Dirk Hohndel
If the user selects a Uemis divecomputer, don't show serial devices. If the user selects a serial divecomputer, don't show the Uemis filesystem. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-13Do not check for null before free.Gravatar Tomaz Canabrava
C specs says that we can safelly free a NULL pointer, so there's no reason to check if it's null before freeing it. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-13Move DiveList related methods/classes to own file.Gravatar Tomaz Canabrava
The DiveList classes were a partial mess (and some of it is still in a messy state). The classes that deal with it where done in 'qtHelpers.h', the extern global variable in dive.h, a few methods here and there. This concentrates most - but not all - functions in their own file. The reason for that is to make the new developer faster when looking for things: if it's a divecomputer related method, it should be in a single file, not scattered around. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-07Remove spurious debug printoutGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-07Even if there is progress text, still set the progress bar percentageGravatar Dirk Hohndel
I don't understand why we wouldn't set the percentage if we displayed text there as well. This looks much better. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-25Ctrl-W and -Q support for GPS, divelogs.de, divecomputer and CVS importGravatar Dirk Hohndel
Getting closer to consistent behavior. See #489 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-25Fix 'cancelling divecomputer download'Gravatar Tomaz Canabrava
When a download is canceled, discard the partially downloaded dives. Fixes #341 Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-27Massive automated whitespace cleanupGravatar Dirk Hohndel
I know everyone will hate it. Go ahead. Complain. Call me names. At least now things are consistent and reproducible. If you want changes, have your complaint come with a patch to scripts/whitespace.pl so that we can automate it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-26reseting progress_bar_text for new downloadsGravatar Danilo Cesar Lemes de Paula
if the user tries to redownload something from its dive computer the interface will be stuck since progress_bar_text won't be empty in the second run. Even if I don't really like this idea of that value being changed by downloadfromdivecomputer.cpp and libdivecomputer.c, that value needs to be reset by someone. Signed-off-by: Danilo Cesar Lemes de Paula <danilo.eu@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-26disable buttons while downloadingGravatar Danilo Cesar Lemes de Paula
Simple patch to enable/disable extra buttons while downloading. The UI should be blocked during the download. Signed-off-by: Danilo Cesar Lemes de Paula <danilo.eu@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-18Implement the '...' search button for Uemis dive computersGravatar Dirk Hohndel
Right now the search button isn't connected for any device (clearly an oversight). At least for the Uemis I think I have a sane implementation of what that should do. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-15Initialize device_data_t dataGravatar Dirk Hohndel
If the user never clicks on the log and dump checkboxes (and that's what we expect to be the case by default), then the log / dump flags (and filenames) were never initialized. I am reasonably certain this will close the following three bugs, that all show the same symptom: they behave as if libdivecomputer dump was set, even if it wasn't. Fixes: #426 Fixes: #431 Fixes: #435 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-12Replace mainWindow() with MainWindow::instance()Gravatar Boris Barbulovski
C++ style of accessing single instance class object. Signed-off-by: Boris Barbulovski <bbarbulovski@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-12Don't shadow object members like thisGravatar Dirk Hohndel
If you need to use this->error to distinguish the local variable from the object membe that should be a hint that maybe you didn't pick the best name for the local variable. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-09downloadfromdivecomputer.cpp improvementsGravatar Boris Barbulovski
* Add missing variable members to the initializer lists. Signed-off-by: Boris Barbulovski <bbarbulovski@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-02-09DownloadFromDCWidget class cleanupGravatar Boris Barbulovski
Remove static DownloadFromDCWidget::instance() method Signed-off-by: Boris Barbulovski <bbarbulovski@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-27Detect errors while downloading from libdivecomputerGravatar Dirk Hohndel
Show them in the progress bar and offer to retry. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-16Whitespace and coding style updatesGravatar Dirk Hohndel
Another futile attempt to cleanup the code and make coding style and whitespace consistent. I tried to add a file that describes the key points of our coding style. I have no illusions that this will help the least bit... This commit should ONLY change whitespace Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-15Convert to TRUE/FALSE to stdbools true/falseGravatar Anton Lundin
I had problems with this one on Qt5. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-14Sort the list of dive computer vendors in the download dialogGravatar Dirk Hohndel
This makes so much more sense. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-01-08DownloadFromDCWidget: prevent possible leaks for log/dump filesGravatar Lubomir I. Ivanov
If the 'logfile_name' and 'dumpfile_name' were NULL we can simply strdup() them with a new value, but if there was a previous value we need to free() first. C99 6.7.8 allows us to keep said variables without the explicit NULL initialiazation. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-27Fix warning about initialization orderingGravatar Dirk Hohndel
I cannot tell what the potential impact of this might be, but the fix is trivial. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-27Disable DC device node if it is not neededGravatar Benjamin
This patch disables/enables the DC device node based on what type of transport the selected DC uses. The only time the device node field is used is if the selected DC uses a serial transport type. IrDA and USB type transports do not use the device node. Signed-off-by: Benjamin Fogel <nystire@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-26Display warning that dives won't be downloaded when enabling libdc dumpGravatar Dirk Hohndel
The warning is only shown once per session. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-24Enable libdivecomputer log or dump from the UIGravatar Dirk Hohndel
Pick filenames for these functions as they are selected. Use the windows-safe fopen function. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-10Reset libdivecomuter import canceled stateGravatar Dirk Hohndel
Once the process got cancelled once we never reset the flag. Fixes #82 Initial-fix-by: Jef Driesen Signed-off-by: Dirk Hohndel <dirk@hohndel.org>