subsurface/qt-ui/downloadfromdivecomputer.ui
Dirk Hohndel 762f33bd13 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>
2015-01-09 15:06:25 -08:00

256 lines
7.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DownloadFromDiveComputer</class>
<widget class="QDialog" name="DownloadFromDiveComputer">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>747</width>
<height>535</height>
</rect>
</property>
<property name="windowTitle">
<string>Download from dive computer</string>
</property>
<property name="windowIcon">
<iconset>
<normalon>:/subsurface-icon</normalon>
</iconset>
</property>
<layout class="QVBoxLayout" name="vendorProductLabelLayout">
<item>
<layout class="QGridLayout" name="vendorProductLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Vendor</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Dive computer</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QComboBox" name="vendor"/>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="product"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="mainDialogLayout">
<item>
<layout class="QVBoxLayout" name="leftOfMainLayout">
<item>
<layout class="QGridLayout" name="choicesLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Device or mount point</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QComboBox" name="device">
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QToolButton" name="search">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="forceDownload">
<property name="text">
<string>Force download of all dives</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="preferDownloaded">
<property name="text">
<string>Always prefer downloaded dives</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="createNewTrip">
<property name="text">
<string>Download into new trip</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="logToFile">
<property name="text">
<string>Save libdivecomputer logfile</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QToolButton" name="chooseLogFile">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QCheckBox" name="dumpToFile">
<property name="text">
<string>Save libdivecomputer dumpfile</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QToolButton" name="chooseDumpFile">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="downloadCancelRetryLayout">
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="downloadCancelRetryButton">
<property name="text">
<string>Download</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="downloadedDivesLayout">
<item>
<layout class="QHBoxLayout" name="labelSelectAllNoneLayout">
<item>
<widget class="QLabel" name="downloadedDivesLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Downloaded Dives</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="selectAllButton">
<property name="text">
<string>Select all</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="unselectAllButton">
<property name="text">
<string>Unselect all</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="downloadedViewLayout">
<item>
<widget class="QTableView" name="downloadedView">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="buttonBoxLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="ok">
<property name="text">
<string>OK</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="cancel">
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QProgressBar" name="progressBar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>