Start Work on Firmware Update

This patch implements the first step towards OSTC 3 firmware update.
Its not much, just file selection, but I will build up on it from there.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Create firmware update thread

Implements a thread to initiate firmware updates. Currently, this is
for the OSTC 3.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Fix Typo in ConfigureDiveComputer class

I had used DeviceDetails *details instead of device_data_t *data.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Don't Try OSTC 3 Firmware Update Yet

Disables OSTC 3 firmware update for now.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Change QMap to QHash

For efficiency, this changes QMap to QHash in configuredivecomputerdialog.h

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Code Style Fix

Minor fix for brace and brackets positioning.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Use macros for OSTC 3 setting codes

Changes the classes in configuredivecomputerthreads.cpp to use
macros to hold the setting hex codes.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Use QXmlStreamReader for dive computer settings backup

This patch changes the code in the ConfigureDiveComputer class to
use QXmlStreamWriter instead of an hardcoded xml structure.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Change Dive Computer Configuration dialog

Changes the layout of the ConfigureDiveComputer dialog to use a
list of supported computers on the left, with a stacked widget
showing the configurable details.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Use QXmlStreamReader for xml restore

This patch changes reading of OSTC 3 settings backup xml from
libxml to QXmlStreamReader to match the use of QXmlStreamWriter
in the xml saving.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>
Fix typo in OSTC 3 firmware update

The update file selector was using getSaveFileName instead of using
getOpenFileName. This patch fixes that.

Signed-off-by: Joseph W. Joshua <joejoshw@gmail.com>