mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
e2ad38189e
This is the main class to hold Grantlee engine logic. TemplateLayout::generate() loads QT5Grantlee and initialize the templates then returns a QString that contains the rendered HTML by Grantlee library. Also this class contains the Dive class which holds the logic that formats the data before passing it to the templates. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
421 lines
11 KiB
Prolog
421 lines
11 KiB
Prolog
message(" ")
|
|
message(" ")
|
|
message("qmake support will soon be removed from Subsurface")
|
|
message("if you haven't switched to cmake, yet, please consider doing so")
|
|
message("if this isn't possible for some reason, please let the mailing list know")
|
|
message(" ")
|
|
message(" ")
|
|
message(" ")
|
|
message(" ")
|
|
message("you can still use qmake by removing the error statement below")
|
|
message("simply edit $${PWD}/subsurface.pro")
|
|
#
|
|
# remove the following if you still need to use qmake
|
|
#
|
|
error(1)
|
|
|
|
CODECFORTR = UTF-8
|
|
CODECFORSRC = UTF-8
|
|
include(subsurface-configure.pri)
|
|
|
|
QT_CONFIG -= no-pkg-config
|
|
QT = core gui network svg
|
|
lessThan(QT_MAJOR_VERSION, 5) {
|
|
QT += webkit
|
|
} else {
|
|
QT += printsupport concurrent
|
|
!android: QT += webkitwidgets webkit
|
|
android: QT += androidextras
|
|
}
|
|
INCLUDEPATH += qt-ui $$PWD
|
|
DEPENDPATH += qt-ui
|
|
|
|
mac: TARGET = Subsurface
|
|
else: TARGET = subsurface
|
|
|
|
QMAKE_CLEAN += $$TARGET
|
|
|
|
VERSION = 4.4.2
|
|
VERSION_FILE = $$OUT_PWD/ssrf-version.h
|
|
# create a blank VERSION_FILE if missing
|
|
system(cat $$VERSION_FILE > /dev/null 2>&1 || touch $$VERSION_FILE)
|
|
|
|
HEADERS = \
|
|
$$VERSION_FILE \
|
|
version.h \
|
|
cochran.h \
|
|
color.h \
|
|
deco.h \
|
|
device.h \
|
|
display.h \
|
|
dive.h \
|
|
divelist.h \
|
|
divesite.h \
|
|
file.h \
|
|
gettextfromc.h \
|
|
gettext.h \
|
|
helpers.h \
|
|
libdivecomputer.h \
|
|
planner.h \
|
|
save-html.h \
|
|
worldmap-save.h \
|
|
worldmap-options.h \
|
|
pref.h \
|
|
profile.h \
|
|
gaspressures.h \
|
|
qt-gui.h \
|
|
qthelper.h \
|
|
units.h \
|
|
divecomputer.h \
|
|
templatelayout.h \
|
|
qt-ui/about.h \
|
|
qt-ui/completionmodels.h \
|
|
qt-ui/divecomputermanagementdialog.h \
|
|
qt-ui/divelistview.h \
|
|
qt-ui/divepicturewidget.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/metrics.h \
|
|
qt-ui/preferences.h \
|
|
qt-ui/printdialog.h \
|
|
qt-ui/printlayout.h \
|
|
qt-ui/printoptions.h \
|
|
qt-ui/simplewidgets.h \
|
|
qt-ui/starwidget.h \
|
|
qt-ui/subsurfacewebservices.h \
|
|
qt-ui/tableview.h \
|
|
exif.h \
|
|
sha1.h \
|
|
statistics.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 \
|
|
qt-ui/profile/ruleritem.h \
|
|
qt-ui/profile/tankitem.h \
|
|
qt-ui/updatemanager.h \
|
|
qt-ui/divelogexportdialog.h \
|
|
qt-ui/usersurvey.h \
|
|
subsurfacesysinfo.h \
|
|
qt-ui/configuredivecomputerdialog.h \
|
|
configuredivecomputer.h \
|
|
configuredivecomputerthreads.h \
|
|
devicedetails.h \
|
|
datatrak.h \
|
|
qt-ui/statistics/monthstatistics.h \
|
|
qt-ui/statistics/statisticswidget.h \
|
|
qt-ui/statistics/statisticsbar.h \
|
|
qt-ui/statistics/yearstatistics.h \
|
|
qt-ui/diveshareexportdialog.h \
|
|
qt-ui/filtermodels.h \
|
|
qt-ui/undocommands.h \
|
|
qt-ui/notificationwidget.h
|
|
|
|
android: HEADERS -= \
|
|
qt-ui/usermanual.h \
|
|
qt-ui/printdialog.h \
|
|
qt-ui/printlayout.h \
|
|
qt-ui/printoptions.h
|
|
|
|
SOURCES = \
|
|
version.c \
|
|
cochran.c \
|
|
datatrak.c \
|
|
deco.c \
|
|
device.c \
|
|
dive.c \
|
|
divelist.c \
|
|
divesite.c \
|
|
equipment.c \
|
|
file.c \
|
|
gettextfromc.cpp \
|
|
git-access.c \
|
|
libdivecomputer.c \
|
|
liquivision.c \
|
|
load-git.c \
|
|
main.cpp \
|
|
membuffer.c \
|
|
parse-xml.c \
|
|
planner.c \
|
|
profile.c \
|
|
gaspressures.c \
|
|
divecomputer.cpp \
|
|
templatelayout.cpp \
|
|
worldmap-save.c \
|
|
save-html.c \
|
|
qt-gui.cpp \
|
|
qthelper.cpp \
|
|
qt-ui/about.cpp \
|
|
qt-ui/completionmodels.cpp \
|
|
qt-ui/divecomputermanagementdialog.cpp \
|
|
qt-ui/divelistview.cpp \
|
|
qt-ui/divepicturewidget.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/metrics.cpp \
|
|
qt-ui/preferences.cpp \
|
|
qt-ui/printdialog.cpp \
|
|
qt-ui/printlayout.cpp \
|
|
qt-ui/printoptions.cpp \
|
|
qt-ui/simplewidgets.cpp \
|
|
qt-ui/starwidget.cpp \
|
|
qt-ui/subsurfacewebservices.cpp \
|
|
qt-ui/tableview.cpp \
|
|
exif.cpp \
|
|
save-git.c \
|
|
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 \
|
|
qt-ui/profile/ruleritem.cpp \
|
|
qt-ui/profile/tankitem.cpp \
|
|
qt-ui/updatemanager.cpp \
|
|
qt-ui/divelogexportdialog.cpp \
|
|
qt-ui/usersurvey.cpp \
|
|
subsurfacesysinfo.cpp \
|
|
qt-ui/configuredivecomputerdialog.cpp \
|
|
configuredivecomputer.cpp \
|
|
configuredivecomputerthreads.cpp \
|
|
devicedetails.cpp \
|
|
qt-ui/statistics/statisticswidget.cpp \
|
|
qt-ui/statistics/yearstatistics.cpp \
|
|
qt-ui/statistics/statisticsbar.cpp \
|
|
qt-ui/statistics/monthstatistics.cpp \
|
|
qt-ui/diveshareexportdialog.cpp \
|
|
qt-ui/filtermodels.cpp \
|
|
qt-ui/undocommands.cpp \
|
|
qt-ui/notificationwidget.cpp \
|
|
ostctools.c
|
|
|
|
android: SOURCES += android.cpp
|
|
else: win32: SOURCES += windows.c
|
|
else: mac: SOURCES += macos.c
|
|
else: SOURCES += linux.c # All other Unix, really
|
|
|
|
android: SOURCES -= \
|
|
qt-ui/usermanual.cpp \
|
|
qt-ui/printdialog.cpp \
|
|
qt-ui/printlayout.cpp \
|
|
qt-ui/printoptions.cpp
|
|
|
|
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/setpoint.ui \
|
|
qt-ui/shifttimes.ui \
|
|
qt-ui/shiftimagetimes.ui \
|
|
qt-ui/webservices.ui \
|
|
qt-ui/tableview.ui \
|
|
qt-ui/divelogimportdialog.ui \
|
|
qt-ui/searchbar.ui \
|
|
qt-ui/divelogexportdialog.ui \
|
|
qt-ui/plannerSettings.ui \
|
|
qt-ui/usersurvey.ui \
|
|
qt-ui/divecomponentselection.ui \
|
|
qt-ui/configuredivecomputerdialog.ui \
|
|
qt-ui/listfilter.ui \
|
|
qt-ui/diveshareexportdialog.ui \
|
|
qt-ui/filterwidget.ui \
|
|
qt-ui/plannerDetails.ui \
|
|
qt-ui/urldialog.ui \
|
|
qt-ui/locationInformation.ui
|
|
|
|
# Nether usermanual or printing is supported on android right now
|
|
android: FORMS -= qt-ui/printoptions.ui
|
|
|
|
greaterThan(QT_MAJOR_VERSION, 4) {
|
|
FORMS += qt-ui/socialnetworksdialog.ui
|
|
SOURCES += qt-ui/socialnetworks.cpp
|
|
HEADERS += qt-ui/socialnetworks.h
|
|
DEFINES += FBSUPPORT
|
|
}
|
|
|
|
RESOURCES = subsurface.qrc
|
|
|
|
TRANSLATIONS = \
|
|
translations/subsurface_source.ts \
|
|
translations/subsurface_bg_BG.ts \
|
|
translations/subsurface_cs.ts \
|
|
translations/subsurface_da_DK.ts \
|
|
translations/subsurface_de_CH.ts \
|
|
translations/subsurface_de_DE.ts \
|
|
translations/subsurface_en_GB.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_lv_LV.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_tr.ts \
|
|
translations/subsurface_zh_TW.ts
|
|
|
|
# disabled translations as they are below 50%:
|
|
# translations/subsurface_el_GR.ts \
|
|
# translations/subsurface_he.ts \
|
|
# translations/subsurface_hu.ts \
|
|
# translations/subsurface_ro_RO.ts \
|
|
|
|
QTTRANSLATIONS = \
|
|
qt_da.qm \
|
|
qt_de.qm \
|
|
qt_es.qm \
|
|
qt_fr.qm \
|
|
qt_he.qm \
|
|
qt_hu.qm \
|
|
qt_pl.qm \
|
|
qt_pt.qm \
|
|
qt_ru.qm \
|
|
qt_sk.qm \
|
|
qt_sv.qm \
|
|
qt_zh_TW.qm
|
|
|
|
greaterThan(QT_MAJOR_VERSION, 4) {
|
|
QTRANSLATIONS += \
|
|
qtbase_de.qm \
|
|
qt_fi.qm \
|
|
qtbase_fi.qm \
|
|
qtbase_hu.qm \
|
|
qtbase_ru.qm \
|
|
qtbase_sk.qm
|
|
}
|
|
|
|
USERMANUALS = \
|
|
user-manual.html \
|
|
user-manual_es.html \
|
|
user-manual_fr.html \
|
|
user-manual_ru.html
|
|
|
|
doc.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/Documentation || $(MKDIR) $$OUT_PWD/Documentation $$escape_expand(\\n\\t)$(MAKE) -C $$PWD/Documentation OUT=$$OUT_PWD/Documentation/ doc
|
|
all.depends += usermanual
|
|
usermanual.depends += doc
|
|
usermanual.target = $$OUT_PWD/Documentation/user-manual.html
|
|
QMAKE_EXTRA_TARGETS += doc usermanual all
|
|
# add the generated user manual HTML files to the list of files to remove
|
|
# when running make clean
|
|
for(MANUAL,USERMANUALS) QMAKE_CLEAN += $$OUT_PWD/Documentation/$$MANUAL
|
|
|
|
marbledata.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/marbledata || $(COPY_DIR) $$PWD/marbledata $$OUT_PWD
|
|
all.depends += marbledata
|
|
QMAKE_EXTRA_TARGETS += marbledata
|
|
|
|
theme.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/theme || $(COPY_DIR) $$PWD/theme $$OUT_PWD
|
|
all.depends += theme
|
|
QMAKE_EXTRA_TARGETS += theme
|
|
|
|
android {
|
|
android.commands += $(CHK_DIR_EXISTS) $$OUT_PWD/android || $(COPY_DIR) $$PWD/android $$OUT_PWD
|
|
all.depends += android
|
|
QMAKE_EXTRA_TARGETS += android
|
|
}
|
|
|
|
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 = Documentation/images README ReleaseNotes/ReleaseNotes.txt SupportedDivecomputers.txt
|
|
for(MANUAL,USERMANUALS) DOC_FILES += $$OUT_PWD/Documentation/$$MANUAL
|
|
THEME_FILES = theme
|
|
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, Tomaz Canabrava 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)
|
|
|
|
# to debug planner issues
|
|
#QMAKE_CFLAGS += -DDEBUG_PLAN=31
|
|
#QMAKE_CXXFLAGS += -DDEBUG_PLAN=31
|
|
# to build debuggable binaries on Windows, you need something like this
|
|
#QMAKE_CFLAGS_RELEASE=$$QMAKE_CFLAGS_DEBUG -O0 -g
|
|
#QMAKE_CXXFLAGS_RELEASE=$$QMAKE_CXXFLAGS_DEBUG -O0 -g
|
|
|
|
QMAKE_CXXFLAGS += $$(CXXFLAGS)
|
|
QMAKE_CFLAGS += $$(CFLAGS)
|
|
QMAKE_LFLAGS += $$(LDFLAGS)
|
|
QMAKE_CPPFLAGS += $$(CPPFLAGS)
|