Dive d/l UI: redo the states, the flow, the buttons

This is bigger and more invasive then I wanted, but it's hard to break it
down into smaller pieces. Here's what it does:

The former "Download" button becomes the "Download", "Cancel download" and
"Retry" button. So this button controls your interaction with the dive
computer.

The other two buttons are now purely "OK" and "Cancel" for the dialog.
"Cancel" discards what happened (much easier now that we download into a
different table), and "OK" adds the dives that were selected in our
selection UI (by default all downloaded dives) to the real dive_table.

And while redoing all this, I also redid some of the state machine
underlying the dialog. The biggest change that the user will see is that
partial downloads (after canceling or after an error) will still offer the
dives that were completely downloaded up to that point in the selection
menu.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-01-09 15:01:48 -08:00
parent f10b66237e
commit 762f33bd13
3 changed files with 30 additions and 19 deletions

View file

@ -60,14 +60,13 @@ public:
INITIAL,
DOWNLOADING,
CANCELLING,
CANCELLED,
ERROR,
DONE,
};
public
slots:
void on_startDownload_clicked();
void on_downloadCancelRetryButton_clicked();
void on_ok_clicked();
void on_cancel_clicked();
void on_search_clicked();