Show different images for IO-error and unknow file format.
Use file-extensions to recognize video files if we couldn't
parse them.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Import an "unknown-type" icon from the KDE breeze theme, which is
licensed under the LGPL. This icon will be shown for file for which
we couldn't determine whether this is a picture or a video.
Source: https://github.com/KDE/breeze-icons
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
The # and <> characters introduced formatting issues,
for those who wanted to view our changelog in the Github
repository.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
As long as ProfileWidget2 and DivePictureModel showed the same set of
pictures and any change would lead to a full recalculation of the set,
it made sense to let ProfileWidget2 use DivePictureModel's data.
Recently, keeping the two lists in sync become more and more of a
burden. Therefore, disconnect ProfileWidget2 and DivePictureModel. This
will lead to some code-duplication and perhaps a temporary drop in
UI-performance, but in the end the code is distinctly simpler and also
more flexible.
Thus, for example the DivePhotoTab could be changed to support headings
without having to touch ProfileWidget2 at all.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
When generating thumbnails, test for video files. If it is, use
a dummy-thumbnail. Write only the type (video), but no image to
the thumbnail cache, for forward-compatibility.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Import a video icon from the KDE breeze theme, which is licensed
under the LGPL. This icon will be used as a dummy-placeholder
for video files.
Source: https://github.com/KDE/breeze-icons
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
subsurface_user_info() only works on Linux (linux.c),
but it doesn't allocate values on the heap.
Solve this ownership problem by always allocating
.name and .email on the heap in subsurface_user_info()
and freeing in the caller.
If subsurface_user_info() did not modify any of the
values from NULL, use default ones, but allocate them
on the heap too.
Ref #1346
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Doing that confuses the build setup and as a result the library isn't found at
runtime without some fixups.
Fixes#1469
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
change qPrefDisplay.cpp to use qPref_private macros, for each variable. The macros
used depend on how standard the variable is handled.
Remark: this commit is production code, but qPrefDisplay is NOT integrated into
SettingsObjectWrapper and thus not active in the live system
Signed-off-by: Jan Iversen <jani@apache.org>
Add macros to handle get/set/loadsync function set functions in qPref
These macros are only convinience functions to write less for all those
variables who are traited standardized.
Signed-off-by: Jan Iversen <jani@apache.org>
Add macros to handle full function set functions in qPref
Remark: the function name is fixed to be "set_<name>" where name is
identical to the variable in struct preferences
This is not our standard naming, but is consistent with struct
preferences (that also use different name schemes).
Signed-off-by: Jan Iversen <jani@apache.org>
Add macros to handle full getter functions
Remark: it is assumed the name of getter function is identical to
the name in struct preferences.
Signed-off-by: Jan Iversen <jani@apache.org>
Use a private QSettings variable, instead of declaring it each time
Add macros to handle full disk* functions
Signed-off-by: Jan Iversen <jani@apache.org>
copy Display from SettingsObjectWrapper to qPref as its own class
file. Update Display to use a common load/sync scheme.
Update set/get functions to follow common name scheme:
- get function have same name as in struct preferences
- set function have set_<name in struct preferences>
- signal function have <name in struct preferences>_changed
one class one .h/.cpp is the C++ idiom. Having load/sync of each
variable in 1 functions (in contrast to the distributed way SettingsObjectWrapper
handles it) secures the same storage name is used. Having the set/get/load/sync
functions grouped together makes it easier to get an overview.
REMARK: this commit are made to show the use of the low level LOADSYNC macros, which will
be used for special cases. This class is NOT linked into the live system.
Signed-off-by: Jan Iversen <jani@apache.org>
In commit f3ef38ca0d ("Dive pictures: remove hashes") we removed picture
hashes, but removing them from the git parser causes an ugly red warning when
opening an existing cloud storage repo. With this patch we just silently ignore
the hash.
Fixes#1473
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
While we shouldn't have a dive that references a dive site that doesn't exist,
if we do, we shouldn't crash. And a dive site that doesn't exist is most
definitely 'empty'.
Reported-by: Benjamin Fogel <nystire@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
extend ssrf/makefile with "make check" option.
This is just a convinience function, to not need to "cd build" first
Signed-off-by: Jan Iversen <jani@apache.org>
Use Q_ENUM instad of Q_ENUMS (which is depreciated) since it does the
meta registration for all Qt platforms.
Q_ENUM require the enum to be defined in the class and cannot refer to
a global class, therefore copied enum to class.
This commit is made to get the release to work, with minimal changes,
this class will be moved to qPref and the double definition solved
Signed-off-by: Jan Iversen <jani@apache.org>
Update the scripts used to build subsurface-mobile for
andriod to use the variables file.
Removed checks for obsolete Qt versions.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
This adds a file that contains the variables used in
the android-build-wrapper and build scripts.
This gives a single location for setting which versions
of Qt, NDK and SDK we use when building the mobile app on linux.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Because of the code cleanup in commit 57c01f7a66 ("Translations: unify
gettextFromC::tr() and QObject::tr()") a lot of text has moved to new
context.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
commit ec0511e824 ("ios: concentrate build dirs") moved the translations around
without updating the way they are accessed, causing our release 2.1.0 on iOS to
not be localized.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Only the first computer is taken into account to find
surface intervals. All further dive computers are split
according to time.
Signed-off-by: Robert C. Helling <helling@atdotde.de>