mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 13:10:19 +00:00
5c1abde2a5
This adds an entry to the dive list context menu to load images. The user can select image files and set a time offset to align camera and dive computer clocks. Using the exif time stamp the images are tried to match to the times of the selected dives (with a grace period of an hour before and after the dive). Upon success an event of type 123 is created per image with the string value being the path to the image. Those images are displayed as thumbnails in the profile. If the matching dive does not yet have a geo location specified but the image provides one it is copied to the dive (making the camera a poor man's companion app). This patch includes easyexif https://code.google.com/p/easyexif/ which is originally under a New BSD License to parse the image meta data. This commit includes a new test dive dives/test31.xml with a matching image wreck.jpg to try out the functionallity. Obvious to do's: Have images on the map Have the images clickable Have a proper picture viewer Give visual reference for image time shifting. Use the new profile Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
237 lines
5.9 KiB
Prolog
237 lines
5.9 KiB
Prolog
include(subsurface-configure.pri)
|
|
|
|
QT = core gui network svg
|
|
lessThan(QT_MAJOR_VERSION, 5) {
|
|
QT += webkit
|
|
} else {
|
|
QT += webkitwidgets
|
|
}
|
|
INCLUDEPATH += qt-ui $$PWD
|
|
DEPENDPATH += qt-ui
|
|
|
|
mac: TARGET = Subsurface
|
|
else: TARGET = subsurface
|
|
|
|
VERSION = 4.0.2
|
|
|
|
HEADERS = \
|
|
color.h \
|
|
deco.h \
|
|
device.h \
|
|
display.h \
|
|
dive.h \
|
|
divelist.h \
|
|
file.h \
|
|
flag.h \
|
|
gettextfromc.h \
|
|
gettext.h \
|
|
helpers.h \
|
|
libdivecomputer.h \
|
|
planner.h \
|
|
pref.h \
|
|
profile.h \
|
|
qt-gui.h \
|
|
qthelper.h \
|
|
qt-ui/about.h \
|
|
qt-ui/completionmodels.h \
|
|
qt-ui/divecomputermanagementdialog.h \
|
|
qt-ui/divelistview.h \
|
|
qt-ui/diveplanner.h \
|
|
qt-ui/downloadfromdivecomputer.h \
|
|
qt-ui/globe.h \
|
|
qt-ui/graphicsview-common.h \
|
|
qt-ui/kmessagewidget.h \
|
|
qt-ui/maintab.h \
|
|
qt-ui/mainwindow.h \
|
|
qt-ui/modeldelegates.h \
|
|
qt-ui/models.h \
|
|
qt-ui/preferences.h \
|
|
qt-ui/printdialog.h \
|
|
qt-ui/printlayout.h \
|
|
qt-ui/printoptions.h \
|
|
qt-ui/profilegraphics.h \
|
|
qt-ui/simplewidgets.h \
|
|
qt-ui/starwidget.h \
|
|
qt-ui/subsurfacewebservices.h \
|
|
qt-ui/tableview.h \
|
|
qt-ui/exif.h \
|
|
sha1.h \
|
|
statistics.h \
|
|
subsurface-icon.h \
|
|
subsurfacestartup.h \
|
|
uemis.h \
|
|
webservice.h \
|
|
qt-ui/divelogimportdialog.h \
|
|
qt-ui/tagwidget.h \
|
|
qt-ui/groupedlineedit.h \
|
|
qt-ui/usermanual.h \
|
|
qt-ui/profile/profilewidget2.h \
|
|
qt-ui/profile/diverectitem.h \
|
|
qt-ui/profile/divepixmapitem.h \
|
|
qt-ui/profile/divelineitem.h \
|
|
qt-ui/profile/divetextitem.h \
|
|
qt-ui/profile/animationfunctions.h \
|
|
qt-ui/profile/divecartesianaxis.h \
|
|
qt-ui/profile/diveplotdatamodel.h \
|
|
qt-ui/profile/diveprofileitem.h \
|
|
qt-ui/profile/diveeventitem.h \
|
|
qt-ui/profile/divetooltipitem.h
|
|
|
|
SOURCES = \
|
|
deco.c \
|
|
device.c \
|
|
dive.c \
|
|
divelist.c \
|
|
equipment.c \
|
|
file.c \
|
|
gettextfromc.cpp \
|
|
libdivecomputer.c \
|
|
main.cpp \
|
|
membuffer.c \
|
|
parse-xml.c \
|
|
planner.c \
|
|
profile.c \
|
|
qt-gui.cpp \
|
|
qthelper.cpp \
|
|
qt-ui/about.cpp \
|
|
qt-ui/completionmodels.cpp \
|
|
qt-ui/divecomputermanagementdialog.cpp \
|
|
qt-ui/divelistview.cpp \
|
|
qt-ui/diveplanner.cpp \
|
|
qt-ui/downloadfromdivecomputer.cpp \
|
|
qt-ui/globe.cpp \
|
|
qt-ui/graphicsview-common.cpp \
|
|
qt-ui/kmessagewidget.cpp \
|
|
qt-ui/maintab.cpp \
|
|
qt-ui/mainwindow.cpp \
|
|
qt-ui/modeldelegates.cpp \
|
|
qt-ui/models.cpp \
|
|
qt-ui/preferences.cpp \
|
|
qt-ui/printdialog.cpp \
|
|
qt-ui/printlayout.cpp \
|
|
qt-ui/printoptions.cpp \
|
|
qt-ui/profilegraphics.cpp \
|
|
qt-ui/simplewidgets.cpp \
|
|
qt-ui/starwidget.cpp \
|
|
qt-ui/subsurfacewebservices.cpp \
|
|
qt-ui/tableview.cpp \
|
|
qt-ui/exif.cpp \
|
|
save-xml.c \
|
|
sha1.c \
|
|
statistics.c \
|
|
strtod.c \
|
|
subsurfacestartup.c \
|
|
time.c \
|
|
uemis.c \
|
|
uemis-downloader.c \
|
|
qt-ui/divelogimportdialog.cpp \
|
|
qt-ui/tagwidget.cpp \
|
|
qt-ui/groupedlineedit.cpp \
|
|
qt-ui/usermanual.cpp \
|
|
qt-ui/profile/profilewidget2.cpp \
|
|
qt-ui/profile/diverectitem.cpp \
|
|
qt-ui/profile/divepixmapitem.cpp \
|
|
qt-ui/profile/divelineitem.cpp \
|
|
qt-ui/profile/divetextitem.cpp \
|
|
qt-ui/profile/animationfunctions.cpp \
|
|
qt-ui/profile/divecartesianaxis.cpp \
|
|
qt-ui/profile/diveplotdatamodel.cpp \
|
|
qt-ui/profile/diveprofileitem.cpp \
|
|
qt-ui/profile/diveeventitem.cpp \
|
|
qt-ui/profile/divetooltipitem.cpp
|
|
|
|
linux*: SOURCES += linux.c
|
|
mac: SOURCES += macos.c
|
|
win32: SOURCES += windows.c
|
|
|
|
FORMS = \
|
|
qt-ui/about.ui \
|
|
qt-ui/divecomputermanagementdialog.ui \
|
|
qt-ui/diveplanner.ui \
|
|
qt-ui/downloadfromdivecomputer.ui \
|
|
qt-ui/maintab.ui \
|
|
qt-ui/mainwindow.ui \
|
|
qt-ui/preferences.ui \
|
|
qt-ui/printoptions.ui \
|
|
qt-ui/renumber.ui \
|
|
qt-ui/shifttimes.ui \
|
|
qt-ui/shiftimagetimes.ui \
|
|
qt-ui/webservices.ui \
|
|
qt-ui/tableview.ui \
|
|
qt-ui/divelogimportdialog.ui \
|
|
qt-ui/usermanual.ui
|
|
|
|
RESOURCES = subsurface.qrc
|
|
|
|
TRANSLATIONS = \
|
|
translations/subsurface_source.ts \
|
|
translations/subsurface_bg_BG.ts \
|
|
translations/subsurface_da_DK.ts \
|
|
translations/subsurface_de_CH.ts \
|
|
translations/subsurface_de_DE.ts \
|
|
translations/subsurface_es_ES.ts \
|
|
translations/subsurface_et_EE.ts \
|
|
translations/subsurface_fi_FI.ts \
|
|
translations/subsurface_fr_FR.ts \
|
|
translations/subsurface_it_IT.ts \
|
|
translations/subsurface_nb_NO.ts \
|
|
translations/subsurface_nl_NL.ts \
|
|
translations/subsurface_pl_PL.ts \
|
|
translations/subsurface_pt_BR.ts \
|
|
translations/subsurface_pt_PT.ts \
|
|
translations/subsurface_ru_RU.ts \
|
|
translations/subsurface_sk_SK.ts \
|
|
translations/subsurface_sv_SE.ts \
|
|
translations/subsurface_zh_TW.ts \
|
|
translations/subsurface_he.ts
|
|
|
|
QTTRANSLATIONS = \
|
|
qt_da.qm \
|
|
qt_de.qm \
|
|
qt_es.qm \
|
|
qt_fr.qm \
|
|
qt_pl.qm \
|
|
qt_pt.qm \
|
|
qt_ru.qm \
|
|
qt_sk.qm \
|
|
qt_sv.qm
|
|
|
|
doc.commands += $$escape_expand(\\n\\t)$(MAKE) -C $$PWD/Documentation OUT=$$OUT_PWD/Documentation/ doc
|
|
all.depends += doc
|
|
QMAKE_EXTRA_TARGETS += doc all
|
|
|
|
DESKTOP_FILE = subsurface.desktop
|
|
mac: ICON = packaging/macosx/Subsurface.icns
|
|
else: ICON = subsurface-icon.svg
|
|
MANPAGE = subsurface.1
|
|
XSLT_FILES = xslt
|
|
ICONS_FILES = icons
|
|
DOC_FILES = $$OUT_PWD/Documentation/user-manual.html Documentation/images
|
|
MARBLEDIR = marbledata/maps marbledata/bitmaps
|
|
|
|
#DEPLOYMENT_PLUGIN += bearer/qnativewifibearer
|
|
DEPLOYMENT_PLUGIN += codecs/qcncodecs codecs/qjpcodecs codecs/qkrcodecs codecs/qtwcodecs
|
|
DEPLOYMENT_PLUGIN += imageformats/qgif imageformats/qjpeg imageformats/qsvg
|
|
DEPLOYMENT_PLUGIN += iconengines/qsvgicon
|
|
#DEPLOYMENT_PLUGIN += sqldrivers/qsqlite
|
|
|
|
# This information will go into the Windows .rc file and linked into the .exe
|
|
QMAKE_TARGET_COMPANY = subsurface team
|
|
QMAKE_TARGET_DESCRIPTION = subsurface dive log
|
|
QMAKE_TARGET_COPYRIGHT = Linus Torvalds, Dirk Hohndel and others
|
|
|
|
# And this is the Mac Info.plist file
|
|
# qmake automatically generates sed rules to replace:
|
|
# token qmake expansion
|
|
# @ICON@ $$ICON
|
|
# @TYPEINFO@ first 4 chars of $$QMAKE_PKGINFO_TYPEINFO
|
|
# @EXECUTABLE@ $$QMAKE_ORIG_TARGET
|
|
# @LIBRARY@ $$QMAKE_ORIG_TARGET
|
|
# @SHORT_VERSION@ $$VER_MAJ.$$VER_MIN
|
|
QMAKE_INFO_PLIST = packaging/macosx/Info.plist.in
|
|
|
|
OTHER_FILES += $$DESKTOPFILE $$ICON $$MANPAGE $$XSLT_FILES $$DOC_FILES $$MARBLEDIR \
|
|
$$QMAKE_INFO_PLIST
|
|
|
|
include(subsurface-gen-version.pri)
|
|
include(subsurface-install.pri)
|