Commit graph

9475 commits

Author SHA1 Message Date
Dirk Hohndel
b554ed5ed6 Cloud storage: recognize our server certificate and accept it
On some platforms like Android the installed root certificates are rather
inconsistent. Same goes for older Windows machines. Instead of trying to
figure out how to get the user to install the right root certificates
(just kidding) we explicitly recognize our own server certificate and
allow that to override the validity assessment by the OS.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 11:20:18 -07:00
Dirk Hohndel
9e5e12b5e4 Cloud storage: provide more information in debug builds
It makes sense to hide git URLs from the end user in release builds, but
while developing and testing it's better to get more detailed information.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 07:11:55 -07:00
Dirk Hohndel
3478943f2f Fix memory handling for taxonomy data
The way we freed things and cleared out the variables potentially left
dangling data behind and could end up calling free on garbage data,
leading to random crashes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 07:09:55 -07:00
Dirk Hohndel
15de7f0b71 QML UI: implement a message area to show information to the user
This is just a quick first stab to do this, but it at least allows us to
share some information with the user.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 17:39:13 -07:00
Dirk Hohndel
16759715e6 QML UI: explicitly reference the button for size
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 17:38:01 -07:00
Dirk Hohndel
4491c91b93 Whitespace cleanup
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 17:36:49 -07:00
Salvador Cuñat
6b904f9480 OSTCTools - change management of model and dc family
H&W introduced some changes in dc's data structures with FROG and OSTC3
families (types 0x22 and 0x23 in H&W's terms) that I didn't take into
account as we lacked of .dive files to test.

BTW I previously set the model to "0" as it was not stored in the file
but wasn't relevant for the data parsing in MK2, OSTC and OSTC2N/2C
models.

Thanks to Anton's advice we have got some OSTC3 dives to test, so this
patch takes into account the different data structures for different
families, and try to stablish a model number based on device's serial
number, as libdc does.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Salvador Cuñat
4e88140b43 OSTCTools - Improve error management
- Introduce an exit point to cowardly run away from the file if
something goes wrong (undefined dc family, inconsistent family/model
pair, etc), without crashing subsurface.
- Simplifies (user point of view) and makes translatables the error
messages shown in the status bar.
- Modifies ostc_prepare_data() to emit a return code to manage posible
failures.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Henrik Brautaset Aronsen
2847fb4af5 Use git pull with rebase in build script
Without rebase, the build script would stop because it
couldn't complete a merge.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
c41fd91261 Divinglog import: generate gaschange events
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
7fffe8aba0 Divinglog import: adding pressure samples
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
e53897cd15 Divinglog import: grab information for cylinder 0
Cylinder 0 is stored on the Logbook table along with other dive metadata
(not in Tank table).

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
c91ee860f2 Divinglog import: use dive ID as identifier
Since mapping cylinders requires use of dive ID, we might as well use
the ID to map the profile also.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
a52fc86a1c Divinglog import: get cylinder information
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
22b665cc14 Divinglog import: import temperature graph
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
17bc868531 Divinglog import: add workload warning
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
5bc4f974c5 Divinglog import: deco stop ignored event added
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:17 -07:00
Miika Turkia
0011d43711 Divinglog import: ascent warning added
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Miika Turkia
c91ecb62af Divinglog import: RBT warning event added
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Miika Turkia
495aab8f20 Divinglog import: in deco?
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Miika Turkia
90f7a6930a Divinglog import: parse depth from database
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Miika Turkia
c87d7d96b5 Divinglog import: import a bit more data from DB
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Miika Turkia
e98cbdf020 Divinglog import: basic dive info for DB import
This parses the basic metadata of a dive when importing Divinglog
database. (Discarding deleted dives is my best guess as I do not have
that in my sample dive.)

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Miika Turkia
b4d5f6fd53 Divinglog import: hook up processing of .sql files
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Miika Turkia
212cc575bf Divinglog import: add .sql extension for import
Generic divelog might come with the .sql extension, thus adding that to
the file filter.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Dirk Hohndel
164cafe5d3 QML UI: use stackView to show sub windows
QML on Android doesn't support multiple windows, so dialogs that work on
the desktop are not a good solution on Android. A much more natural way to
present sub windows is a stackView.

In order to do this Preferences needs to be an item and the structure of
the ApplicationWindow needs to change a bit.

This also removes the hard coded sizes and instead tries to design this in
a resolution independent manner.

The diff appears larger than the actual change because of an increase of
indentation for the ApplicationWindow content.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 10:59:33 -07:00
Dirk Hohndel
57e9784d27 QML UI: improve preferences layout
And make it resolution independent.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 10:55:45 -07:00
Dirk Hohndel
ac074bf239 QML UI: start making things resolution independent
Don't hard code sizes as devices tend to have much higher pixel density
than desktop computers. Instead make sizes relative to the content.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 10:52:44 -07:00
Dirk Hohndel
4088f9f652 QML UI: set window size on desktop devices
On Android the app figures out the size by itself.

Also change the name to match our naming scheme (Subsurface mobile for the
QML UI).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 10:52:15 -07:00
Dirk Hohndel
93d348fa59 Globe: Remove workarounds for ancient Marble versions
We build against our own Marble, anyway. So this isn't needed anymore.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 09:30:45 -07:00
Dirk Hohndel
d8ca046265 Don't show the update messages in the mobile app
Android provides update notifications already.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-10 13:28:28 -07:00
Dirk Hohndel
c2e1158cf7 Cmake: use the mobile icon for Android apk
The first attempt missed the second spot where this was set.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-10 11:22:39 -07:00
Dirk Hohndel
bda482a30a Geo taxonomy: add higher level notion of city
This renames the local name for the location as town and adds the concept
of a city as the level 3 admin category. In some regions (e.g. at times in
Italy) the local hamlet name is shown as toponymName but the name of the
actual city is given as adminName3.

With this change "city" will always reflect our best guess: adminName3 if
it exists, otherwise the toponymName. Whereas "town" is always the
toponymName.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-10 09:51:50 -07:00
Dirk Hohndel
a0f88e4c9f Git storage: only show geo cat if there is a value
Otherwise we could get mangled data since the newline isn't printed.
Now a good question would be "why do we have empty values in our data",
but either way, we should write invalid data to the git repository.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-10 09:49:32 -07:00
Grace Karanja
ebcf3e67c5 QML UI: whitespace fix
Fix some whitespace issues in the QMLManager and DiveListModel
classes.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10 06:04:18 -07:00
Grace Karanja
c4fda447fd QML UI: show dive details in TextBoxes
Show the dive details in editable text boxes. This will make it easier
for the user to edit the displayed information.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10 06:04:06 -07:00
Grace Karanja
bdf87ff60e QML UI: move the dive list to a separate file
Move the dive list qml code to a separate file for easier management.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10 06:04:01 -07:00
Grace Karanja
866d67c5e7 QML UI: Load dives from cloud
Load dives from the Subsurface cloud service using the user's saved
credentials. This will display the dives in the same way as loading
them from a local file.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10 06:03:56 -07:00
Grace Karanja
f01ec470e7 QML UI: add button to show the preferences window
Add a button in the main qml file to show the preferences window. This
window is linked to the QMLManager class, so any changes made will be
saved to the user's settings file.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10 06:03:43 -07:00
Grace Karanja
956336ae1a QML UI: add QML Preferences Dialog
This will allow the user to edit and save their Subsurface cloud
credentials.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10 06:03:36 -07:00
Grace Karanja
5791f580df QML UI: add cloud credential fields to the QMLManager class
These fields will be used by the QML Ui to save/retrieve the user's
cloud credentials.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
2015-07-10 06:03:20 -07:00
Dirk Hohndel
27f55cb964 Use mobile icon for subsurface-mobile
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 20:47:16 -07:00
Dirk Hohndel
121f9f1902 FAQ: add entry about shortcut keys on Ubuntu
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 16:55:56 -07:00
Dirk Hohndel
3db58299a3 Add 1x1 transparent png to replace missing marble data
Marble currently tries to open non-existent files, and the way
it does that causes an annoying warning on the console. The new
Subsurface version of Marble will instead open this invisible
PNG file whenever it can't find the bitmap it is looking for.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 16:38:36 -07:00
Dirk Hohndel
cbda93ce11 Add different icon for mobile app
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 16:37:43 -07:00
Anton Lundin
9217a03ef3 Teach android build about subsurface-mobile
This teaches android build.sh and cmake about how to build the qml ui of
subsurface-mobile as a apk.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 15:10:48 -07:00
Anton Lundin
e16b116297 Teach divemode editing about multiple dc's
This teaches the edit divemode about the fact that we can have multiple
dc's with different divemodes. The previous code always just edited the
first dc.

This was reported by Ian Pitt in:
https://groups.google.com/forum/#!category-topic/subsurface-divelog/4Zf47KS4Ifk

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 06:29:59 -07:00
Anton Lundin
5cbbff0084 Use qt-android-cmake to produce a android apk
This introduces code to use qt-android-cmake to produce a working apk.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 15:48:42 -07:00
Anton Lundin
1f112c7738 Make the libssh linking optional
Due to bugs in libgit2, we force linking with libssh2 to add
git-over-ssh support. On android we currency don't want libssh2 due to
its dependency chain, so this makes the libssh2 force linking opt-out.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 15:48:30 -07:00
Anton Lundin
a558f09f8d Update suggested versions in android build script
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 15:48:10 -07:00