Commit graph

13068 commits

Author SHA1 Message Date
Lubomir I. Ivanov
182992fad5 desktop-main.cpp: add verbose output to validateGL()
Amend validateGL() with verbose output.
Also use QDebug instead of fprintf().

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-29 16:56:35 -07:00
Dirk Hohndel
c88b59392b Latest translations
This includes several fixed translations where arguments didn't
match the source strings, several of which could likely have
resulted in crashes.

Credit goes to Robert's update to checktranslation.pl.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-29 20:14:15 +01:00
Dirk Hohndel
090e86e34d Update translation source strings
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-29 20:01:31 +01:00
Dirk Hohndel
2d604ab2ff Mark missing translations
Reported-by: Pedro Neves <nevesdiver@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-29 20:00:53 +01:00
Jan Mulder
cf75e6451d QML UI: Scrolling in dive details
While testing the mobile app on Qt 5.9.2, I encounted a show stopping
issue. Select a dive in the dive list, go back to the dive list (as
selecting a dive opens the details), now scroll down to a different
dive, and select one. The app starts enumerating (moved smoothly
according to the specs) all the dives between the old and the new
selected dive. So, depending on the distance, this could take forever.
Explicitly: on 5.9.2. only.

From the Qt docs:

highlightFollowsCurrentItem : bool

If this property is true (the default value), the highlight is moved
smoothly to follow the current item. Otherwise, the highlight is not
moved by the view, and any movement must be implemented by the highlight.

End Qt docs.

Setting this property to false solves the issue. Tested on both Qt 5.9.1
and 5.9.2.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-29 11:08:10 -07:00
Stefan Fuchs
4e320cca5b Remove three obsolete preferences options for geocoding
These options are not used any longer/were never used and can be
removed to not confuse the users.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-29 11:07:52 -07:00
Lubomir I. Ivanov
c78a864e15 desktop-main.cpp: add validateGL()
Add a new static function to validate the availability of OpenGL
on this particular desktop system. It makes some calls to create
a platform agnostic GL context that renders to a offscreen surface.
Then it makes a couple of glGetIntegerv((GL_xxx_VERSION, ...) calls
to see if the GL profile version is at least 2.1.

In case any of the steps fail, a stderr message is shown and all
QtQuick based widgets would be rendered using a software renderer.

Testing was done in the case of the Google maps plugin and the
fallback seems to work on Windows, but further testing will be
required on all OS.

For the time being, the automatic fallback is only supported
on Qt 5.8.0 or later.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-29 11:06:40 -07:00
Lubomir I. Ivanov
fd2e4803a0 README: add notes about the OpenGL requirements
This commit creates a "System Requirements" section
in the README. Thus far this wasn't required but the
Google maps plugin introduced a complication.

The next patch will attempt to add the automatic
"fall back to a software renderer".

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-29 11:06:40 -07:00
Robert C. Helling
43b1a73022 Check arguments of translation strings
Make sure the arguments of placeholders agree

Signed-off-by: Robert C. Helling <helling@atdotde.de>
2017-10-29 11:01:56 -07:00
Salvador Cuñat
15028fd299 smtk2ssrf-build.sh: add building command line mode
Add a flag to build with -DCOMMANDLINE=ON
2017-10-29 17:08:36 +01:00
Salvador Cuñat
d7d8434f4e sntk2ssrf-build.sh: minor fixes
- Reverse warning question logic.
- Remove marble related cmake flag.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-10-29 17:08:36 +01:00
Salvador Cuñat
1a0ea6cc97 smtk2ssrf-build.sh: Add warning and some style fixes
Add a warning about overriding subsurface binary and make some scripting
style changes.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-10-29 17:08:36 +01:00
Salvador Cuñat
c6d85838b5 smtk2ssrf-build.sh: Build a stripped version of subsurface
Till now we have been building against a previous built of subsurface.
This was handy and fast, but there is a huge drawback in this approach
because we were including a lot of unneeded dependencies (e.g. marble
or serial-ftdi), some of which are, indeed, optional.

With this patch, a stripped down version of susbsurface is built and
used to link in smtk2ssrf.

The bad news are that this - almost unusable - version of subsurface
overrides any preexisting binary, so the user has to rebuild.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-10-29 17:08:36 +01:00
Lubomir I. Ivanov
9367610220 mapwidget: add the 'isReady' flag to the Map component
The 'isReady' boolean flag is now set to 'true' only
once the Component.onCompleted slot is reached.

The flag is then used as a safe-guard in the
onZoomLevelChanged slot. Calculate the small circle radius
(mapHelper.calculateSmallCircleRadius()) only if 'isReady'
is set to true.

Prevents a crash if the Map widget is not ready, yet a zoom
level is set via the 'zoomLevel' property. The crash happens
because mapHelper.calculateSmallCircleRadius() has a callback
to the Map component to estimate some points and distances of the
small circle.

Reported-by: Stefan Fuchs <sfuchs@gmx.de>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-29 08:26:11 +01:00
Jan Mulder
6d81e19eae map widget: start with normal zoomlevel
Commit 344d976593 resulted in the start of Subsurface with a map of
the whole world. The user has to zoom in (assuming the case that the
first selected dive has a position), in evenry session. This is solved
by setting the zoomlevel at startup at the default value. Ok, this
results in a map of central London, UK, when starting Subsurface with
a dive without location, but is this as good as any map.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-29 08:26:11 +01:00
Lubomir I. Ivanov
4357e06ba0 mainwindow.cpp: fix whitespace
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2017-10-28 17:39:19 +02:00
Dirk Hohndel
98ddc1977c Start ReleaseNotes for 4.7.2
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-28 17:11:16 +02:00
Dirk Hohndel
6efb357249 Pull latest translations
Fixes #740

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-28 17:02:30 +02:00
Dirk Hohndel
9fabb50040 Small changes to the issue template
This way hopefully more people will tell us right away which
localization they are running in.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-28 16:59:20 +02:00
Stefan Fuchs
81492b8cba Set checked status of menu entry for dive list filter correctly
When enabling the dive list filter via the menu entry
"Log->Filter dives" and then switch off the filter via the small "close"
button of the filter:
Set the checked status of the menu entry correctly.
Also set it correctly when switching on/off via the menu entry to avoid
any situation where it is not synced.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
2017-10-28 14:16:38 +02:00
Salvador Cuñat
215f61175d mobile-manual_es: Update translation to daac80b7 2017-10-28 13:10:13 +02:00
Jan Mulder
bdf6dc7828 Kirigami: newer SHA
Switch to a newer SHA, so that at least my commit is in. Checked
the newer version, and no other artefacts seen. I think we
should try to follow master where we can (but controlled).

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-28 09:05:16 +02:00
Salvador Cuñat
1095b78071 Planner: Do not translate VARIATIONS
This string is substituted with the runtime increments derived of slight
variations in depth or bottom time in:

diveplannermodel.cpp:1058:
displayed_dive.notes = strdup(notes.replace("VARIATIONS", QString(buf)).toUtf8().data());

Translating it avoids substitution and we just get the translated
string.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2017-10-28 08:19:18 +02:00
Jan Mulder
6bd5312dfa QML UI: prevent full overflow of bottom buttons
A not perfect improvement, but way better IMHO. Prevent the list of
downloaded dives to grow over the buttons at the bottom. Just a simple
change by adding a bottomMargin to the list.

Notice that there is still some overlap, but for now I consider this a
trade-off between the scarce screen real-estate and the wish to present
and much as possible dowloaded dives.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-27 19:28:42 +02:00
Jan Mulder
f25cc3a67f QML UI: repair long trip headers
Trip headers spanning more than one line where broken at incorrect
locations in the string. Not exactly sure, but I think this came with
the newest Kirigami SHA, and especially the Label change.

Carefully reading the code for the trip heading shows a "strange"
negative margin. So the margin is on the outside. This margin was
used to split the string, allowing for a small invisible part of
the string to present as trip header.

This is solved by this commit.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-27 19:27:47 +02:00
Berthold Stoeger
43a5cb3962 Clear error string when starting dive computer dowload.
Fixes minor interface inconsistency: After a failed download, the
error message was also shown on subsequent successful downloads.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2017-10-26 20:45:25 +02:00
Dirk Hohndel
6852c3b039 git save: create a better commit message for initial commit
When we create an empty repo we should simply state that in the commit message.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 20:44:02 +02:00
Dirk Hohndel
1be4435175 git save: don't save the git_id if just creating empty repo
Otherwise the following call to do_git_save will potentially have incorrect information
about the cache validity of the dives in the divelist.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 20:44:02 +02:00
Dirk Hohndel
bd54e94606 git save: remove redundant 'subsurface' from commit message
The user agent string already contains the (correctly capitalized) program name.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 20:44:02 +02:00
Dirk Hohndel
a0c40833a4 Report which files were opened / imported at start
We only do this in verbose mode to make sure a report contains the information
about the existing files used.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 20:44:02 +02:00
Dirk Hohndel
5269f8ce40 git storage: print the actual error
It seems silly to not show what git told us went wrong.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 20:44:02 +02:00
Dirk Hohndel
6f20d1a208 cloudstorage: handle invalid PIN correctly
If the server tells us that the PIN is invalid, we need to continue
to ask for a PIN.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 20:44:02 +02:00
Dirk Hohndel
9c4782fa5c cloudstorage: better member name when updating authentication state
This isn't just about showing the PIN or not.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 20:44:02 +02:00
Dirk Hohndel
95a8f951ba Remove bogus member that hides global variable
Inexplicably, commit 8b7427c56d ("Move CloudStorage out of the widgets")
didn't just move the code but added a local member 'verbose' that hides
our global variable...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 20:44:02 +02:00
Miika Turkia
5f88b62cb1 Support for trimix on jdivelog import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-10-26 13:13:24 -04:00
Tomaz Canabrava
a08e8a2d04 Merge pull request #726 from Subsurface-divelog/rewriteErrorHandling
Rewrite error handling
2017-10-26 16:24:51 +02:00
Dirk Hohndel
405923ecfd Desktop UI: notify user if they need to enter a cloud PIN
This will need to be merged / cleaned up once the git storage fixes have
been merged.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 15:57:10 +02:00
Dirk Hohndel
e64dcd12bd desktop UI: no longer attempt to manually show error notifications
report_error() now does this automatically. So all these odd places in which we tried
to make sure that we show errors are no longer needed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 15:55:49 +02:00
Dirk Hohndel
752d9b60c4 Divelistview: use report_error to report and error
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 15:53:47 +02:00
Dirk Hohndel
3b92585a47 Don't show error if cloud credentials aren't set up
This became rather obvious with the change to immediately show errors.

The commit also fixes a small memory leak.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 15:52:58 +02:00
Dirk Hohndel
f088aa4c8b desktop UI: always show errors when reported
Instead of waiting for a manual call to showError(), simply use the new
callback to always immediately show the error in the notification widget.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 15:50:53 +02:00
Dirk Hohndel
eccd4b993a Set error callback helper
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 14:37:39 +02:00
Dirk Hohndel
6ec7d2d877 Move error reporting into its own source file
This doesn't really seem to belong in save_git.c.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-26 14:37:38 +02:00
Dirk Hohndel
2c67b387ea Update the rendered version of Spanish Subsurface-mobile manual
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-25 07:17:09 +02:00
Dirk Hohndel
9ef9c3efc0 Respect autogroup in Subsurface-mobile
After we download new dives we need to try to autogroup them.
In Subsurface this is done when we refresh the dive list. Here
we might be better off doing it right after processing the new
dives.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-23 15:15:17 -04:00
Dirk Hohndel
02f4490dea Mac build: update instructions
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-23 11:51:21 -04:00
Dirk Hohndel
ccfdd6deec Mac build: use more system libraries
libxml2, libxslt, and libsqlite3 are new enough on macOS to no longer
require our own versions.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-23 11:51:21 -04:00
Dirk Hohndel
d839392bb6 Mac build: don't force link against OpenSSL
libgit2 uses native SSL / crypto on Darwin/macOS.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-23 11:51:21 -04:00
Linus Torvalds
344d976593 Make the map widget more pleasant to use
This does two main things to the map widget:

 - if there are no coordinates, do *not* zoom out to the whole-world
   view. Just leave the map alone.

 - when zooming out to move to a new dive site, zoom back in to the same
   zoom level it was before.

These two changes make it much more pleasant to move between dives,
particularly as you move back-and-forth without losing the zoom level.

NOTE! The zoom level gets reset if you move dives _while_ zooming is
happening, and so moving quickly between dives will still end up losing
the original zoom level, replacing it with a bigger zoom-out that was
active _during_ a previous zoom.

That could be seen as a feature (moving incrementally to an "overview"
zoom when moving quickly between dive sites), but honestly it smells
more like a bug to me.  But regardless of that feature/bug, this new
zoom behavior is more pleasant than our older "always reset when
moving".

But it might be a matter of taste, so people should try this out and
comment.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation,org>
Cc: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-10-23 10:34:19 -04:00
Jan Mulder
87db35de3c Fix broken multi selected dive to trip
See referenced issue number. It leads back to an ancient (3 year old)
commit 512c42e. Not sure this issue is introduced there, but that's not
relevant.

Key in reproducing this is the location where the context menu is
requested (using the right mouse button). When it is the row next
to the trip, the add-to-trip succeeds correctly, otherwise
it is a no-op.

The solution is rather trivial (in hindsight). Just loop over the
selected dives, and try to find the trip we want to add to.

Fixes: #522

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2017-10-23 10:06:33 -04:00