Commit graph

11231 commits

Author SHA1 Message Date
Dirk Hohndel
7a55eeeb07 Android build: don't link against libssh2
We don't use ssh-based git in Subsurface-mobile, so there's no reason to
link against it.

This should hopefully fix the current issues with the Android APK on some
devices.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-28 19:14:06 -07:00
Tomaz Canabrava
0a6f6b4382 Settings update: Fix missing groups and Language initialization
There's one function named uiLanguage() that should return
the current uiLanguage() that subsurface is running, but
it actually sets a whole lot of preferences, I think
that the general idea of that function is okay, but it seems
broken for me.

still, I used it to load the correct language from the preferences
since it's what this function is currently doing right now.

Also, a lot of missing groups where added.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 22:37:15 -07:00
Tomaz Canabrava
270864d073 Settings update: Only set if value changed + bugfixes.
Only set the settings if it actually changes, when the user
clicked on the save button on the preferences, the code would
run in every dialog saving each preferences on disk, but this
is uneeded if the value didn't changed.

Also, while doing that, I found a couple of places where I
used the wrong field, which are now fixed.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 22:32:01 -07:00
Dirk Hohndel
c52688c528 Fix compile for Subsurface-mobile
The Settings update series didn't make the corresponding changes
for Subsurface-mobile.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 12:45:20 -07:00
Dirk Hohndel
1bf76dd3db Settings update: Fix broken UpdateManger logic
In commit b76c1846bb ("Settings update: Simplify Update Manager")
the logic for when to show the UpdateManger question to the user got
broken. Unintuitively, a boolean setting actually has three possible
values. True, False, and Unset. This patch fixes things to work as
designed again.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 12:29:08 -07:00
Tomaz Canabrava
f745a25cb7 Settings update: Remember to load the "UpdateManager" settings
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
9b2404fcb4 Settings update: Move loadPreferences out of qt-helper.cpp
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
8f178301d8 Settings update: Use the Settings to store the plannersettings
Instead of settings things manually in the code. (btw,
if we use lambdas the code can be quite smaller)

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
ad7524fda1 Organize the connect calls per object.
Just to make it easy on the eyes.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
f8f87b7294 Settings update: Move preferences sync / initialization
Move Preferences sync / initialization out of the planner
widget prerferences to the ObjectWrapper.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
12eccda523 Settings update: Fix Facebook Widget to use the SettingsObjectWrapper
Fix facebook widget to use the SettingsObjectWrapper instead
of figthing our complementary Settings each call.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
5651abfd75 Settings update: Simplify code by using the SettingsObjectHelper
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
83236f7e9e Settings update: Some code cleanup
The only block of code that I removed here is because the
QSettings preferences that is being read is the exact one
that we populate on the prefs.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
a1b22797ca Settings update: Remove uneeded includes
and comment out questionable code.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:45 -07:00
Tomaz Canabrava
9299e3c42b Settings update: Correct comment
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:44 -07:00
Tomaz Canabrava
ee91002fdb Settings update: Remove unused include and add FIXME comment
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:44 -07:00
Tomaz Canabrava
db8e8957ab Settings update: Add "Dive Computer" settings to SettingsObjectWrapper
For some reason, the dive computer settings weren't in the
settings prefs. This moves it, makes the boilerplate on Settings
ObjectWrapper and make things compile.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:44 -07:00
Tomaz Canabrava
b264c3e367 Settings update: Remove unused include & variable.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:44 -07:00
Tomaz Canabrava
b76c1846bb Settings update: Simplify Update Manager
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 11:40:44 -07:00
Tomaz Canabrava
5c8b87b5fd Settings update: Add UpdateManagerSettings to SettingsObjectWrapper
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:58:13 -07:00
Tomaz Canabrava
4f2057cd30 Settings update: Fix "Units"
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:55:40 -07:00
Tomaz Canabrava
b5e98ec993 Settings update: Fix "Network" and "CloudStorage"
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:55:40 -07:00
Tomaz Canabrava
81d5d82b7b Settings update: Clean up save user id local
So, prefs.save_userid_local is being set outside of
a preferences set (it's set to true and false while
loading the files via xml or git) and because of that
I had to bypass a few method calls.

When something triggers a preferences change, the
application will be notified that the preferences
changed, thing that I couldn't do while reading the
xml or git because that should be local-only.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:55:40 -07:00
Tomaz Canabrava
048379cc2b Settings update: Fix "Language" settings
Save the language settings using the SettingsObjectWrapper.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:55:40 -07:00
Tomaz Canabrava
bc95138f96 Settings update: Use internal prefs structure to read preferences
Don't use a QSettings to read properties, it's really
easy to mispell something. Just use the internal prefs structure.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:55:40 -07:00
Tomaz Canabrava
906d62ac7a Settings update: Fix settings in PreferencesGraph class
Use the SettingsObjectWrapper.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:55:36 -07:00
Tomaz Canabrava
93c19b18a7 Settings update: Fix "geocoding"
Use the SettingsObjectWrapper to access "geocoding"

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:46:38 -07:00
Tomaz Canabrava
8f05afcda3 Settings update: Fix "General Settings", "Display", and "Animation"
First commit in the series that will unify the way to use,
save, and update settings in the core. This fixes the usage of
"General Settings", "Display", and "Animation" to use the
SettingsObjectWrapper.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-27 10:46:32 -07:00
Dirk Hohndel
a5cf8aaa21 Android build: try to create APK that works on Android 7.0
It appears that instead of statically linking against ssl/crypto/ssh2, you
instead have to dynamically link against it and then bundle the library in
the APK. The documentation is not 100% clear and I don't have an Android
Nougat device to test this with, so for now this is an attempt.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-24 13:36:32 -07:00
Dirk Hohndel
7dd8a62ced Don't build Kirigami as a library
Just link it directly into Subsurface-mobile. That's what we already do
with the qmake file for iOS, now the cmake based builds do the same. This
should remove a lot of issues.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-18 21:38:13 -07:00
Anton Lundin
11df8d9a90 scripts: Don't build marble for mobile
When only building the mobile version, we don't need to build marble.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:44:31 -07:00
Anton Lundin
04d8d7cb13 scripts: run all scripts with -e
Run all scripts with -e so they exit as soon as something breaks. That
way the build stops at the first error, not some other error.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:44:31 -07:00
Joakim Bygdell
925fd8d4c1 Android build: compile kirigami
Build kirkigami plugin out of source and make sure that we use the same QT
version for the plugin and the app.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-17 21:29:05 -07:00
Dirk Hohndel
59e53ae4cc Hide compile time warning
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-16 11:31:31 -07:00
Dirk Hohndel
9a41d0d8bb QML UI: set a reasonable default column width
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-16 11:23:44 -07:00
Dirk Hohndel
2779f9198a iOS build: no need to build kirigami library anymore
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-16 07:51:35 -07:00
Dirk Hohndel
81166bc971 iOS build: directly include Kirigami
Instead of building a library that we link against, let's just use the .pri
file and include Kirigami in the primary build.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-16 07:50:45 -07:00
Dirk Hohndel
39d8479549 Revert "Init Kirigami resources"
This reverts commit 44aaab2611.

We don't need this if we include Kirigami directly into the Subsurface build.
2016-08-16 06:55:44 -07:00
Dirk Hohndel
cf4a4dd98b QML UI: format numbers for Theme info
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-15 20:48:23 -07:00
Dirk Hohndel
44aaab2611 Init Kirigami resources
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-15 16:51:48 -07:00
Dirk Hohndel
f23c2d8192 Remove hacks around Kirigami issues
Those were fixed upstream.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-15 13:42:03 -07:00
Dirk Hohndel
d408939076 IOS build: compile kirigami plugin
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 15:48:48 -07:00
Linus Torvalds
c840ab4332 Fill in divecomputer serial number and firmware version on loading
We have the serial number and firmware version fields in "struct
divecomputer", but we don't actually fill them in when loading the data
from git or xml, because we save all that information in the separate
device table instead.

But in order to always have the serial number associated with a device,
let's make sure to fill those fields in.  It won't hurt, and this way we
have the information available whether we just loaded the dive from a
file, or imported it from the dive computer.  One less semantic
difference to worry about.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 10:22:41 -07:00
Linus Torvalds
777cbd9cfe Fix cloud storage authentication attempt counting
The authentication count was a static counter in the authentication
callback, which gets incremented until we consider the authentication to
have failed.

The problem with that is that it doesn't get incremented for just _one_
authentication operation, it gets incremented each time you try to load
or save, so eventually the code considers authentication to have failed
even if nothing ever went wrong.

This fixes it by making it static to the whole git-access file, and have
each operation clear it before starting a new remote access.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 10:22:35 -07:00
Dirk Hohndel
a62e225e03 Hack to work around build issues with current kirigami
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 10:22:16 -07:00
Dirk Hohndel
af282a6061 Don't build kirigami in the source tree
Instead build it in its own build tree, where it belongs.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 09:35:12 -07:00
Marco Martin
24718adfc3 Use kirigami built in static mode
Now kirigami needs to be built with a C++ plugin.
In cases of mobile operating systems such as iOS (and in a lesser measuse,
Android) having a proper plugin loaded at runtime may be difficult, so
statically link it together with all of its qml files compiled as a
qresource inside the static library.

Signed-off-by: Marco Martin <notmart@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-14 07:56:05 -07:00
Dirk Hohndel
545c60a517 Add new files to qmake
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-13 20:11:20 -07:00
Brian Weber
cccd4cd17b Add HP117 to the cylinder list
Reported-by: Brian Weber
Signed-off-by: weber311@gmail.com
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-10 15:08:51 -07:00
Miika Turkia
38a2db05c0 Include full year for trip on divelist
Having only the last 2 digits of the year is somewhat confusing as one
can easily think that to be the day. Thus it is more clear to use full
year for the trip header.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-08-10 15:08:04 -07:00