fifth
|
@ -58,7 +58,6 @@ thirdParty/qserialport/lib/
|
|||
libs/thirdParty/libxbee/lib/
|
||||
GeneratedFiles/
|
||||
gstreamer-1.0-android*
|
||||
src/Airmap/Airmap_api_key.h
|
||||
localization/qgroundcontrol/
|
||||
|
||||
*.autosave
|
||||
|
@ -87,5 +86,3 @@ src/latex/
|
|||
Qt*-linux*.tar.*
|
||||
|
||||
.vs/
|
||||
|
||||
libs/airmapd/include/boost
|
||||
|
|
|
@ -1,24 +1,30 @@
|
|||
[submodule "src/GPS/Drivers"]
|
||||
path = src/GPS/Drivers
|
||||
url = https://github.com/PX4/GpsDrivers.git
|
||||
[submodule "libs/mavlink/include/mavlink/v2.0"]
|
||||
path = libs/mavlink/include/mavlink/v2.0
|
||||
url = https://github.com/mavlink/c_library_v2.git
|
||||
[submodule "libs/OpenSSL/android_openssl"]
|
||||
path = libs/OpenSSL/android_openssl
|
||||
url = https://github.com/Auterion/android_openssl
|
||||
[submodule "libs/qmlglsink/gst-plugins-good"]
|
||||
path = libs/qmlglsink/gst-plugins-good
|
||||
url = https://github.com/mavlink/gst-plugins-good.git
|
||||
[submodule "libs/xz-embedded"]
|
||||
path = libs/xz-embedded
|
||||
url = https://github.com/Auterion/xz-embedded.git
|
||||
[submodule "libs/libevents/libevents"]
|
||||
path = libs/libevents/libevents
|
||||
url = https://github.com/mavlink/libevents.git
|
||||
url = https://github.com/KDAB/android_openssl
|
||||
[submodule "libs/eigen"]
|
||||
path = libs/eigen
|
||||
url = https://gitlab.com/libeigen/eigen.git
|
||||
[submodule "libs/libevents/libevents"]
|
||||
path = libs/libevents/libevents
|
||||
url = https://github.com/mavlink/libevents.git
|
||||
[submodule "libs/mavlink/include/mavlink/v2.0"]
|
||||
path = libs/mavlink/include/mavlink/v2.0
|
||||
url = https://github.com/mavlink/c_library_v2.git
|
||||
[submodule "libs/qmdnsengine"]
|
||||
path = libs/qmdnsengine
|
||||
url = https://github.com/patrickelectric/qmdnsengine
|
||||
[submodule "libs/qmlglsink/gst-plugins-good"]
|
||||
path = libs/qmlglsink/gst-plugins-good
|
||||
url = https://github.com/mavlink/gst-plugins-good.git
|
||||
[submodule "libs/shapelib"]
|
||||
path = libs/shapelib
|
||||
url = https://github.com/OSGeo/shapelib.git
|
||||
[submodule "libs/xz-embedded"]
|
||||
path = libs/xz-embedded
|
||||
url = https://github.com/Auterion/xz-embedded.git
|
||||
[submodule "src/FirmwarePlugin/APM/ArduPilot-Parameter-Repository"]
|
||||
path = src/FirmwarePlugin/APM/ArduPilot-Parameter-Repository
|
||||
url = https://github.com/ArduPilot/ArduPilot-Parameter-Repository
|
||||
[submodule "src/GPS/Drivers"]
|
||||
path = src/GPS/Drivers
|
||||
url = https://github.com/PX4/GpsDrivers.git
|
||||
|
|
|
@ -6,7 +6,7 @@ include(GNUInstallDirs)
|
|||
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebInfo;MinSizeRel;Coverage")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
@ -164,7 +164,7 @@ include_directories(
|
|||
libs/libevents
|
||||
|
||||
libs/mavlink/include/mavlink/v2.0
|
||||
libs/mavlink/include/mavlink/v2.0/ardupilotmega
|
||||
libs/mavlink/include/mavlink/v2.0/all
|
||||
libs/mavlink/include/mavlink/v2.0/common
|
||||
|
||||
libs/shapelib
|
||||
|
@ -178,8 +178,6 @@ set(QGC_RESOURCES
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/qgcresources.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/qgroundcontrol.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resources/InstrumentValueIcons/InstrumentValueIcons.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Airmap/airmap.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Airmap/dummy/airmap_dummy.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/FirmwarePlugin/APM/APMResources.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/FirmwarePlugin/PX4/PX4Resources.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/VideoReceiverApp/qml.qrc
|
||||
|
|
|
@ -20,9 +20,7 @@ CONFIG -= debug_and_release
|
|||
CONFIG += warn_on
|
||||
CONFIG += resources_big
|
||||
CONFIG += c++17
|
||||
|
||||
DEFINES += DISABLE_AIRMAP # AIRMAP SDK does not exist anymore
|
||||
|
||||
|
||||
linux {
|
||||
linux-g++ | linux-g++-64 | linux-g++-32 | linux-clang {
|
||||
message("Linux build")
|
||||
|
@ -109,19 +107,21 @@ linux {
|
|||
QMAKE_CXXFLAGS += -fvisibility=hidden
|
||||
QMAKE_CXXFLAGS_WARN_ON += -Werror \
|
||||
-Wno-unused-parameter \ # gst-plugins-good
|
||||
-Wno-unused-but-set-variable \ # eigen & QGCTileCacheWorker.cpp
|
||||
-Wno-deprecated-declarations # eigen
|
||||
} else {
|
||||
error("Unsupported Mac toolchain, only 64-bit LLVM+clang is supported")
|
||||
}
|
||||
} else : ios {
|
||||
message("iOS build")
|
||||
CONFIG += iOSBuild MobileBuild app_bundle NoSerialBuild
|
||||
CONFIG += iOSBuild MobileBuild app_bundle
|
||||
CONFIG -= bitcode
|
||||
DEFINES += __ios__
|
||||
DEFINES += QGC_NO_GOOGLE_MAPS
|
||||
DEFINES += NO_SERIAL_LINK
|
||||
DEFINES += QGC_DISABLE_UVC
|
||||
DEFINES += QGC_GST_TAISYNC_ENABLED
|
||||
DEFINES += NO_SERIAL_LINK
|
||||
QMAKE_IOS_DEPLOYMENT_TARGET = 11.0
|
||||
QMAKE_APPLE_TARGETED_DEVICE_FAMILY = 1,2 # Universal
|
||||
QMAKE_LFLAGS += -Wl,-no_pie
|
||||
|
@ -143,6 +143,10 @@ linux|macx|ios {
|
|||
}
|
||||
}
|
||||
|
||||
contains(DEFINES, NO_SERIAL_LINK) {
|
||||
message("Serial port support disabled")
|
||||
}
|
||||
|
||||
!MacBuild:!AndroidBuild {
|
||||
# See QGCPostLinkCommon.pri for details on why MacBuild doesn't use DESTDIR
|
||||
DESTDIR = staging
|
||||
|
@ -195,6 +199,8 @@ exists ($$PWD/.git) {
|
|||
DEFINES += APP_VERSION_STR=\"\\\"$$APP_VERSION_STR\\\"\"
|
||||
|
||||
AndroidBuild {
|
||||
QGC_ANDROID_PACKAGE = org.mavlink.qgroundcontrol
|
||||
|
||||
message(VERSION $${VERSION})
|
||||
MAJOR_VERSION = $$section(VERSION, ".", 0, 0)
|
||||
MINOR_VERSION = $$section(VERSION, ".", 1, 1)
|
||||
|
|
|
@ -54,7 +54,8 @@ isEmpty(MAVLINK_CONF) {
|
|||
MAVLINK_CONF = $$fromfile(user_config.pri, MAVLINK_CONF)
|
||||
message($$sprintf("Using user-supplied mavlink dialect '%1' specified in user_config.pri", $$MAVLINK_CONF))
|
||||
} else {
|
||||
MAVLINK_CONF = ardupilotmega
|
||||
MAVLINK_CONF = all
|
||||
message($$sprintf("Using MAVLink dialect '%1'.", $$MAVLINK_CONF))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -67,32 +68,18 @@ contains (CONFIG, QGC_DISABLE_APM_MAVLINK) {
|
|||
CONFIG += ArdupilotEnabled
|
||||
}
|
||||
|
||||
# First we select the dialect, checking for valid user selection
|
||||
# Users can override all other settings by specifying MAVLINK_CONF as an argument to qmake
|
||||
!isEmpty(MAVLINK_CONF) {
|
||||
message($$sprintf("Using MAVLink dialect '%1'.", $$MAVLINK_CONF))
|
||||
}
|
||||
|
||||
# Then we add the proper include paths dependent on the dialect.
|
||||
INCLUDEPATH += $$MAVLINKPATH
|
||||
|
||||
exists($$MAVLINKPATH/common) {
|
||||
!isEmpty(MAVLINK_CONF) {
|
||||
count(MAVLINK_CONF, 1) {
|
||||
exists($$MAVLINKPATH/$$MAVLINK_CONF) {
|
||||
INCLUDEPATH += $$MAVLINKPATH/$$MAVLINK_CONF
|
||||
DEFINES += $$sprintf('QGC_USE_%1_MESSAGES', $$upper($$MAVLINK_CONF))
|
||||
} else {
|
||||
error($$sprintf("MAVLink dialect '%1' does not exist at '%2'!", $$MAVLINK_CONF, $$MAVLINKPATH_REL))
|
||||
}
|
||||
} else {
|
||||
error(Only a single mavlink dialect can be specified in MAVLINK_CONF)
|
||||
}
|
||||
count(MAVLINK_CONF, 1) {
|
||||
exists($$MAVLINKPATH/$$MAVLINK_CONF) {
|
||||
INCLUDEPATH += $$MAVLINKPATH/$$MAVLINK_CONF
|
||||
DEFINES += $$sprintf('QGC_USE_%1_MESSAGES', $$upper($$MAVLINK_CONF))
|
||||
} else {
|
||||
INCLUDEPATH += $$MAVLINKPATH/common
|
||||
error($$sprintf("MAVLink dialect '%1' does not exist at '%2'!", $$MAVLINK_CONF, $$MAVLINKPATH_REL))
|
||||
}
|
||||
} else {
|
||||
error($$sprintf("MAVLink folder does not exist at '%1'! Run 'git submodule init && git submodule update' on the command line.",$$MAVLINKPATH_REL))
|
||||
error(Only a single mavlink dialect can be specified in MAVLINK_CONF)
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -105,11 +92,13 @@ DEFINES += NOMINMAX
|
|||
# [REQUIRED] Events submodule
|
||||
HEADERS+= \
|
||||
libs/libevents/libevents/libs/cpp/protocol/receive.h \
|
||||
libs/libevents/libevents/libs/cpp/parse/health_and_arming_checks.h \
|
||||
libs/libevents/libevents/libs/cpp/parse/parser.h \
|
||||
libs/libevents/libevents/libs/cpp/generated/events_generated.h \
|
||||
libs/libevents/libevents_definitions.h
|
||||
SOURCES += \
|
||||
libs/libevents/libevents/libs/cpp/protocol/receive.cpp \
|
||||
libs/libevents/libevents/libs/cpp/parse/health_and_arming_checks.cpp \
|
||||
libs/libevents/libevents/libs/cpp/parse/parser.cpp \
|
||||
libs/libevents/definitions.cpp
|
||||
INCLUDEPATH += \
|
||||
|
@ -224,9 +213,9 @@ MacBuild {
|
|||
# Include Android OpenSSL libs
|
||||
AndroidBuild {
|
||||
include($$SOURCE_DIR/libs/OpenSSL/android_openssl/openssl.pri)
|
||||
message("ANDROID_EXTRA_LIBS")
|
||||
message($$ANDROID_TARGET_ARCH)
|
||||
message($$ANDROID_EXTRA_LIBS)
|
||||
#message("ANDROID_EXTRA_LIBS")
|
||||
#message($$ANDROID_TARGET_ARCH)
|
||||
#message($$ANDROID_EXTRA_LIBS)
|
||||
}
|
||||
|
||||
# Pairing
|
||||
|
@ -275,54 +264,3 @@ contains (DEFINES, DISABLE_ZEROCONF) {
|
|||
} else {
|
||||
message("Skipping support for Zeroconf (unsupported platform)")
|
||||
}
|
||||
|
||||
#
|
||||
# [OPTIONAL] AirMap Support
|
||||
#
|
||||
contains (DEFINES, DISABLE_AIRMAP) {
|
||||
message("Skipping support for AirMap (manual override from command line)")
|
||||
# Otherwise the user can still disable this feature in the user_config.pri file.
|
||||
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, DISABLE_AIRMAP) {
|
||||
message("Skipping support for AirMap (manual override from user_config.pri)")
|
||||
} else {
|
||||
AIRMAP_PLATFORM_SDK_PATH = $${OUT_PWD}/libs/airmap-platform-sdk
|
||||
AIRMAP_QT_PATH = Qt.$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}
|
||||
message("Including support for AirMap")
|
||||
MacBuild {
|
||||
exists("$${AIRMAPD_PATH}/macOS/$$AIRMAP_QT_PATH") {
|
||||
message("Including support for AirMap for macOS")
|
||||
LIBS += -L$${AIRMAPD_PATH}/macOS/$$AIRMAP_QT_PATH -lairmap-qt
|
||||
DEFINES += QGC_AIRMAP_ENABLED
|
||||
}
|
||||
} else:LinuxBuild {
|
||||
#-- Download and install platform-sdk libs and headers iff they're not already in the build directory
|
||||
AIRMAP_PLATFORM_SDK_URL = "https://github.com/airmap/platform-sdk/releases/download/2.0/airmap-platform-sdk-2.0.0-Linux.deb"
|
||||
AIRMAP_PLATFORM_SDK_FILEPATH = "$${OUT_PWD}/airmap-platform-sdk.deb"
|
||||
AIRMAP_PLATFORM_SDK_INSTALL_DIR = "tmp"
|
||||
|
||||
airmap_platform_sdk_install.target = $${AIRMAP_PLATFORM_SDK_PATH}/include/airmap
|
||||
airmap_platform_sdk_install.commands = \
|
||||
rm -rf $${AIRMAP_PLATFORM_SDK_PATH} && \
|
||||
mkdir -p "$${AIRMAP_PLATFORM_SDK_PATH}/linux/$${AIRMAP_QT_PATH}" && \
|
||||
mkdir -p "$${AIRMAP_PLATFORM_SDK_PATH}/include/airmap" && \
|
||||
mkdir -p "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}" && \
|
||||
curl --location --output "$${AIRMAP_PLATFORM_SDK_FILEPATH}" "$${AIRMAP_PLATFORM_SDK_URL}" && \
|
||||
ar p "$${AIRMAP_PLATFORM_SDK_FILEPATH}" data.tar.gz | tar xvz -C "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}/" --strip-components=1 && \
|
||||
mv -u "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}/usr/lib/x86_64-linux-gnu/*" "$${AIRMAP_PLATFORM_SDK_PATH}/linux/$${AIRMAP_QT_PATH}/" && \
|
||||
mv -u "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}/usr/include/airmap/*" "$${AIRMAP_PLATFORM_SDK_PATH}/include/airmap/" && \
|
||||
rm -rf "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}" && \
|
||||
rm "$${AIRMAP_PLATFORM_SDK_FILEPATH}"
|
||||
airmap_platform_sdk_install.depends =
|
||||
QMAKE_EXTRA_TARGETS += airmap_platform_sdk_install
|
||||
PRE_TARGETDEPS += $$airmap_platform_sdk_install.target
|
||||
|
||||
LIBS += -L$${AIRMAP_PLATFORM_SDK_PATH}/linux/$${AIRMAP_QT_PATH} -lairmap-cpp
|
||||
DEFINES += QGC_AIRMAP_ENABLED
|
||||
} else {
|
||||
message("Skipping support for Airmap (unsupported platform)")
|
||||
}
|
||||
contains (DEFINES, QGC_AIRMAP_ENABLED) {
|
||||
INCLUDEPATH += \
|
||||
$${AIRMAP_PLATFORM_SDK_PATH}/include
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,22 +25,12 @@ MacBuild {
|
|||
# with the differences between post list command running in a shell script (XCode) versus a makefile (Qt Creator)
|
||||
macx-xcode {
|
||||
# SDL2 Framework
|
||||
QMAKE_POST_LINK += && rsync -a --delete $$SOURCE_DIR/libs/Frameworks/SDL2.Framework $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && rsync -a --delete $$SOURCE_DIR/libs/Frameworks/SDL2.framework $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && install_name_tool -change "@rpath/SDL2.framework/Versions/A/SDL2" "@executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2" $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
# AirMap
|
||||
contains (DEFINES, QGC_AIRMAP_ENABLED) {
|
||||
QMAKE_POST_LINK += && rsync -a $$SOURCE_DIR/libs/airmapd/macOS/$$AIRMAP_QT_PATH/* $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/Frameworks/
|
||||
QMAKE_POST_LINK += && install_name_tool -change "@rpath/libairmap-qt.0.0.1.dylib" "@executable_path/../Frameworks/libairmap-qt.0.0.1.dylib" $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
}
|
||||
} else {
|
||||
# SDL2 Framework
|
||||
QMAKE_POST_LINK += && rsync -a --delete $$SOURCE_DIR/libs/Frameworks/SDL2.Framework $${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && rsync -a --delete $$SOURCE_DIR/libs/Frameworks/SDL2.framework $${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && install_name_tool -change "@rpath/SDL2.framework/Versions/A/SDL2" "@executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2" $${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
# AirMap
|
||||
contains (DEFINES, QGC_AIRMAP_ENABLED) {
|
||||
QMAKE_POST_LINK += && rsync -a $$SOURCE_DIR/libs/airmap-platform-sdk/macOS/$$AIRMAP_QT_PATH/* $${TARGET}.app/Contents/Frameworks/
|
||||
QMAKE_POST_LINK += && install_name_tool -change "@rpath/libairmap-qt.0.0.1.dylib" "@executable_path/../Frameworks/libairmap-qt.0.0.1.dylib" $${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -64,7 +54,9 @@ WindowsBuild {
|
|||
# Copy Visual Studio DLLs
|
||||
# Note that this is only done for release because the debugging versions of these DLLs cannot be redistributed.
|
||||
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$SOURCE_DIR\\libs\\Microsoft\\windows\\msvcp140.dll\" \"$$DESTDIR\"
|
||||
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$SOURCE_DIR\\libs\\Microsoft\\windows\\msvcp140_1.dll\" \"$$DESTDIR\"
|
||||
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$SOURCE_DIR\\libs\\Microsoft\\windows\\vcruntime140.dll\" \"$$DESTDIR\"
|
||||
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$SOURCE_DIR\\libs\\Microsoft\\windows\\vcruntime140_1.dll\" \"$$DESTDIR\"
|
||||
}
|
||||
|
||||
DEPLOY_TARGET = $$shell_quote($$shell_path($$DESTDIR\\$${TARGET}.exe))
|
||||
|
@ -130,9 +122,9 @@ LinuxBuild {
|
|||
libicui18n.so \
|
||||
libicuuc.so
|
||||
}
|
||||
|
||||
# Copy only if non-existing to avoid file timestamp updates
|
||||
for(QT_LIB, QT_LIB_LIST) {
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY --dereference $$[QT_INSTALL_LIBS]/$$QT_LIB $$DESTDIR/Qt/libs/
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY -n --dereference $$[QT_INSTALL_LIBS]/$$QT_LIB $$DESTDIR/Qt/libs/
|
||||
}
|
||||
|
||||
# QT_INSTALL_PLUGINS
|
||||
|
@ -152,16 +144,11 @@ LinuxBuild {
|
|||
}
|
||||
|
||||
for(QT_PLUGIN, QT_PLUGIN_LIST) {
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY --dereference --recursive $$[QT_INSTALL_PLUGINS]/$$QT_PLUGIN $$DESTDIR/Qt/plugins/
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY -n --dereference --recursive $$[QT_INSTALL_PLUGINS]/$$QT_PLUGIN $$DESTDIR/Qt/plugins/
|
||||
}
|
||||
|
||||
# QT_INSTALL_QML
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY --dereference --recursive $$[QT_INSTALL_QML] $$DESTDIR/Qt/
|
||||
|
||||
# Airmap
|
||||
contains (DEFINES, QGC_AIRMAP_ENABLED) {
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY $$OUT_PWD/libs/airmap-platform-sdk/linux/$$AIRMAP_QT_PATH/libairmap-cpp.so.2.0.0 $$DESTDIR/Qt/libs/
|
||||
}
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY -n --dereference --recursive $$[QT_INSTALL_QML] $$DESTDIR/Qt/
|
||||
|
||||
# QGroundControl start script
|
||||
contains (CONFIG, QGC_DISABLE_CUSTOM_BUILD) | !exists($$PWD/custom/custom.pri) {
|
||||
|
|
|
@ -16,10 +16,10 @@ installer {
|
|||
QMAKE_POST_LINK += && $$dirname(QMAKE_QMAKE)/macdeployqt $${TARGET}.app -appstore-compliant -verbose=1 -qmldir=$${SOURCE_DIR}/src
|
||||
|
||||
# macdeployqt is missing some relocations once in a while. "Fix" it:
|
||||
QMAKE_POST_LINK += && cp -R /Library/Frameworks/GStreamer.framework $${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && rsync -a --delete /Library/Frameworks/GStreamer.framework $${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && echo libexec
|
||||
QMAKE_POST_LINK += && ln -sf $${TARGET}.app/Contents/Frameworks $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/Frameworks
|
||||
QMAKE_POST_LINK += && install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer $${TARGET}.app/Contents/MacOS/QGroundControl
|
||||
QMAKE_POST_LINK += && install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer $${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
QMAKE_POST_LINK += && rm -rf $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/{bin,etc,share,Headers,include,Commands}
|
||||
QMAKE_POST_LINK += && rm -rf $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/{*.a,*.la,glib-2.0,gst-validate-launcher,pkgconfig}
|
||||
|
||||
|
@ -34,6 +34,8 @@ installer {
|
|||
QMAKE_POST_LINK += && mkdir -p package
|
||||
QMAKE_POST_LINK += && mkdir -p staging
|
||||
QMAKE_POST_LINK += && rsync -a --delete $${TARGET}.app staging
|
||||
QMAKE_POST_LINK += && rm -rf /tmp/tmp.dmg
|
||||
QMAKE_POST_LINK += && rm -rf package/$${TARGET}.dmg
|
||||
QMAKE_POST_LINK += && hdiutil create /tmp/tmp.dmg -ov -volname "$${TARGET}-$${MAC_VERSION}" -fs HFS+ -srcfolder "staging"
|
||||
QMAKE_POST_LINK += && hdiutil convert /tmp/tmp.dmg -format UDBZ -o package/$${TARGET}.dmg
|
||||
QMAKE_POST_LINK += && rm /tmp/tmp.dmg
|
||||
|
@ -49,10 +51,13 @@ installer {
|
|||
}
|
||||
AndroidBuild {
|
||||
_ANDROID_KEYSTORE_PASSWORD = $$(ANDROID_KEYSTORE_PASSWORD)
|
||||
QMAKE_POST_LINK += && mkdir -p package
|
||||
isEmpty(_ANDROID_KEYSTORE_PASSWORD) {
|
||||
message(Skipping androiddeployqt since keystore password is not available)
|
||||
message(Keystore password not available - not signing package)
|
||||
# This is for builds in forks and PR where the Android keystore password is not available
|
||||
QMAKE_POST_LINK += && make apk
|
||||
QMAKE_POST_LINK += && cp android-build/build/outputs/apk/debug/android-build-debug.apk package/QGroundControl$${ANDROID_TRUE_BITNESS}.apk
|
||||
} else {
|
||||
QMAKE_POST_LINK += && mkdir -p package
|
||||
QMAKE_POST_LINK += && make apk_install_target INSTALL_ROOT=android-build
|
||||
QMAKE_POST_LINK += && androiddeployqt --verbose --input android-QGroundControl-deployment-settings.json --output android-build --release --sign $${SOURCE_DIR}/android/android_release.keystore QGCAndroidKeyStore --storepass $$(ANDROID_KEYSTORE_PASSWORD)
|
||||
QMAKE_POST_LINK += && cp android-build/build/outputs/apk/release/android-build-release-signed.apk package/QGroundControl$${ANDROID_TRUE_BITNESS}.apk
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
# QGroundControl Ground Control Station
|
||||
|
||||
[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases)
|
||||
[![Travis Build Status](https://travis-ci.org/mavlink/qgroundcontrol.svg?branch=master)](https://travis-ci.org/mavlink/qgroundcontrol)
|
||||
[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/crxcm4qayejuvh6c/branch/master?svg=true)](https://ci.appveyor.com/project/mavlink/qgroundcontrol)
|
||||
|
||||
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mavlink/qgroundcontrol?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
|
||||
*QGroundControl* (QGC) is an intuitive and powerful ground control station (GCS) for UAVs.
|
||||
|
||||
|
|
|
@ -15,5 +15,10 @@
|
|||
<file alias="PolygonBadXml.kml">src/MissionManager/UnitTest/PolygonBadXml.kml</file>
|
||||
<file alias="PolygonBadCoordinatesNode.kml">src/MissionManager/UnitTest/PolygonBadCoordinatesNode.kml</file>
|
||||
<file alias="MockLinkOptionsDlg.qml">src/comm/MockLinkOptionsDlg.qml</file>
|
||||
<file alias="TranslationTest.json">src/qgcunittest/TranslationTest.json</file>
|
||||
<file alias="TranslationTest_de_DE.ts">src/qgcunittest/TranslationTest_de_DE.ts</file>
|
||||
</qresource>
|
||||
<qresource prefix="/qml">
|
||||
<file alias="QGroundControl/Controls/MockLinkOptionsDlg.qml">src/comm/MockLinkOptionsDlg.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -1,21 +1,38 @@
|
|||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
# if you update this file, please consider updating .travis.yml too
|
||||
|
||||
require 'yaml'
|
||||
|
||||
current_dir = File.dirname(File.expand_path(__FILE__))
|
||||
configfile = YAML.load_file("#{current_dir}/.vagrantconfig.yml")
|
||||
travisfile = YAML.load_file("#{current_dir}/.travis.yml")
|
||||
yaml_config = configfile['configs']['dev']
|
||||
|
||||
env_global = [
|
||||
'JOBS=4',
|
||||
'SHADOW_BUILD_DIR=/tmp/shadow_build_dir',
|
||||
'CODESIGN=nocodesign',
|
||||
]
|
||||
|
||||
packages = [
|
||||
'build-essential',
|
||||
'fuse',
|
||||
'git',
|
||||
'libgstreamer-plugins-base1.0-dev',
|
||||
'libgstreamer1.0-0:amd64',
|
||||
'libgstreamer1.0-dev',
|
||||
'libsdl2-dev',
|
||||
'libudev-dev',
|
||||
'speech-dispatcher',
|
||||
'wget'
|
||||
]
|
||||
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
# This trick is used to prefer a VM box over docker
|
||||
config.vm.provider "virtualbox"
|
||||
config.vm.provider "vmware_fusion"
|
||||
|
||||
config.vm.box = "ubuntu/bionic64"
|
||||
config.vm.box = "ubuntu/jammy64"
|
||||
config.vm.provider :docker do |docker, override|
|
||||
override.vm.box = "tknerr/baseimage-ubuntu-16.04"
|
||||
end
|
||||
|
@ -64,6 +81,8 @@ Vagrant.configure(2) do |config|
|
|||
apt-get install -y python3-pip
|
||||
su - vagrant -c "pip3 install --user aqtinstall"
|
||||
|
||||
apt-get install -y patchelf
|
||||
|
||||
dir="%{qt_deps_unpack_dir}"
|
||||
version="5.15.2"
|
||||
host="linux"
|
||||
|
@ -73,6 +92,8 @@ Vagrant.configure(2) do |config|
|
|||
su - vagrant -c "mkdir -p ${dir}"
|
||||
su - vagrant -c "python3 -m aqt install-qt -O ${dir} ${host} ${target} ${version} -m ${modules}"
|
||||
|
||||
mkdir -p /vagrant/shadow-build
|
||||
|
||||
# write out a pair of scripts to make rebuilding on the VM easy:
|
||||
su - vagrant -c "cat <<QMAKE >do-qmake.sh
|
||||
#!/bin/bash
|
||||
|
@ -101,6 +122,10 @@ MAKE
|
|||
"
|
||||
su - vagrant -c "chmod +x do-qmake.sh do-make.sh"
|
||||
|
||||
# increase the allowed number of open files (the link step takes a
|
||||
# lot of open filehandles!):
|
||||
echo '* soft nofile 2048' >/etc/security/limits.d/fileno.conf
|
||||
|
||||
# now run the scripts:
|
||||
su - vagrant -c ./do-qmake.sh
|
||||
su - vagrant -c ./do-make.sh
|
||||
|
@ -112,8 +137,8 @@ MAKE
|
|||
:qt_deps_tarball => yaml_config['qt_deps_tarball'],
|
||||
:pro => yaml_config['pro'],
|
||||
:spec => yaml_config['spec'],
|
||||
:apt_pkgs => (travisfile['addons']['apt']['packages']+['git', 'build-essential', 'fuse', 'libsdl2-dev']).join(' '),
|
||||
:build_env => travisfile['env']['global'].select { |item| item.is_a?(String) }.join(' '),
|
||||
:apt_pkgs => (packages).join(' '),
|
||||
:build_env => env_global.select { |item| item.is_a?(String) }.join(' '),
|
||||
|
||||
:project_root_dir => yaml_config['project_root_dir'],
|
||||
:qt_deps_unpack_parent_dir => yaml_config['qt_deps_unpack_parent_dir'],
|
||||
|
|
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
85
android.pri
|
@ -1,24 +1,71 @@
|
|||
include($$PWD/libs/qtandroidserialport/src/qtandroidserialport.pri)
|
||||
message("Adding Serial Java Classes")
|
||||
QT += androidextras
|
||||
|
||||
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
|
||||
include($$PWD/libs/qtandroidserialport/src/qtandroidserialport.pri)
|
||||
|
||||
exists($$PWD/custom/android) {
|
||||
message("Merging $$PWD/custom/android/ -> $$PWD/android/")
|
||||
ANDROID_PACKAGE_SOURCE_DIR = $$OUT_PWD/ANDROID_PACKAGE_SOURCE_DIR # Tells Qt location of package files for build
|
||||
ANDROID_PACKAGE_QGC_SOURCE_DIR = $$PWD/android # Original location of QGC package files
|
||||
ANDROID_PACKAGE_CUSTOM_SOURCE_DIR = $$PWD/custom/android # Original location for custom build override package files
|
||||
|
||||
ANDROID_PACKAGE_SOURCE_DIR = $$OUT_PWD/ANDROID_PACKAGE_SOURCE_DIR
|
||||
android_source_dir_target.target = android_source_dir
|
||||
PRE_TARGETDEPS += $$android_source_dir_target.target
|
||||
QMAKE_EXTRA_TARGETS += android_source_dir_target
|
||||
# We always move the package files to the ANDROID_PACKAGE_SOURCE_DIR build dir so we can modify the manifest as needed
|
||||
|
||||
android_source_dir_target.commands = $$QMAKE_MKDIR $$ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_COPY_DIR $$PWD/android/* $$OUT_PWD/ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_COPY_DIR $$PWD/custom/android/* $$OUT_PWD/ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/package=\\\"org.mavlink.qgroundcontrol\\\"/package=\\\"$$QGC_ANDROID_PACKAGE\\\"/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
android_source_dir_target.depends = FORCE
|
||||
android_source_dir_target.target = $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
android_source_dir_target.commands = \
|
||||
$$QMAKE_MKDIR $$ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_COPY_DIR $$ANDROID_PACKAGE_QGC_SOURCE_DIR/* $$ANDROID_PACKAGE_SOURCE_DIR
|
||||
PRE_TARGETDEPS += $$android_source_dir_target.target
|
||||
QMAKE_EXTRA_TARGETS += android_source_dir_target
|
||||
exists($$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR/AndroidManifest.xml) {
|
||||
android_source_dir_target.depends = $$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR/AndroidManifest.xml
|
||||
} else {
|
||||
android_source_dir_target.depends = $$ANDROID_PACKAGE_QGC_SOURCE_DIR/AndroidManifest.xml
|
||||
}
|
||||
|
||||
# Custom builds can override android package file
|
||||
|
||||
exists($$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR) {
|
||||
message("Merging$$ $$ANDROID_PACKAGE_QGC_SOURCE_DIR and $$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR to $$ANDROID_PACKAGE_SOURCE_DIR")
|
||||
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_COPY_DIR $$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR/* $$ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/package=\\\"org.mavlink.qgroundcontrol\\\"/package=\\\"$$QGC_ANDROID_PACKAGE\\\"/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
}
|
||||
|
||||
# Insert package name into manifest file
|
||||
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/%%QGC_INSERT_PACKAGE_NAME%%/$$QGC_ANDROID_PACKAGE/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
|
||||
# Update manifest activity intent filter as needed
|
||||
|
||||
QGC_INSERT_ACTIVITY_INTENT_FILTER = ""
|
||||
AndroidHomeApp {
|
||||
# QGC is the android home application
|
||||
QGC_INSERT_ACTIVITY_INTENT_FILTER = $$QGC_INSERT_ACTIVITY_INTENT_FILTER "\r\n<category android:name=\\\"android.intent.category.HOME\\\"\\\/>\r\n<category android:name=\\\"android.intent.category.DEFAULT\\\"\\\/>"
|
||||
}
|
||||
!contains(DEFINES, NO_SERIAL_LINK) {
|
||||
# Add usb device support
|
||||
QGC_INSERT_ACTIVITY_INTENT_FILTER = $$QGC_INSERT_ACTIVITY_INTENT_FILTER "\r\n<action android:name=\\\"android.hardware.usb.action.USB_DEVICE_ATTACHED\\\"\\\/>\r\n<action android:name=\\\"android.hardware.usb.action.USB_DEVICE_DETACHED\\\"\\\/>\r\n<action android:name=\\\"android.hardware.usb.action.USB_ACCESSORY_ATTACHED\\\"\\\/>"
|
||||
}
|
||||
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
|
||||
QGC_INSERT_ACTIVITY_INTENT_FILTER = $$QGC_INSERT_ACTIVITY_INTENT_FILTER "\r\n<action android:name=\\\"android.bluetooth.device.action.ACL_CONNECTED\\\"\\\/>\r\n<action android:name=\\\"android.bluetooth.device.action.ACL_DISCONNECTED\\\"\\\/>"
|
||||
}
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/<!-- %%QGC_INSERT_ACTIVITY_INTENT_FILTER -->/$$QGC_INSERT_ACTIVITY_INTENT_FILTER/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
|
||||
# Update manifest activity meta data as needed
|
||||
|
||||
contains(DEFINES, NO_SERIAL_LINK) {
|
||||
# No need to add anything to manifest
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/<!-- %%QGC_INSERT_ACTIVITY_META_DATA -->//\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
} else {
|
||||
# Updates the manifest for usb device support
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/<!-- %%QGC_INSERT_ACTIVITY_META_DATA -->/<meta-data android:resource=\\\"@xml\\\/device_filter\\\" android:name=\\\"android.hardware.usb.action.USB_DEVICE_ATTACHED\\\"\\\/>\r\n<meta-data android:resource=\\\"@xml\\\/device_filter\\\" android:name=\\\"android.hardware.usb.action.USB_DEVICE_DETACHED\\\"\\\/>\r\n<meta-data android:resource=\\\"@xml\\\/device_filter\\\" android:name=\\\"android.hardware.usb.action.USB_ACCESSORY_ATTACHED\\\"\\\/>/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
}
|
||||
|
||||
# OTHER_FILES makes the specified files be visible in Qt Creator for editing
|
||||
|
||||
exists($$PWD/custom/android/AndroidManifest.xml) {
|
||||
OTHER_FILES += \
|
||||
$$PWD/custom/android/AndroidManifest.xml
|
||||
|
@ -45,7 +92,6 @@ OTHER_FILES += \
|
|||
$$PWD/android/src/org/freedesktop/gstreamer/androidmedia/GstAhsCallback.java \
|
||||
$$PWD/android/src/org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java
|
||||
|
||||
|
||||
DISTFILES += \
|
||||
$$PWD/android/gradle/wrapper/gradle-wrapper.jar \
|
||||
$$PWD/android/gradlew \
|
||||
|
@ -53,3 +99,12 @@ DISTFILES += \
|
|||
$$PWD/android/build.gradle \
|
||||
$$PWD/android/gradle/wrapper/gradle-wrapper.properties \
|
||||
$$PWD/android/gradlew.bat
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/android/src/AndroidInterface.cc
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/android/src/AndroidInterface.h
|
||||
|
||||
INCLUDEPATH += \
|
||||
$$PWD/android/src
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
<manifest package="org.mavlink.qgroundcontrol" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
|
||||
<manifest package="%%QGC_INSERT_PACKAGE_NAME%%" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
|
||||
<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
|
||||
Remove the comment if you do not require these default permissions. -->
|
||||
<!-- %%INSERT_PERMISSIONS -->
|
||||
|
@ -14,15 +14,12 @@
|
|||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"/>
|
||||
<action android:name="android.bluetooth.device.action.ACL_CONNECTED"/>
|
||||
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED"/>
|
||||
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"/>
|
||||
|
||||
<!-- %%QGC_INSERT_ACTIVITY_INTENT_FILTER -->
|
||||
</intent-filter>
|
||||
<meta-data android:resource="@xml/device_filter" android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
|
||||
<meta-data android:resource="@xml/device_filter" android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"/>
|
||||
<meta-data android:resource="@xml/device_filter" android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"/>
|
||||
|
||||
<!-- %%QGC_INSERT_ACTIVITY_META_DATA -->
|
||||
|
||||
<!-- Application arguments -->
|
||||
<!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
|
||||
<!-- Application arguments -->
|
||||
|
@ -98,9 +95,10 @@
|
|||
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.location.network" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.location" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.usb.accessory"/>
|
||||
<uses-feature android:name="android.hardware.usb.accessory" android:required="false"/>
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
</manifest>
|
||||
|
|
Before Width: | Height: | Size: 2.3 MiB After Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
|
@ -0,0 +1,36 @@
|
|||
/****************************************************************************
|
||||
*
|
||||
* Copyright (C) 2018 Pinecone Inc. All rights reserved.
|
||||
*
|
||||
* QGroundControl is licensed according to the terms in the file
|
||||
* COPYING.md in the root of the source code directory.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include <QtAndroidExtras/QtAndroidExtras>
|
||||
#include <QtAndroidExtras/QAndroidJniObject>
|
||||
#include "QGCApplication.h"
|
||||
#include "AndroidInterface.h"
|
||||
#include <QAndroidJniObject>
|
||||
#include <QtAndroid>
|
||||
|
||||
QString AndroidInterface::getSDCardPath()
|
||||
{
|
||||
QAndroidJniObject value = QAndroidJniObject::callStaticObjectMethod("org/mavlink/qgroundcontrol/QGCActivity", "getSDCardPath",
|
||||
"()Ljava/lang/String;");
|
||||
QString sdCardPath = value.toString();
|
||||
|
||||
QString readPermission("android.permission.READ_EXTERNAL_STORAGE");
|
||||
QString writePermission("android.permission.WRITE_EXTERNAL_STORAGE");
|
||||
|
||||
if (QtAndroid::checkPermission(readPermission) == QtAndroid::PermissionResult::Denied ||
|
||||
QtAndroid::checkPermission(writePermission) == QtAndroid::PermissionResult::Denied) {
|
||||
QtAndroid::PermissionResultMap resultHash = QtAndroid::requestPermissionsSync(QStringList({ readPermission, writePermission }));
|
||||
if (resultHash[readPermission] == QtAndroid::PermissionResult::Denied ||
|
||||
resultHash[writePermission] == QtAndroid::PermissionResult::Denied) {
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
return sdCardPath;
|
||||
}
|
|
@ -1,15 +1,21 @@
|
|||
/****************************************************************************
|
||||
*
|
||||
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
|
||||
* Copyright (C) 2018 Pinecone Inc. All rights reserved.
|
||||
*
|
||||
* QGroundControl is licensed according to the terms in the file
|
||||
* COPYING.md in the root of the source code directory.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include "AirspaceRestrictionProvider.h"
|
||||
#pragma once
|
||||
|
||||
AirspaceRestrictionProvider::AirspaceRestrictionProvider(QObject *parent)
|
||||
: QObject(parent)
|
||||
#include <QObject>
|
||||
#include <jni.h>
|
||||
#include <QtCore/private/qjni_p.h>
|
||||
#include <QtCore/private/qjnihelpers_p.h>
|
||||
|
||||
class AndroidInterface
|
||||
{
|
||||
}
|
||||
public:
|
||||
static QString getSDCardPath();
|
||||
};
|
|
@ -38,6 +38,7 @@ import java.util.concurrent.Executors;
|
|||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.PendingIntent;
|
||||
|
@ -58,6 +59,8 @@ import android.app.PendingIntent;
|
|||
import android.view.WindowManager;
|
||||
import android.os.Bundle;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.os.storage.StorageManager;
|
||||
import android.os.storage.StorageVolume;
|
||||
|
||||
import com.hoho.android.usbserial.driver.*;
|
||||
import org.qtproject.qt5.android.bindings.QtActivity;
|
||||
|
@ -762,5 +765,34 @@ public class QGCActivity extends QtActivity
|
|||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
public static String getSDCardPath() {
|
||||
StorageManager storageManager = (StorageManager)_instance.getSystemService(Activity.STORAGE_SERVICE);
|
||||
List<StorageVolume> volumes = storageManager.getStorageVolumes();
|
||||
Method mMethodGetPath;
|
||||
String path = "";
|
||||
for (StorageVolume vol : volumes) {
|
||||
try {
|
||||
mMethodGetPath = vol.getClass().getMethod("getPath");
|
||||
} catch (NoSuchMethodException e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
path = (String) mMethodGetPath.invoke(vol);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (vol.isRemovable() == true) {
|
||||
Log.i(TAG, "removable sd card mounted " + path);
|
||||
return path;
|
||||
} else {
|
||||
Log.i(TAG, "storage mounted " + path);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,345 +0,0 @@
|
|||
pipeline {
|
||||
agent none
|
||||
stages {
|
||||
|
||||
stage('build') {
|
||||
parallel {
|
||||
|
||||
stage('Android 32 bit Release') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
QGC_CONFIG = 'release'
|
||||
QMAKE_VER = "5.12.5/android_armv7/bin/qmake"
|
||||
QT_MKSPEC = "android-clang"
|
||||
BITNESS=32
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-android:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
sh 'cd build; make -j`nproc --all`'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Android 64 bit Release') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
QGC_CONFIG = 'release'
|
||||
QMAKE_VER = "5.12.5/android_arm64_v8a/bin/qmake"
|
||||
QT_MKSPEC = "android-clang"
|
||||
BITNESS=64
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-android_arm64_v8a:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
//sh 'cd build; make -j`nproc --all`' // FIXME
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Linux Debug') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
QGC_CONFIG = 'debug'
|
||||
QMAKE_VER = "5.12.5/gcc_64/bin/qmake"
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-linux:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
sh 'cd build; make -j`nproc --all`'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Linux Debug (cmake)') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CMAKE_BUILD_TYPE = 'Debug'
|
||||
QT_VERSION = "5.12.5"
|
||||
QT_MKSPEC = "gcc_64"
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-linux:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'make distclean'
|
||||
sh 'make submodulesclean'
|
||||
sh 'make linux'
|
||||
//sh 'make linux check' // TODO: needs Xvfb or similar
|
||||
sh 'ccache -s'
|
||||
sh 'make distclean'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Linux Release') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
QGC_CONFIG = 'release'
|
||||
QMAKE_VER = "5.12.5/gcc_64/bin/qmake"
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-linux:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
withCredentials([file(credentialsId: 'QGC_Airmap_api_key', variable: 'AIRMAP_API_HEADER')]) {
|
||||
sh 'cp $AIRMAP_API_HEADER ${WORKSPACE}/src/Airmap/Airmap_api_key.h'
|
||||
}
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
//sh 'cd build; make -j`nproc --all`' // TODO: increase slave memory
|
||||
sh 'cd build; make'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Linux Release (cmake)') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CMAKE_BUILD_TYPE = 'Release'
|
||||
QT_VERSION = "5.12.5"
|
||||
QT_MKSPEC = "gcc_64"
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-linux:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'make distclean'
|
||||
sh 'make submodulesclean'
|
||||
sh 'make linux'
|
||||
sh 'ccache -s'
|
||||
sh 'make distclean'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('OSX Debug') {
|
||||
agent {
|
||||
node {
|
||||
label 'mac'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
QGC_CONFIG = 'debug'
|
||||
QMAKE_VER = "5.11.0/clang_64/bin/qmake"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
sh 'cd build; make -j`sysctl -n hw.ncpu`'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('OSX Debug (cmake)') {
|
||||
agent {
|
||||
node {
|
||||
label 'mac'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
CMAKE_BUILD_TYPE = 'Debug'
|
||||
QT_VERSION = "5.11.0"
|
||||
QT_MKSPEC = "clang_64"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'make distclean'
|
||||
sh 'make submodulesclean'
|
||||
sh 'make mac'
|
||||
sh 'ccache -s'
|
||||
sh 'make distclean'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('OSX Release') {
|
||||
agent {
|
||||
node {
|
||||
label 'mac'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
QGC_CONFIG = 'installer'
|
||||
QMAKE_VER = "5.11.0/clang_64/bin/qmake"
|
||||
}
|
||||
stages {
|
||||
stage('Clean Checkout') {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Add Airmap API key') {
|
||||
steps {
|
||||
withCredentials([file(credentialsId: 'QGC_Airmap_api_key', variable: 'AIRMAP_API_HEADER')]) {
|
||||
sh 'cp $AIRMAP_API_HEADER ${WORKSPACE}/src/Airmap/Airmap_api_key.h'
|
||||
}
|
||||
}
|
||||
when {
|
||||
anyOf {
|
||||
branch 'master';
|
||||
branch 'Stable_*'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build OSX Release') {
|
||||
steps {
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
sh 'cd build; make -j`sysctl -n hw.ncpu`'
|
||||
archiveArtifacts(artifacts: 'build/**/*.dmg', fingerprint: true)
|
||||
sh 'ccache -s'
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('OSX Release (cmake)') {
|
||||
agent {
|
||||
node {
|
||||
label 'mac'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
CMAKE_BUILD_TYPE = 'Release'
|
||||
QT_VERSION = "5.11.0"
|
||||
QT_MKSPEC = "clang_64"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'make distclean'
|
||||
sh 'make submodulesclean'
|
||||
sh 'make mac'
|
||||
sh 'ccache -s'
|
||||
sh 'make distclean'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // parallel
|
||||
} // stage('build')
|
||||
} // stages
|
||||
|
||||
environment {
|
||||
CCACHE_DIR = '/tmp/ccache'
|
||||
QT_FATAL_WARNINGS = '1'
|
||||
}
|
||||
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '30'))
|
||||
timeout(time: 60, unit: 'MINUTES')
|
||||
}
|
||||
}
|
20
build_ios.sh
|
@ -1,20 +0,0 @@
|
|||
#!/bin/bash
|
||||
if [ ! -d /Volumes/RAMDisk ] ; then
|
||||
echo 'RAM Disk not found'
|
||||
echo 'Only used for App Store builds. It will not work on your computer.'
|
||||
exit 1
|
||||
fi
|
||||
#-- Set to my local installation
|
||||
QMAKE=/Users/gus/Applications/Qt/5.12.2/ios/bin/qmake
|
||||
#-- Using Travis variables as this will eventually live there
|
||||
SHADOW_BUILD_DIR=/Volumes/RAMDisk/build-qgroundcontrol-iOS-Release
|
||||
TRAVIS_BUILD_DIR=/Users/gus/github/work/UpstreamQGC
|
||||
#-- Build it
|
||||
mkdir -p ${SHADOW_BUILD_DIR} &&
|
||||
cd ${SHADOW_BUILD_DIR} &&
|
||||
#-- Create project only (build using Xcode)
|
||||
${QMAKE} -r ${TRAVIS_BUILD_DIR}/qgroundcontrol.pro CONFIG+=WarningsAsErrorsOn CONFIG-=debug_and_release CONFIG+=release CONFIG+=ForAppStore
|
||||
sed -i .bak 's/com.yourcompany.${PRODUCT_NAME:rfc1034identifier}/org.QGroundControl.qgc/' ${SHADOW_BUILD_DIR}/QGroundControl.xcodeproj/project.pbxproj
|
||||
#-- Create and build
|
||||
#${QMAKE} -r ${TRAVIS_BUILD_DIR}/qgroundcontrol.pro CONFIG+=WarningsAsErrorsOn CONFIG-=debug_and_release CONFIG+=release CONFIG+=ForAppStore &&
|
||||
#xcodebuild -configuration Release -xcconfig ${TRAVIS_BUILD_DIR}/ios/qgroundcontrol_appstore.xcconfig
|
|
@ -1,301 +1,301 @@
|
|||
<RCC>
|
||||
<qresource prefix="/InstrumentValueIcons">
|
||||
<file alias="directions.svg">../resources/InstrumentValueIcons/directions.svg</file>
|
||||
<file alias="announcement.svg">../resources/InstrumentValueIcons/announcement.svg</file>
|
||||
<file alias="user-solid-square.svg">../resources/InstrumentValueIcons/user-solid-square.svg</file>
|
||||
<file alias="shield.svg">../resources/InstrumentValueIcons/shield.svg</file>
|
||||
<file alias="watch.svg">../resources/InstrumentValueIcons/watch.svg</file>
|
||||
<file alias="share.svg">../resources/InstrumentValueIcons/share.svg</file>
|
||||
<file alias="bookmark-outline-add.svg">../resources/InstrumentValueIcons/bookmark-outline-add.svg</file>
|
||||
<file alias="arrow-thick-left.svg">../resources/InstrumentValueIcons/arrow-thick-left.svg</file>
|
||||
<file alias="reload.svg">../resources/InstrumentValueIcons/reload.svg</file>
|
||||
<file alias="badge.svg">../resources/InstrumentValueIcons/badge.svg</file>
|
||||
<file alias="travel-walk.svg">../resources/InstrumentValueIcons/travel-walk.svg</file>
|
||||
<file alias="cog.svg">../resources/InstrumentValueIcons/cog.svg</file>
|
||||
<file alias="folder-outline.svg">../resources/InstrumentValueIcons/folder-outline.svg</file>
|
||||
<file alias="queue.svg">../resources/InstrumentValueIcons/queue.svg</file>
|
||||
<file alias="indent-decrease.svg">../resources/InstrumentValueIcons/indent-decrease.svg</file>
|
||||
<file alias="menu.svg">../resources/InstrumentValueIcons/menu.svg</file>
|
||||
<file alias="computer-laptop.svg">../resources/InstrumentValueIcons/computer-laptop.svg</file>
|
||||
<file alias="view-column.svg">../resources/InstrumentValueIcons/view-column.svg</file>
|
||||
<file alias="list.svg">../resources/InstrumentValueIcons/list.svg</file>
|
||||
<file alias="question.svg">../resources/InstrumentValueIcons/question.svg</file>
|
||||
<file alias="music-artist.svg">../resources/InstrumentValueIcons/music-artist.svg</file>
|
||||
<file alias="playlist.svg">../resources/InstrumentValueIcons/playlist.svg</file>
|
||||
<file alias="wallet.svg">../resources/InstrumentValueIcons/wallet.svg</file>
|
||||
<file alias="bluetooth.svg">../resources/InstrumentValueIcons/bluetooth.svg</file>
|
||||
<file alias="radar copy 2.svg">../resources/InstrumentValueIcons/radar copy 2.svg</file>
|
||||
<file alias="tuning.svg">../resources/InstrumentValueIcons/tuning.svg</file>
|
||||
<file alias="book-reference.svg">../resources/InstrumentValueIcons/book-reference.svg</file>
|
||||
<file alias="information-solid.svg">../resources/InstrumentValueIcons/information-solid.svg</file>
|
||||
<file alias="user-group.svg">../resources/InstrumentValueIcons/user-group.svg</file>
|
||||
<file alias="view-hide.svg">../resources/InstrumentValueIcons/view-hide.svg</file>
|
||||
<file alias="gift.svg">../resources/InstrumentValueIcons/gift.svg</file>
|
||||
<file alias="pylon.svg">../resources/InstrumentValueIcons/pylon.svg</file>
|
||||
<file alias="arrow-thin-left.svg">../resources/InstrumentValueIcons/arrow-thin-left.svg</file>
|
||||
<file alias="pause.svg">../resources/InstrumentValueIcons/pause.svg</file>
|
||||
<file alias="layers.svg">../resources/InstrumentValueIcons/layers.svg</file>
|
||||
<file alias="repost.svg">../resources/InstrumentValueIcons/repost.svg</file>
|
||||
<file alias="hand-stop.svg">../resources/InstrumentValueIcons/hand-stop.svg</file>
|
||||
<file alias="border-horizontal.svg">../resources/InstrumentValueIcons/border-horizontal.svg</file>
|
||||
<file alias="send.svg">../resources/InstrumentValueIcons/send.svg</file>
|
||||
<file alias="beverage.svg">../resources/InstrumentValueIcons/beverage.svg</file>
|
||||
<file alias="align-center.svg">../resources/InstrumentValueIcons/align-center.svg</file>
|
||||
<file alias="travel-bus.svg">../resources/InstrumentValueIcons/travel-bus.svg</file>
|
||||
<file alias="artist.svg">../resources/InstrumentValueIcons/artist.svg</file>
|
||||
<file alias="color-palette.svg">../resources/InstrumentValueIcons/color-palette.svg</file>
|
||||
<file alias="compose.svg">../resources/InstrumentValueIcons/compose.svg</file>
|
||||
<file alias="news-paper.svg">../resources/InstrumentValueIcons/news-paper.svg</file>
|
||||
<file alias="printer.svg">../resources/InstrumentValueIcons/printer.svg</file>
|
||||
<file alias="border-all.svg">../resources/InstrumentValueIcons/border-all.svg</file>
|
||||
<file alias="edit-copy.svg">../resources/InstrumentValueIcons/edit-copy.svg</file>
|
||||
<file alias="dots-horizontal-triple.svg">../resources/InstrumentValueIcons/dots-horizontal-triple.svg</file>
|
||||
<file alias="border-left.svg">../resources/InstrumentValueIcons/border-left.svg</file>
|
||||
<file alias="view-show.svg">../resources/InstrumentValueIcons/view-show.svg</file>
|
||||
<file alias="globe.svg">../resources/InstrumentValueIcons/globe.svg</file>
|
||||
<file alias="subdirectory-right.svg">../resources/InstrumentValueIcons/subdirectory-right.svg</file>
|
||||
<file alias="chart.svg">../resources/InstrumentValueIcons/chart.svg</file>
|
||||
<file alias="arrow-outline-down.svg">../resources/InstrumentValueIcons/arrow-outline-down.svg</file>
|
||||
<file alias="browser-window.svg">../resources/InstrumentValueIcons/browser-window.svg</file>
|
||||
<file alias="inbox.svg">../resources/InstrumentValueIcons/inbox.svg</file>
|
||||
<file alias="music-album.svg">../resources/InstrumentValueIcons/music-album.svg</file>
|
||||
<file alias="currency-dollar.svg">../resources/InstrumentValueIcons/currency-dollar.svg</file>
|
||||
<file alias="chart-bar.svg">../resources/InstrumentValueIcons/chart-bar.svg</file>
|
||||
<file alias="text-box.svg">../resources/InstrumentValueIcons/text-box.svg</file>
|
||||
<file alias="border-outer.svg">../resources/InstrumentValueIcons/border-outer.svg</file>
|
||||
<file alias="stethoscope.svg">../resources/InstrumentValueIcons/stethoscope.svg</file>
|
||||
<file alias="coffee.svg">../resources/InstrumentValueIcons/coffee.svg</file>
|
||||
<file alias="timer.svg">../resources/InstrumentValueIcons/timer.svg</file>
|
||||
<file alias="mood-sad-outline.svg">../resources/InstrumentValueIcons/mood-sad-outline.svg</file>
|
||||
<file alias="show-sidebar.svg">../resources/InstrumentValueIcons/show-sidebar.svg</file>
|
||||
<file alias="border-vertical.svg">../resources/InstrumentValueIcons/border-vertical.svg</file>
|
||||
<file alias="thumbs-up.svg">../resources/InstrumentValueIcons/thumbs-up.svg</file>
|
||||
<file alias="step-forward.svg">../resources/InstrumentValueIcons/step-forward.svg</file>
|
||||
<file alias="location-marina.svg">../resources/InstrumentValueIcons/location-marina.svg</file>
|
||||
<file alias="inbox-download.svg">../resources/InstrumentValueIcons/inbox-download.svg</file>
|
||||
<file alias="cheveron-outline-down.svg">../resources/InstrumentValueIcons/cheveron-outline-down.svg</file>
|
||||
<file alias="volume-down.svg">../resources/InstrumentValueIcons/volume-down.svg</file>
|
||||
<file alias="browser-window-new.svg">../resources/InstrumentValueIcons/browser-window-new.svg</file>
|
||||
<file alias="add-solid.svg">../resources/InstrumentValueIcons/add-solid.svg</file>
|
||||
<file alias="credit-card.svg">../resources/InstrumentValueIcons/credit-card.svg</file>
|
||||
<file alias="cheveron-outline-up.svg">../resources/InstrumentValueIcons/cheveron-outline-up.svg</file>
|
||||
<file alias="edit-pencil.svg">../resources/InstrumentValueIcons/edit-pencil.svg</file>
|
||||
<file alias="format-bold.svg">../resources/InstrumentValueIcons/format-bold.svg</file>
|
||||
<file alias="paste.svg">../resources/InstrumentValueIcons/paste.svg</file>
|
||||
<file alias="radio.svg">../resources/InstrumentValueIcons/radio.svg</file>
|
||||
<file alias="album.svg">../resources/InstrumentValueIcons/album.svg</file>
|
||||
<file alias="at-symbol.svg">../resources/InstrumentValueIcons/at-symbol.svg</file>
|
||||
<file alias="education.svg">../resources/InstrumentValueIcons/education.svg</file>
|
||||
<file alias="radar.svg">../resources/InstrumentValueIcons/radar.svg</file>
|
||||
<file alias="headphones.svg">../resources/InstrumentValueIcons/headphones.svg</file>
|
||||
<file alias="load-balancer.svg">../resources/InstrumentValueIcons/load-balancer.svg</file>
|
||||
<file alias="home.svg">../resources/InstrumentValueIcons/home.svg</file>
|
||||
<file alias="backward.svg">../resources/InstrumentValueIcons/backward.svg</file>
|
||||
<file alias="tablet.svg">../resources/InstrumentValueIcons/tablet.svg</file>
|
||||
<file alias="mood-happy-solid.svg">../resources/InstrumentValueIcons/mood-happy-solid.svg</file>
|
||||
<file alias="align-right.svg">../resources/InstrumentValueIcons/align-right.svg</file>
|
||||
<file alias="folder.svg">../resources/InstrumentValueIcons/folder.svg</file>
|
||||
<file alias="duplicate.svg">../resources/InstrumentValueIcons/duplicate.svg</file>
|
||||
<file alias="envelope.svg">../resources/InstrumentValueIcons/envelope.svg</file>
|
||||
<file alias="bookmark copy 3.svg">../resources/InstrumentValueIcons/bookmark copy 3.svg</file>
|
||||
<file alias="lock-closed.svg">../resources/InstrumentValueIcons/lock-closed.svg</file>
|
||||
<file alias="clipboard.svg">../resources/InstrumentValueIcons/clipboard.svg</file>
|
||||
<file alias="border-bottom.svg">../resources/InstrumentValueIcons/border-bottom.svg</file>
|
||||
<file alias="shuffle.svg">../resources/InstrumentValueIcons/shuffle.svg</file>
|
||||
<file alias="save-disk.svg">../resources/InstrumentValueIcons/save-disk.svg</file>
|
||||
<file alias="refresh.svg">../resources/InstrumentValueIcons/refresh.svg</file>
|
||||
<file alias="lock-open.svg">../resources/InstrumentValueIcons/lock-open.svg</file>
|
||||
<file alias="link.svg">../resources/InstrumentValueIcons/link.svg</file>
|
||||
<file alias="view-carousel.svg">../resources/InstrumentValueIcons/view-carousel.svg</file>
|
||||
<file alias="share-01.svg">../resources/InstrumentValueIcons/share-01.svg</file>
|
||||
<file alias="arrow-thick-down.svg">../resources/InstrumentValueIcons/arrow-thick-down.svg</file>
|
||||
<file alias="ticket.svg">../resources/InstrumentValueIcons/ticket.svg</file>
|
||||
<file alias="portfolio.svg">../resources/InstrumentValueIcons/portfolio.svg</file>
|
||||
<file alias="arrow-simple-down.svg">../resources/InstrumentValueIcons/arrow-simple-down.svg</file>
|
||||
<file alias="location-restroom.svg">../resources/InstrumentValueIcons/location-restroom.svg</file>
|
||||
<file alias="yin-yang.svg">../resources/InstrumentValueIcons/yin-yang.svg</file>
|
||||
<file alias="buoy.svg">../resources/InstrumentValueIcons/buoy.svg</file>
|
||||
<file alias="play-outline.svg">../resources/InstrumentValueIcons/play-outline.svg</file>
|
||||
<file alias="box.svg">../resources/InstrumentValueIcons/box.svg</file>
|
||||
<file alias="align-left.svg">../resources/InstrumentValueIcons/align-left.svg</file>
|
||||
<file alias="minus-solid.svg">../resources/InstrumentValueIcons/minus-solid.svg</file>
|
||||
<file alias="play.svg">../resources/InstrumentValueIcons/play.svg</file>
|
||||
<file alias="format-italic.svg">../resources/InstrumentValueIcons/format-italic.svg</file>
|
||||
<file alias="close.svg">../resources/InstrumentValueIcons/close.svg</file>
|
||||
<file alias="screen-full.svg">../resources/InstrumentValueIcons/screen-full.svg</file>
|
||||
<file alias="airplane.svg">../resources/InstrumentValueIcons/airplane.svg</file>
|
||||
<file alias="forward.svg">../resources/InstrumentValueIcons/forward.svg</file>
|
||||
<file alias="document.svg">../resources/InstrumentValueIcons/document.svg</file>
|
||||
<file alias="cheveron-outline-left.svg">../resources/InstrumentValueIcons/cheveron-outline-left.svg</file>
|
||||
<file alias="travel-car.svg">../resources/InstrumentValueIcons/travel-car.svg</file>
|
||||
<file alias="library.svg">../resources/InstrumentValueIcons/library.svg</file>
|
||||
<file alias="heart.svg">../resources/InstrumentValueIcons/heart.svg</file>
|
||||
<file alias="zoom-out.svg">../resources/InstrumentValueIcons/zoom-out.svg</file>
|
||||
<file alias="travel-taxi-cab.svg">../resources/InstrumentValueIcons/travel-taxi-cab.svg</file>
|
||||
<file alias="chat-bubble-dots.svg">../resources/InstrumentValueIcons/chat-bubble-dots.svg</file>
|
||||
<file alias="vector.svg">../resources/InstrumentValueIcons/vector.svg</file>
|
||||
<file alias="notifications-outline.svg">../resources/InstrumentValueIcons/notifications-outline.svg</file>
|
||||
<file alias="swap.svg">../resources/InstrumentValueIcons/swap.svg</file>
|
||||
<file alias="mic.svg">../resources/InstrumentValueIcons/mic.svg</file>
|
||||
<file alias="folder-outline-add.svg">../resources/InstrumentValueIcons/folder-outline-add.svg</file>
|
||||
<file alias="forward-step.svg">../resources/InstrumentValueIcons/forward-step.svg</file>
|
||||
<file alias="minus-outline.svg">../resources/InstrumentValueIcons/minus-outline.svg</file>
|
||||
<file alias="translate.svg">../resources/InstrumentValueIcons/translate.svg</file>
|
||||
<file alias="navigation-more.svg">../resources/InstrumentValueIcons/navigation-more.svg</file>
|
||||
<file alias="battery-full.svg">../resources/InstrumentValueIcons/battery-full.svg</file>
|
||||
<file alias="pause-solid.svg">../resources/InstrumentValueIcons/pause-solid.svg</file>
|
||||
<file alias="explore.svg">../resources/InstrumentValueIcons/explore.svg</file>
|
||||
<file alias="format-text-size.svg">../resources/InstrumentValueIcons/format-text-size.svg</file>
|
||||
<file alias="reply.svg">../resources/InstrumentValueIcons/reply.svg</file>
|
||||
<file alias="volume-off.svg">../resources/InstrumentValueIcons/volume-off.svg</file>
|
||||
<file alias="list-add.svg">../resources/InstrumentValueIcons/list-add.svg</file>
|
||||
<file alias="pin.svg">../resources/InstrumentValueIcons/pin.svg</file>
|
||||
<file alias="zoom-in.svg">../resources/InstrumentValueIcons/zoom-in.svg</file>
|
||||
<file alias="photo.svg">../resources/InstrumentValueIcons/photo.svg</file>
|
||||
<file alias="mobile-devices.svg">../resources/InstrumentValueIcons/mobile-devices.svg</file>
|
||||
<file alias="text-decoration.svg">../resources/InstrumentValueIcons/text-decoration.svg</file>
|
||||
<file alias="music-playlist.svg">../resources/InstrumentValueIcons/music-playlist.svg</file>
|
||||
<file alias="step-backward.svg">../resources/InstrumentValueIcons/step-backward.svg</file>
|
||||
<file alias="information-outline.svg">../resources/InstrumentValueIcons/information-outline.svg</file>
|
||||
<file alias="share-alt.svg">../resources/InstrumentValueIcons/share-alt.svg</file>
|
||||
<file alias="exclamation-outline.svg">../resources/InstrumentValueIcons/exclamation-outline.svg</file>
|
||||
<file alias="notification.svg">../resources/InstrumentValueIcons/notification.svg</file>
|
||||
<file alias="window.svg">../resources/InstrumentValueIcons/window.svg</file>
|
||||
<file alias="map.svg">../resources/InstrumentValueIcons/map.svg</file>
|
||||
<file alias="thermometer.svg">../resources/InstrumentValueIcons/thermometer.svg</file>
|
||||
<file alias="calendar.svg">../resources/InstrumentValueIcons/calendar.svg</file>
|
||||
<file alias="stand-by.svg">../resources/InstrumentValueIcons/stand-by.svg</file>
|
||||
<file alias="thumbs-down.svg">../resources/InstrumentValueIcons/thumbs-down.svg</file>
|
||||
<file alias="cheveron-down.svg">../resources/InstrumentValueIcons/cheveron-down.svg</file>
|
||||
<file alias="factory.svg">../resources/InstrumentValueIcons/factory.svg</file>
|
||||
<file alias="stroke-width.svg">../resources/InstrumentValueIcons/stroke-width.svg</file>
|
||||
<file alias="indent-increase.svg">../resources/InstrumentValueIcons/indent-increase.svg</file>
|
||||
<file alias="search.svg">../resources/InstrumentValueIcons/search.svg</file>
|
||||
<file alias="add-outline.svg">../resources/InstrumentValueIcons/add-outline.svg</file>
|
||||
<file alias="mood-neutral-outline.svg">../resources/InstrumentValueIcons/mood-neutral-outline.svg</file>
|
||||
<file alias="cheveron-outline-right.svg">../resources/InstrumentValueIcons/cheveron-outline-right.svg</file>
|
||||
<file alias="arrow-thick-right.svg">../resources/InstrumentValueIcons/arrow-thick-right.svg</file>
|
||||
<file alias="key.svg">../resources/InstrumentValueIcons/key.svg</file>
|
||||
<file alias="cloud.svg">../resources/InstrumentValueIcons/cloud.svg</file>
|
||||
<file alias="mood-happy-outline.svg">../resources/InstrumentValueIcons/mood-happy-outline.svg</file>
|
||||
<file alias="dots-horizontal-double.svg">../resources/InstrumentValueIcons/dots-horizontal-double.svg</file>
|
||||
<file alias="format-font-size.svg">../resources/InstrumentValueIcons/format-font-size.svg</file>
|
||||
<file alias="arrow-outline-up.svg">../resources/InstrumentValueIcons/arrow-outline-up.svg</file>
|
||||
<file alias="arrow-thin-up.svg">../resources/InstrumentValueIcons/arrow-thin-up.svg</file>
|
||||
<file alias="network.svg">../resources/InstrumentValueIcons/network.svg</file>
|
||||
<file alias="mouse.svg">../resources/InstrumentValueIcons/mouse.svg</file>
|
||||
<file alias="checkmark-outline.svg">../resources/InstrumentValueIcons/checkmark-outline.svg</file>
|
||||
<file alias="mood-sad-solid.svg">../resources/InstrumentValueIcons/mood-sad-solid.svg</file>
|
||||
<file alias="store-front.svg">../resources/InstrumentValueIcons/store-front.svg</file>
|
||||
<file alias="battery-half.svg">../resources/InstrumentValueIcons/battery-half.svg</file>
|
||||
<file alias="tools copy.svg">../resources/InstrumentValueIcons/tools copy.svg</file>
|
||||
<file alias="time.svg">../resources/InstrumentValueIcons/time.svg</file>
|
||||
<file alias="block.svg">../resources/InstrumentValueIcons/block.svg</file>
|
||||
<file alias="camera.svg">../resources/InstrumentValueIcons/camera.svg</file>
|
||||
<file alias="user-add.svg">../resources/InstrumentValueIcons/user-add.svg</file>
|
||||
<file alias="cheveron-up.svg">../resources/InstrumentValueIcons/cheveron-up.svg</file>
|
||||
<file alias="window-new.svg">../resources/InstrumentValueIcons/window-new.svg</file>
|
||||
<file alias="battery-low.svg">../resources/InstrumentValueIcons/battery-low.svg</file>
|
||||
<file alias="volume-up.svg">../resources/InstrumentValueIcons/volume-up.svg</file>
|
||||
<file alias="volume-mute.svg">../resources/InstrumentValueIcons/volume-mute.svg</file>
|
||||
<file alias="arrow-simple-up.svg">../resources/InstrumentValueIcons/arrow-simple-up.svg</file>
|
||||
<file alias="travel.svg">../resources/InstrumentValueIcons/travel.svg</file>
|
||||
<file alias="location.svg">../resources/InstrumentValueIcons/location.svg</file>
|
||||
<file alias="dashboard.svg">../resources/InstrumentValueIcons/dashboard.svg</file>
|
||||
<file alias="light-bulb.svg">../resources/InstrumentValueIcons/light-bulb.svg</file>
|
||||
<file alias="travel-case.svg">../resources/InstrumentValueIcons/travel-case.svg</file>
|
||||
<file alias="edit-crop.svg">../resources/InstrumentValueIcons/edit-crop.svg</file>
|
||||
<file alias="close-solid.svg">../resources/InstrumentValueIcons/close-solid.svg</file>
|
||||
<file alias="notifications.svg">../resources/InstrumentValueIcons/notifications.svg</file>
|
||||
<file alias="video-camera.svg">../resources/InstrumentValueIcons/video-camera.svg</file>
|
||||
<file alias="film.svg">../resources/InstrumentValueIcons/film.svg</file>
|
||||
<file alias="border-right.svg">../resources/InstrumentValueIcons/border-right.svg</file>
|
||||
<file alias="bolt.svg">../resources/InstrumentValueIcons/bolt.svg</file>
|
||||
<file alias="keyboard.svg">../resources/InstrumentValueIcons/keyboard.svg</file>
|
||||
<file alias="shopping-cart.svg">../resources/InstrumentValueIcons/shopping-cart.svg</file>
|
||||
<file alias="cheveron-left.svg">../resources/InstrumentValueIcons/cheveron-left.svg</file>
|
||||
<file alias="flag.svg">../resources/InstrumentValueIcons/flag.svg</file>
|
||||
<file alias="adjust.svg">../resources/InstrumentValueIcons/adjust.svg</file>
|
||||
<file alias="wrench.svg">../resources/InstrumentValueIcons/wrench.svg</file>
|
||||
<file alias="station.svg">../resources/InstrumentValueIcons/station.svg</file>
|
||||
<file alias="target.svg">../resources/InstrumentValueIcons/target.svg</file>
|
||||
<file alias="location-food.svg">../resources/InstrumentValueIcons/location-food.svg</file>
|
||||
<file alias="hour-glass.svg">../resources/InstrumentValueIcons/hour-glass.svg</file>
|
||||
<file alias="date-add.svg">../resources/InstrumentValueIcons/date-add.svg</file>
|
||||
<file alias="location-gas-station.svg">../resources/InstrumentValueIcons/location-gas-station.svg</file>
|
||||
<file alias="cheveron-right.svg">../resources/InstrumentValueIcons/cheveron-right.svg</file>
|
||||
<file alias="checkmark.svg">../resources/InstrumentValueIcons/checkmark.svg</file>
|
||||
<file alias="format-underline.svg">../resources/InstrumentValueIcons/format-underline.svg</file>
|
||||
<file alias="border-none.svg">../resources/InstrumentValueIcons/border-none.svg</file>
|
||||
<file alias="inbox-full.svg">../resources/InstrumentValueIcons/inbox-full.svg</file>
|
||||
<file alias="window-open.svg">../resources/InstrumentValueIcons/window-open.svg</file>
|
||||
<file alias="travel-train.svg">../resources/InstrumentValueIcons/travel-train.svg</file>
|
||||
<file alias="location-current.svg">../resources/InstrumentValueIcons/location-current.svg</file>
|
||||
<file alias="computer-desktop.svg">../resources/InstrumentValueIcons/computer-desktop.svg</file>
|
||||
<file alias="servers.svg">../resources/InstrumentValueIcons/servers.svg</file>
|
||||
<file alias="close-outline.svg">../resources/InstrumentValueIcons/close-outline.svg</file>
|
||||
<file alias="apparel.svg">../resources/InstrumentValueIcons/apparel.svg</file>
|
||||
<file alias="arrow-thick-up.svg">../resources/InstrumentValueIcons/arrow-thick-up.svg</file>
|
||||
<file alias="border-top.svg">../resources/InstrumentValueIcons/border-top.svg</file>
|
||||
<file alias="bookmark copy 2.svg">../resources/InstrumentValueIcons/bookmark copy 2.svg</file>
|
||||
<file alias="trophy.svg">../resources/InstrumentValueIcons/trophy.svg</file>
|
||||
<file alias="view-list.svg">../resources/InstrumentValueIcons/view-list.svg</file>
|
||||
<file alias="arrow-thin-right.svg">../resources/InstrumentValueIcons/arrow-thin-right.svg</file>
|
||||
<file alias="arrow-outline-left.svg">../resources/InstrumentValueIcons/arrow-outline-left.svg</file>
|
||||
<file alias="edit-cut.svg">../resources/InstrumentValueIcons/edit-cut.svg</file>
|
||||
<file alias="brightness-up.svg">../resources/InstrumentValueIcons/brightness-up.svg</file>
|
||||
<file alias="phone.svg">../resources/InstrumentValueIcons/phone.svg</file>
|
||||
<file alias="arrow-outline-right.svg">../resources/InstrumentValueIcons/arrow-outline-right.svg</file>
|
||||
<file alias="mood-neutral-solid.svg">../resources/InstrumentValueIcons/mood-neutral-solid.svg</file>
|
||||
<file alias="arrow-base-down.svg">../resources/InstrumentValueIcons/arrow-base-down.svg</file>
|
||||
<file alias="arrow-simple-left.svg">../resources/InstrumentValueIcons/arrow-simple-left.svg</file>
|
||||
<file alias="browser-window-open.svg">../resources/InstrumentValueIcons/browser-window-open.svg</file>
|
||||
<file alias="document-add.svg">../resources/InstrumentValueIcons/document-add.svg</file>
|
||||
<file alias="inbox-check.svg">../resources/InstrumentValueIcons/inbox-check.svg</file>
|
||||
<file alias="star-full.svg">../resources/InstrumentValueIcons/star-full.svg</file>
|
||||
<file alias="fast-forward.svg">../resources/InstrumentValueIcons/fast-forward.svg</file>
|
||||
<file alias="fast-rewind.svg">../resources/InstrumentValueIcons/fast-rewind.svg</file>
|
||||
<file alias="hot.svg">../resources/InstrumentValueIcons/hot.svg</file>
|
||||
<file alias="brightness-down.svg">../resources/InstrumentValueIcons/brightness-down.svg</file>
|
||||
<file alias="backward-step.svg">../resources/InstrumentValueIcons/backward-step.svg</file>
|
||||
<file alias="user.svg">../resources/InstrumentValueIcons/user.svg</file>
|
||||
<file alias="backspace.svg">../resources/InstrumentValueIcons/backspace.svg</file>
|
||||
<file alias="border-inner.svg">../resources/InstrumentValueIcons/border-inner.svg</file>
|
||||
<file alias="chart-pie.svg">../resources/InstrumentValueIcons/chart-pie.svg</file>
|
||||
<file alias="arrow-base-up.svg">../resources/InstrumentValueIcons/arrow-base-up.svg</file>
|
||||
<file alias="music-notes.svg">../resources/InstrumentValueIcons/music-notes.svg</file>
|
||||
<file alias="filter.svg">../resources/InstrumentValueIcons/filter.svg</file>
|
||||
<file alias="code.svg">../resources/InstrumentValueIcons/code.svg</file>
|
||||
<file alias="dial-pad.svg">../resources/InstrumentValueIcons/dial-pad.svg</file>
|
||||
<file alias="reply-all.svg">../resources/InstrumentValueIcons/reply-all.svg</file>
|
||||
<file alias="arrow-thin-down.svg">../resources/InstrumentValueIcons/arrow-thin-down.svg</file>
|
||||
<file alias="usb.svg">../resources/InstrumentValueIcons/usb.svg</file>
|
||||
<file alias="anchor.svg">../resources/InstrumentValueIcons/anchor.svg</file>
|
||||
<file alias="align-justified.svg">../resources/InstrumentValueIcons/align-justified.svg</file>
|
||||
<file alias="conversation.svg">../resources/InstrumentValueIcons/conversation.svg</file>
|
||||
<file alias="bug.svg">../resources/InstrumentValueIcons/bug.svg</file>
|
||||
<file alias="arrow-simple-right.svg">../resources/InstrumentValueIcons/arrow-simple-right.svg</file>
|
||||
<file alias="location-park.svg">../resources/InstrumentValueIcons/location-park.svg</file>
|
||||
<file alias="flashlight.svg">../resources/InstrumentValueIcons/flashlight.svg</file>
|
||||
<file alias="pen-tool.svg">../resources/InstrumentValueIcons/pen-tool.svg</file>
|
||||
<file alias="subdirectory-left.svg">../resources/InstrumentValueIcons/subdirectory-left.svg</file>
|
||||
<file alias="exclamation-solid.svg">../resources/InstrumentValueIcons/exclamation-solid.svg</file>
|
||||
<file alias="php-elephant.svg">../resources/InstrumentValueIcons/php-elephant.svg</file>
|
||||
<file alias="bookmark.svg">../resources/InstrumentValueIcons/bookmark.svg</file>
|
||||
<file alias="location-hotel.svg">../resources/InstrumentValueIcons/location-hotel.svg</file>
|
||||
<file alias="calculator.svg">../resources/InstrumentValueIcons/calculator.svg</file>
|
||||
<file alias="view-tile.svg">../resources/InstrumentValueIcons/view-tile.svg</file>
|
||||
<file alias="plugin.svg">../resources/InstrumentValueIcons/plugin.svg</file>
|
||||
<file alias="tag.svg">../resources/InstrumentValueIcons/tag.svg</file>
|
||||
<file alias="pause-outline.svg">../resources/InstrumentValueIcons/pause-outline.svg</file>
|
||||
<file alias="copy.svg">../resources/InstrumentValueIcons/copy.svg</file>
|
||||
<file alias="hard-drive.svg">../resources/InstrumentValueIcons/hard-drive.svg</file>
|
||||
<file alias="attachment.svg">../resources/InstrumentValueIcons/attachment.svg</file>
|
||||
<file alias="cloud-upload.svg">../resources/InstrumentValueIcons/cloud-upload.svg</file>
|
||||
<file alias="list-bullet.svg">../resources/InstrumentValueIcons/list-bullet.svg</file>
|
||||
<file alias="user-solid-circle.svg">../resources/InstrumentValueIcons/user-solid-circle.svg</file>
|
||||
<file alias="trash.svg">../resources/InstrumentValueIcons/trash.svg</file>
|
||||
<file alias="bookmark-outline.svg">../resources/InstrumentValueIcons/bookmark-outline.svg</file>
|
||||
<file alias="cheveron-up.svg">../resources/InstrumentValueIcons/cheveron-up.svg</file>
|
||||
<file alias="location-shopping.svg">../resources/InstrumentValueIcons/location-shopping.svg</file>
|
||||
<file alias="cheveron-right.svg">../resources/InstrumentValueIcons/cheveron-right.svg</file>
|
||||
<file alias="bookmark.svg">../resources/InstrumentValueIcons/bookmark.svg</file>
|
||||
<file alias="travel-case.svg">../resources/InstrumentValueIcons/travel-case.svg</file>
|
||||
<file alias="user-solid-square.svg">../resources/InstrumentValueIcons/user-solid-square.svg</file>
|
||||
<file alias="arrow-simple-up.svg">../resources/InstrumentValueIcons/arrow-simple-up.svg</file>
|
||||
<file alias="list.svg">../resources/InstrumentValueIcons/list.svg</file>
|
||||
<file alias="shuffle.svg">../resources/InstrumentValueIcons/shuffle.svg</file>
|
||||
<file alias="travel-walk.svg">../resources/InstrumentValueIcons/travel-walk.svg</file>
|
||||
<file alias="checkmark.svg">../resources/InstrumentValueIcons/checkmark.svg</file>
|
||||
<file alias="trophy.svg">../resources/InstrumentValueIcons/trophy.svg</file>
|
||||
<file alias="mood-happy-solid.svg">../resources/InstrumentValueIcons/mood-happy-solid.svg</file>
|
||||
<file alias="cog.svg">../resources/InstrumentValueIcons/cog.svg</file>
|
||||
<file alias="text-box.svg">../resources/InstrumentValueIcons/text-box.svg</file>
|
||||
<file alias="video-camera.svg">../resources/InstrumentValueIcons/video-camera.svg</file>
|
||||
<file alias="backward-step.svg">../resources/InstrumentValueIcons/backward-step.svg</file>
|
||||
<file alias="view-column.svg">../resources/InstrumentValueIcons/view-column.svg</file>
|
||||
<file alias="add-outline.svg">../resources/InstrumentValueIcons/add-outline.svg</file>
|
||||
<file alias="battery-low.svg">../resources/InstrumentValueIcons/battery-low.svg</file>
|
||||
<file alias="bookmark copy 2.svg">../resources/InstrumentValueIcons/bookmark copy 2.svg</file>
|
||||
<file alias="volume-down.svg">../resources/InstrumentValueIcons/volume-down.svg</file>
|
||||
<file alias="travel-taxi-cab.svg">../resources/InstrumentValueIcons/travel-taxi-cab.svg</file>
|
||||
<file alias="camera.svg">../resources/InstrumentValueIcons/camera.svg</file>
|
||||
<file alias="apparel.svg">../resources/InstrumentValueIcons/apparel.svg</file>
|
||||
<file alias="checkmark-outline.svg">../resources/InstrumentValueIcons/checkmark-outline.svg</file>
|
||||
<file alias="envelope.svg">../resources/InstrumentValueIcons/envelope.svg</file>
|
||||
<file alias="flag.svg">../resources/InstrumentValueIcons/flag.svg</file>
|
||||
<file alias="window-new.svg">../resources/InstrumentValueIcons/window-new.svg</file>
|
||||
<file alias="arrow-simple-right.svg">../resources/InstrumentValueIcons/arrow-simple-right.svg</file>
|
||||
<file alias="filter.svg">../resources/InstrumentValueIcons/filter.svg</file>
|
||||
<file alias="minus-outline.svg">../resources/InstrumentValueIcons/minus-outline.svg</file>
|
||||
<file alias="edit-cut.svg">../resources/InstrumentValueIcons/edit-cut.svg</file>
|
||||
<file alias="volume-off.svg">../resources/InstrumentValueIcons/volume-off.svg</file>
|
||||
<file alias="zoom-in.svg">../resources/InstrumentValueIcons/zoom-in.svg</file>
|
||||
<file alias="pin.svg">../resources/InstrumentValueIcons/pin.svg</file>
|
||||
<file alias="layers.svg">../resources/InstrumentValueIcons/layers.svg</file>
|
||||
<file alias="airplane.svg">../resources/InstrumentValueIcons/airplane.svg</file>
|
||||
<file alias="view-tile.svg">../resources/InstrumentValueIcons/view-tile.svg</file>
|
||||
<file alias="location-marina.svg">../resources/InstrumentValueIcons/location-marina.svg</file>
|
||||
<file alias="border-top.svg">../resources/InstrumentValueIcons/border-top.svg</file>
|
||||
<file alias="refresh.svg">../resources/InstrumentValueIcons/refresh.svg</file>
|
||||
<file alias="travel-bus.svg">../resources/InstrumentValueIcons/travel-bus.svg</file>
|
||||
<file alias="add-solid.svg">../resources/InstrumentValueIcons/add-solid.svg</file>
|
||||
<file alias="notifications.svg">../resources/InstrumentValueIcons/notifications.svg</file>
|
||||
<file alias="indent-decrease.svg">../resources/InstrumentValueIcons/indent-decrease.svg</file>
|
||||
<file alias="badge.svg">../resources/InstrumentValueIcons/badge.svg</file>
|
||||
<file alias="align-center.svg">../resources/InstrumentValueIcons/align-center.svg</file>
|
||||
<file alias="queue.svg">../resources/InstrumentValueIcons/queue.svg</file>
|
||||
<file alias="conversation.svg">../resources/InstrumentValueIcons/conversation.svg</file>
|
||||
<file alias="inbox-download.svg">../resources/InstrumentValueIcons/inbox-download.svg</file>
|
||||
<file alias="cloud.svg">../resources/InstrumentValueIcons/cloud.svg</file>
|
||||
<file alias="text-decoration.svg">../resources/InstrumentValueIcons/text-decoration.svg</file>
|
||||
<file alias="date-add.svg">../resources/InstrumentValueIcons/date-add.svg</file>
|
||||
<file alias="network.svg">../resources/InstrumentValueIcons/network.svg</file>
|
||||
<file alias="list-add.svg">../resources/InstrumentValueIcons/list-add.svg</file>
|
||||
<file alias="film.svg">../resources/InstrumentValueIcons/film.svg</file>
|
||||
<file alias="book-reference.svg">../resources/InstrumentValueIcons/book-reference.svg</file>
|
||||
<file alias="star-full.svg">../resources/InstrumentValueIcons/star-full.svg</file>
|
||||
<file alias="information-outline.svg">../resources/InstrumentValueIcons/information-outline.svg</file>
|
||||
<file alias="user-group.svg">../resources/InstrumentValueIcons/user-group.svg</file>
|
||||
<file alias="hard-drive.svg">../resources/InstrumentValueIcons/hard-drive.svg</file>
|
||||
<file alias="chart-bar.svg">../resources/InstrumentValueIcons/chart-bar.svg</file>
|
||||
<file alias="box.svg">../resources/InstrumentValueIcons/box.svg</file>
|
||||
<file alias="music-notes.svg">../resources/InstrumentValueIcons/music-notes.svg</file>
|
||||
<file alias="bookmark copy 3.svg">../resources/InstrumentValueIcons/bookmark copy 3.svg</file>
|
||||
<file alias="anchor.svg">../resources/InstrumentValueIcons/anchor.svg</file>
|
||||
<file alias="mood-sad-solid.svg">../resources/InstrumentValueIcons/mood-sad-solid.svg</file>
|
||||
<file alias="coffee.svg">../resources/InstrumentValueIcons/coffee.svg</file>
|
||||
<file alias="mood-neutral-outline.svg">../resources/InstrumentValueIcons/mood-neutral-outline.svg</file>
|
||||
<file alias="menu.svg">../resources/InstrumentValueIcons/menu.svg</file>
|
||||
<file alias="fast-rewind.svg">../resources/InstrumentValueIcons/fast-rewind.svg</file>
|
||||
<file alias="user-add.svg">../resources/InstrumentValueIcons/user-add.svg</file>
|
||||
<file alias="mobile-devices.svg">../resources/InstrumentValueIcons/mobile-devices.svg</file>
|
||||
<file alias="time.svg">../resources/InstrumentValueIcons/time.svg</file>
|
||||
<file alias="subdirectory-left.svg">../resources/InstrumentValueIcons/subdirectory-left.svg</file>
|
||||
<file alias="window.svg">../resources/InstrumentValueIcons/window.svg</file>
|
||||
<file alias="hand-stop.svg">../resources/InstrumentValueIcons/hand-stop.svg</file>
|
||||
<file alias="beverage.svg">../resources/InstrumentValueIcons/beverage.svg</file>
|
||||
<file alias="volume-mute.svg">../resources/InstrumentValueIcons/volume-mute.svg</file>
|
||||
<file alias="reply-all.svg">../resources/InstrumentValueIcons/reply-all.svg</file>
|
||||
<file alias="location-food.svg">../resources/InstrumentValueIcons/location-food.svg</file>
|
||||
<file alias="arrow-thin-left.svg">../resources/InstrumentValueIcons/arrow-thin-left.svg</file>
|
||||
<file alias="folder-outline.svg">../resources/InstrumentValueIcons/folder-outline.svg</file>
|
||||
<file alias="dial-pad.svg">../resources/InstrumentValueIcons/dial-pad.svg</file>
|
||||
<file alias="battery-half.svg">../resources/InstrumentValueIcons/battery-half.svg</file>
|
||||
<file alias="trash.svg">../resources/InstrumentValueIcons/trash.svg</file>
|
||||
<file alias="notification.svg">../resources/InstrumentValueIcons/notification.svg</file>
|
||||
<file alias="send.svg">../resources/InstrumentValueIcons/send.svg</file>
|
||||
<file alias="station.svg">../resources/InstrumentValueIcons/station.svg</file>
|
||||
<file alias="pen-tool.svg">../resources/InstrumentValueIcons/pen-tool.svg</file>
|
||||
<file alias="gift.svg">../resources/InstrumentValueIcons/gift.svg</file>
|
||||
<file alias="arrow-outline-down.svg">../resources/InstrumentValueIcons/arrow-outline-down.svg</file>
|
||||
<file alias="ticket.svg">../resources/InstrumentValueIcons/ticket.svg</file>
|
||||
<file alias="border-none.svg">../resources/InstrumentValueIcons/border-none.svg</file>
|
||||
<file alias="format-italic.svg">../resources/InstrumentValueIcons/format-italic.svg</file>
|
||||
<file alias="user-solid-circle.svg">../resources/InstrumentValueIcons/user-solid-circle.svg</file>
|
||||
<file alias="edit-pencil.svg">../resources/InstrumentValueIcons/edit-pencil.svg</file>
|
||||
<file alias="step-forward.svg">../resources/InstrumentValueIcons/step-forward.svg</file>
|
||||
<file alias="edit-copy.svg">../resources/InstrumentValueIcons/edit-copy.svg</file>
|
||||
<file alias="globe.svg">../resources/InstrumentValueIcons/globe.svg</file>
|
||||
<file alias="arrow-thin-right.svg">../resources/InstrumentValueIcons/arrow-thin-right.svg</file>
|
||||
<file alias="inbox-full.svg">../resources/InstrumentValueIcons/inbox-full.svg</file>
|
||||
<file alias="mood-sad-outline.svg">../resources/InstrumentValueIcons/mood-sad-outline.svg</file>
|
||||
<file alias="bug.svg">../resources/InstrumentValueIcons/bug.svg</file>
|
||||
<file alias="question.svg">../resources/InstrumentValueIcons/question.svg</file>
|
||||
<file alias="dots-horizontal-double.svg">../resources/InstrumentValueIcons/dots-horizontal-double.svg</file>
|
||||
<file alias="format-bold.svg">../resources/InstrumentValueIcons/format-bold.svg</file>
|
||||
<file alias="close-outline.svg">../resources/InstrumentValueIcons/close-outline.svg</file>
|
||||
<file alias="dots-horizontal-triple.svg">../resources/InstrumentValueIcons/dots-horizontal-triple.svg</file>
|
||||
<file alias="format-text-size.svg">../resources/InstrumentValueIcons/format-text-size.svg</file>
|
||||
<file alias="computer-laptop.svg">../resources/InstrumentValueIcons/computer-laptop.svg</file>
|
||||
<file alias="arrow-thick-down.svg">../resources/InstrumentValueIcons/arrow-thick-down.svg</file>
|
||||
<file alias="cheveron-outline-down.svg">../resources/InstrumentValueIcons/cheveron-outline-down.svg</file>
|
||||
<file alias="travel.svg">../resources/InstrumentValueIcons/travel.svg</file>
|
||||
<file alias="usb.svg">../resources/InstrumentValueIcons/usb.svg</file>
|
||||
<file alias="cheveron-down.svg">../resources/InstrumentValueIcons/cheveron-down.svg</file>
|
||||
<file alias="key.svg">../resources/InstrumentValueIcons/key.svg</file>
|
||||
<file alias="tools copy.svg">../resources/InstrumentValueIcons/tools copy.svg</file>
|
||||
<file alias="album.svg">../resources/InstrumentValueIcons/album.svg</file>
|
||||
<file alias="arrow-base-down.svg">../resources/InstrumentValueIcons/arrow-base-down.svg</file>
|
||||
<file alias="copy.svg">../resources/InstrumentValueIcons/copy.svg</file>
|
||||
<file alias="align-left.svg">../resources/InstrumentValueIcons/align-left.svg</file>
|
||||
<file alias="explore.svg">../resources/InstrumentValueIcons/explore.svg</file>
|
||||
<file alias="watch.svg">../resources/InstrumentValueIcons/watch.svg</file>
|
||||
<file alias="playlist.svg">../resources/InstrumentValueIcons/playlist.svg</file>
|
||||
<file alias="pause-outline.svg">../resources/InstrumentValueIcons/pause-outline.svg</file>
|
||||
<file alias="location-current.svg">../resources/InstrumentValueIcons/location-current.svg</file>
|
||||
<file alias="home.svg">../resources/InstrumentValueIcons/home.svg</file>
|
||||
<file alias="battery-full.svg">../resources/InstrumentValueIcons/battery-full.svg</file>
|
||||
<file alias="format-font-size.svg">../resources/InstrumentValueIcons/format-font-size.svg</file>
|
||||
<file alias="exclamation-solid.svg">../resources/InstrumentValueIcons/exclamation-solid.svg</file>
|
||||
<file alias="music-artist.svg">../resources/InstrumentValueIcons/music-artist.svg</file>
|
||||
<file alias="music-album.svg">../resources/InstrumentValueIcons/music-album.svg</file>
|
||||
<file alias="chart-pie.svg">../resources/InstrumentValueIcons/chart-pie.svg</file>
|
||||
<file alias="photo.svg">../resources/InstrumentValueIcons/photo.svg</file>
|
||||
<file alias="lock-open.svg">../resources/InstrumentValueIcons/lock-open.svg</file>
|
||||
<file alias="inbox.svg">../resources/InstrumentValueIcons/inbox.svg</file>
|
||||
<file alias="hot.svg">../resources/InstrumentValueIcons/hot.svg</file>
|
||||
<file alias="browser-window-new.svg">../resources/InstrumentValueIcons/browser-window-new.svg</file>
|
||||
<file alias="zoom-out.svg">../resources/InstrumentValueIcons/zoom-out.svg</file>
|
||||
<file alias="search.svg">../resources/InstrumentValueIcons/search.svg</file>
|
||||
<file alias="backward.svg">../resources/InstrumentValueIcons/backward.svg</file>
|
||||
<file alias="store-front.svg">../resources/InstrumentValueIcons/store-front.svg</file>
|
||||
<file alias="user.svg">../resources/InstrumentValueIcons/user.svg</file>
|
||||
<file alias="lock-closed.svg">../resources/InstrumentValueIcons/lock-closed.svg</file>
|
||||
<file alias="load-balancer.svg">../resources/InstrumentValueIcons/load-balancer.svg</file>
|
||||
<file alias="border-all.svg">../resources/InstrumentValueIcons/border-all.svg</file>
|
||||
<file alias="location-gas-station.svg">../resources/InstrumentValueIcons/location-gas-station.svg</file>
|
||||
<file alias="news-paper.svg">../resources/InstrumentValueIcons/news-paper.svg</file>
|
||||
<file alias="align-justified.svg">../resources/InstrumentValueIcons/align-justified.svg</file>
|
||||
<file alias="color-palette.svg">../resources/InstrumentValueIcons/color-palette.svg</file>
|
||||
<file alias="radio.svg">../resources/InstrumentValueIcons/radio.svg</file>
|
||||
<file alias="reply.svg">../resources/InstrumentValueIcons/reply.svg</file>
|
||||
<file alias="target.svg">../resources/InstrumentValueIcons/target.svg</file>
|
||||
<file alias="border-vertical.svg">../resources/InstrumentValueIcons/border-vertical.svg</file>
|
||||
<file alias="duplicate.svg">../resources/InstrumentValueIcons/duplicate.svg</file>
|
||||
<file alias="arrow-thick-right.svg">../resources/InstrumentValueIcons/arrow-thick-right.svg</file>
|
||||
<file alias="exclamation-outline.svg">../resources/InstrumentValueIcons/exclamation-outline.svg</file>
|
||||
<file alias="bolt.svg">../resources/InstrumentValueIcons/bolt.svg</file>
|
||||
<file alias="shopping-cart.svg">../resources/InstrumentValueIcons/shopping-cart.svg</file>
|
||||
<file alias="calendar.svg">../resources/InstrumentValueIcons/calendar.svg</file>
|
||||
<file alias="travel-train.svg">../resources/InstrumentValueIcons/travel-train.svg</file>
|
||||
<file alias="save-disk.svg">../resources/InstrumentValueIcons/save-disk.svg</file>
|
||||
<file alias="cloud-upload.svg">../resources/InstrumentValueIcons/cloud-upload.svg</file>
|
||||
<file alias="dashboard.svg">../resources/InstrumentValueIcons/dashboard.svg</file>
|
||||
<file alias="arrow-simple-down.svg">../resources/InstrumentValueIcons/arrow-simple-down.svg</file>
|
||||
<file alias="computer-desktop.svg">../resources/InstrumentValueIcons/computer-desktop.svg</file>
|
||||
<file alias="music-playlist.svg">../resources/InstrumentValueIcons/music-playlist.svg</file>
|
||||
<file alias="share-01.svg">../resources/InstrumentValueIcons/share-01.svg</file>
|
||||
<file alias="travel-car.svg">../resources/InstrumentValueIcons/travel-car.svg</file>
|
||||
<file alias="border-horizontal.svg">../resources/InstrumentValueIcons/border-horizontal.svg</file>
|
||||
<file alias="fast-forward.svg">../resources/InstrumentValueIcons/fast-forward.svg</file>
|
||||
<file alias="keyboard.svg">../resources/InstrumentValueIcons/keyboard.svg</file>
|
||||
<file alias="chat-bubble-dots.svg">../resources/InstrumentValueIcons/chat-bubble-dots.svg</file>
|
||||
<file alias="folder.svg">../resources/InstrumentValueIcons/folder.svg</file>
|
||||
<file alias="document.svg">../resources/InstrumentValueIcons/document.svg</file>
|
||||
<file alias="format-underline.svg">../resources/InstrumentValueIcons/format-underline.svg</file>
|
||||
<file alias="arrow-thin-down.svg">../resources/InstrumentValueIcons/arrow-thin-down.svg</file>
|
||||
<file alias="cheveron-outline-left.svg">../resources/InstrumentValueIcons/cheveron-outline-left.svg</file>
|
||||
<file alias="thumbs-down.svg">../resources/InstrumentValueIcons/thumbs-down.svg</file>
|
||||
<file alias="stroke-width.svg">../resources/InstrumentValueIcons/stroke-width.svg</file>
|
||||
<file alias="yin-yang.svg">../resources/InstrumentValueIcons/yin-yang.svg</file>
|
||||
<file alias="thumbs-up.svg">../resources/InstrumentValueIcons/thumbs-up.svg</file>
|
||||
<file alias="cheveron-left.svg">../resources/InstrumentValueIcons/cheveron-left.svg</file>
|
||||
<file alias="radar.svg">../resources/InstrumentValueIcons/radar.svg</file>
|
||||
<file alias="play.svg">../resources/InstrumentValueIcons/play.svg</file>
|
||||
<file alias="bluetooth.svg">../resources/InstrumentValueIcons/bluetooth.svg</file>
|
||||
<file alias="clipboard.svg">../resources/InstrumentValueIcons/clipboard.svg</file>
|
||||
<file alias="mood-happy-outline.svg">../resources/InstrumentValueIcons/mood-happy-outline.svg</file>
|
||||
<file alias="reload.svg">../resources/InstrumentValueIcons/reload.svg</file>
|
||||
<file alias="information-solid.svg">../resources/InstrumentValueIcons/information-solid.svg</file>
|
||||
<file alias="php-elephant.svg">../resources/InstrumentValueIcons/php-elephant.svg</file>
|
||||
<file alias="bookmark-outline-add.svg">../resources/InstrumentValueIcons/bookmark-outline-add.svg</file>
|
||||
<file alias="border-inner.svg">../resources/InstrumentValueIcons/border-inner.svg</file>
|
||||
<file alias="brightness-up.svg">../resources/InstrumentValueIcons/brightness-up.svg</file>
|
||||
<file alias="view-hide.svg">../resources/InstrumentValueIcons/view-hide.svg</file>
|
||||
<file alias="forward-step.svg">../resources/InstrumentValueIcons/forward-step.svg</file>
|
||||
<file alias="cheveron-outline-up.svg">../resources/InstrumentValueIcons/cheveron-outline-up.svg</file>
|
||||
<file alias="cheveron-outline-right.svg">../resources/InstrumentValueIcons/cheveron-outline-right.svg</file>
|
||||
<file alias="share.svg">../resources/InstrumentValueIcons/share.svg</file>
|
||||
<file alias="border-right.svg">../resources/InstrumentValueIcons/border-right.svg</file>
|
||||
<file alias="location-hotel.svg">../resources/InstrumentValueIcons/location-hotel.svg</file>
|
||||
<file alias="brightness-down.svg">../resources/InstrumentValueIcons/brightness-down.svg</file>
|
||||
<file alias="light-bulb.svg">../resources/InstrumentValueIcons/light-bulb.svg</file>
|
||||
<file alias="location-park.svg">../resources/InstrumentValueIcons/location-park.svg</file>
|
||||
<file alias="factory.svg">../resources/InstrumentValueIcons/factory.svg</file>
|
||||
<file alias="stand-by.svg">../resources/InstrumentValueIcons/stand-by.svg</file>
|
||||
<file alias="swap.svg">../resources/InstrumentValueIcons/swap.svg</file>
|
||||
<file alias="portfolio.svg">../resources/InstrumentValueIcons/portfolio.svg</file>
|
||||
<file alias="arrow-outline-right.svg">../resources/InstrumentValueIcons/arrow-outline-right.svg</file>
|
||||
<file alias="tuning.svg">../resources/InstrumentValueIcons/tuning.svg</file>
|
||||
<file alias="view-carousel.svg">../resources/InstrumentValueIcons/view-carousel.svg</file>
|
||||
<file alias="calculator.svg">../resources/InstrumentValueIcons/calculator.svg</file>
|
||||
<file alias="show-sidebar.svg">../resources/InstrumentValueIcons/show-sidebar.svg</file>
|
||||
<file alias="step-backward.svg">../resources/InstrumentValueIcons/step-backward.svg</file>
|
||||
<file alias="tablet.svg">../resources/InstrumentValueIcons/tablet.svg</file>
|
||||
<file alias="backspace.svg">../resources/InstrumentValueIcons/backspace.svg</file>
|
||||
<file alias="map.svg">../resources/InstrumentValueIcons/map.svg</file>
|
||||
<file alias="arrow-simple-left.svg">../resources/InstrumentValueIcons/arrow-simple-left.svg</file>
|
||||
<file alias="view-show.svg">../resources/InstrumentValueIcons/view-show.svg</file>
|
||||
<file alias="adjust.svg">../resources/InstrumentValueIcons/adjust.svg</file>
|
||||
<file alias="border-bottom.svg">../resources/InstrumentValueIcons/border-bottom.svg</file>
|
||||
<file alias="document-add.svg">../resources/InstrumentValueIcons/document-add.svg</file>
|
||||
<file alias="plugin.svg">../resources/InstrumentValueIcons/plugin.svg</file>
|
||||
<file alias="navigation-more.svg">../resources/InstrumentValueIcons/navigation-more.svg</file>
|
||||
<file alias="browser-window-open.svg">../resources/InstrumentValueIcons/browser-window-open.svg</file>
|
||||
<file alias="flashlight.svg">../resources/InstrumentValueIcons/flashlight.svg</file>
|
||||
<file alias="currency-dollar.svg">../resources/InstrumentValueIcons/currency-dollar.svg</file>
|
||||
<file alias="close-solid.svg">../resources/InstrumentValueIcons/close-solid.svg</file>
|
||||
<file alias="vector.svg">../resources/InstrumentValueIcons/vector.svg</file>
|
||||
<file alias="paste.svg">../resources/InstrumentValueIcons/paste.svg</file>
|
||||
<file alias="arrow-outline-up.svg">../resources/InstrumentValueIcons/arrow-outline-up.svg</file>
|
||||
<file alias="pause.svg">../resources/InstrumentValueIcons/pause.svg</file>
|
||||
<file alias="artist.svg">../resources/InstrumentValueIcons/artist.svg</file>
|
||||
<file alias="hour-glass.svg">../resources/InstrumentValueIcons/hour-glass.svg</file>
|
||||
<file alias="browser-window.svg">../resources/InstrumentValueIcons/browser-window.svg</file>
|
||||
<file alias="border-left.svg">../resources/InstrumentValueIcons/border-left.svg</file>
|
||||
<file alias="tag.svg">../resources/InstrumentValueIcons/tag.svg</file>
|
||||
<file alias="translate.svg">../resources/InstrumentValueIcons/translate.svg</file>
|
||||
<file alias="mood-neutral-solid.svg">../resources/InstrumentValueIcons/mood-neutral-solid.svg</file>
|
||||
<file alias="pause-solid.svg">../resources/InstrumentValueIcons/pause-solid.svg</file>
|
||||
<file alias="phone.svg">../resources/InstrumentValueIcons/phone.svg</file>
|
||||
<file alias="heart.svg">../resources/InstrumentValueIcons/heart.svg</file>
|
||||
<file alias="headphones.svg">../resources/InstrumentValueIcons/headphones.svg</file>
|
||||
<file alias="servers.svg">../resources/InstrumentValueIcons/servers.svg</file>
|
||||
<file alias="close.svg">../resources/InstrumentValueIcons/close.svg</file>
|
||||
<file alias="directions.svg">../resources/InstrumentValueIcons/directions.svg</file>
|
||||
<file alias="arrow-thick-left.svg">../resources/InstrumentValueIcons/arrow-thick-left.svg</file>
|
||||
<file alias="play-outline.svg">../resources/InstrumentValueIcons/play-outline.svg</file>
|
||||
<file alias="arrow-thick-up.svg">../resources/InstrumentValueIcons/arrow-thick-up.svg</file>
|
||||
<file alias="code.svg">../resources/InstrumentValueIcons/code.svg</file>
|
||||
<file alias="thermometer.svg">../resources/InstrumentValueIcons/thermometer.svg</file>
|
||||
<file alias="location-restroom.svg">../resources/InstrumentValueIcons/location-restroom.svg</file>
|
||||
<file alias="list-bullet.svg">../resources/InstrumentValueIcons/list-bullet.svg</file>
|
||||
<file alias="wrench.svg">../resources/InstrumentValueIcons/wrench.svg</file>
|
||||
<file alias="compose.svg">../resources/InstrumentValueIcons/compose.svg</file>
|
||||
<file alias="at-symbol.svg">../resources/InstrumentValueIcons/at-symbol.svg</file>
|
||||
<file alias="library.svg">../resources/InstrumentValueIcons/library.svg</file>
|
||||
<file alias="view-list.svg">../resources/InstrumentValueIcons/view-list.svg</file>
|
||||
<file alias="timer.svg">../resources/InstrumentValueIcons/timer.svg</file>
|
||||
<file alias="window-open.svg">../resources/InstrumentValueIcons/window-open.svg</file>
|
||||
<file alias="mouse.svg">../resources/InstrumentValueIcons/mouse.svg</file>
|
||||
<file alias="buoy.svg">../resources/InstrumentValueIcons/buoy.svg</file>
|
||||
<file alias="subdirectory-right.svg">../resources/InstrumentValueIcons/subdirectory-right.svg</file>
|
||||
<file alias="volume-up.svg">../resources/InstrumentValueIcons/volume-up.svg</file>
|
||||
<file alias="edit-crop.svg">../resources/InstrumentValueIcons/edit-crop.svg</file>
|
||||
<file alias="screen-full.svg">../resources/InstrumentValueIcons/screen-full.svg</file>
|
||||
<file alias="forward.svg">../resources/InstrumentValueIcons/forward.svg</file>
|
||||
<file alias="pylon.svg">../resources/InstrumentValueIcons/pylon.svg</file>
|
||||
<file alias="align-right.svg">../resources/InstrumentValueIcons/align-right.svg</file>
|
||||
<file alias="border-outer.svg">../resources/InstrumentValueIcons/border-outer.svg</file>
|
||||
<file alias="arrow-thin-up.svg">../resources/InstrumentValueIcons/arrow-thin-up.svg</file>
|
||||
<file alias="printer.svg">../resources/InstrumentValueIcons/printer.svg</file>
|
||||
<file alias="wallet.svg">../resources/InstrumentValueIcons/wallet.svg</file>
|
||||
<file alias="arrow-outline-left.svg">../resources/InstrumentValueIcons/arrow-outline-left.svg</file>
|
||||
<file alias="credit-card.svg">../resources/InstrumentValueIcons/credit-card.svg</file>
|
||||
<file alias="repost.svg">../resources/InstrumentValueIcons/repost.svg</file>
|
||||
<file alias="notifications-outline.svg">../resources/InstrumentValueIcons/notifications-outline.svg</file>
|
||||
<file alias="bookmark-outline.svg">../resources/InstrumentValueIcons/bookmark-outline.svg</file>
|
||||
<file alias="radar copy 2.svg">../resources/InstrumentValueIcons/radar copy 2.svg</file>
|
||||
<file alias="share-alt.svg">../resources/InstrumentValueIcons/share-alt.svg</file>
|
||||
<file alias="link.svg">../resources/InstrumentValueIcons/link.svg</file>
|
||||
<file alias="attachment.svg">../resources/InstrumentValueIcons/attachment.svg</file>
|
||||
<file alias="chart.svg">../resources/InstrumentValueIcons/chart.svg</file>
|
||||
<file alias="shield.svg">../resources/InstrumentValueIcons/shield.svg</file>
|
||||
<file alias="block.svg">../resources/InstrumentValueIcons/block.svg</file>
|
||||
<file alias="indent-increase.svg">../resources/InstrumentValueIcons/indent-increase.svg</file>
|
||||
<file alias="arrow-base-up.svg">../resources/InstrumentValueIcons/arrow-base-up.svg</file>
|
||||
<file alias="minus-solid.svg">../resources/InstrumentValueIcons/minus-solid.svg</file>
|
||||
<file alias="folder-outline-add.svg">../resources/InstrumentValueIcons/folder-outline-add.svg</file>
|
||||
<file alias="location.svg">../resources/InstrumentValueIcons/location.svg</file>
|
||||
<file alias="mic.svg">../resources/InstrumentValueIcons/mic.svg</file>
|
||||
<file alias="education.svg">../resources/InstrumentValueIcons/education.svg</file>
|
||||
<file alias="announcement.svg">../resources/InstrumentValueIcons/announcement.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
@ -23,7 +23,6 @@ DEFINES += APP_VERSION_STR=\"\\\"$$CUSTOM_QGC_VERSION\\\"\"
|
|||
message(Custom QGC Version: $${CUSTOM_QGC_VERSION})
|
||||
|
||||
# Build a single flight stack by disabling APM support
|
||||
MAVLINK_CONF = common
|
||||
CONFIG += QGC_DISABLE_APM_MAVLINK
|
||||
CONFIG += QGC_DISABLE_APM_PLUGIN QGC_DISABLE_APM_PLUGIN_FACTORY
|
||||
|
0
custom-example/deploy/qgroundcontrol-start.sh → custom/deploy/qgroundcontrol-start.sh
Executable file → Normal file
|
@ -26,11 +26,15 @@
|
|||
<file alias="JoystickBezel.png">../resources/JoystickBezel.png</file>
|
||||
<file alias="JoystickBezelLight.png">../resources/JoystickBezelLight.png</file>
|
||||
<file alias="land.svg">../resources/land.svg</file>
|
||||
<file alias="layout-bottom.svg">../resources/layout-bottom.svg</file>
|
||||
<file alias="layout-right.svg">../resources/layout-right.svg</file>
|
||||
<file alias="LockClosed.svg">../resources/LockClosed.svg</file>
|
||||
<file alias="LockOpen.svg">../resources/LockOpen.svg</file>
|
||||
<file alias="notile.png">../resources/notile.png</file>
|
||||
<file alias="NoVideoBackground.jpg">../resources/NoVideoBackground.jpg</file>
|
||||
<file alias="Pause.svg">../resources/Pause.svg</file>
|
||||
<file alias="pause-mission.svg">../resources/pause-mission.svg</file>
|
||||
<file alias="pencil.svg">../resources/pencil.svg</file>
|
||||
<file alias="Play">../resources/Play.svg</file>
|
||||
<file alias="PowerButton">../resources/PowerButton.svg</file>
|
||||
<file alias="QGCLogoBlack">../resources/QGCLogoBlack.svg</file>
|
||||
|
@ -51,6 +55,9 @@
|
|||
<file alias="XDelete.svg">../resources/XDelete.svg</file>
|
||||
<file alias="XDeleteBlack.svg">../resources/XDeleteBlack.svg</file>
|
||||
<file alias="waypoint.svg">../resources/waypoint.svg</file>
|
||||
<file alias="Gripper.svg">../resources/Gripper.svg</file>
|
||||
<file alias="GripperRelease.svg">../resources/GripperRelease.svg</file>
|
||||
<file alias="GripperGrab.svg">../resources/GripperGrab.svg</file>
|
||||
<file>../resources/icons/qgroundcontrol.ico</file>
|
||||
</qresource>
|
||||
<qresource prefix="/res/firmware">
|
|
@ -14,9 +14,11 @@
|
|||
<file alias="ModeIndicator.qml">../src/ui/toolbar/ModeIndicator.qml</file>
|
||||
<file alias="MultiVehicleSelector.qml">../src/ui/toolbar/MultiVehicleSelector.qml</file>
|
||||
<file alias="RCRSSIIndicator.qml">../src/ui/toolbar/RCRSSIIndicator.qml</file>
|
||||
<file alias="RemoteIDIndicator.qml">../src/ui/toolbar/RemoteIDIndicator.qml</file>
|
||||
<file alias="ROIIndicator.qml">../src/ui/toolbar/ROIIndicator.qml</file>
|
||||
<file alias="TelemetryRSSIIndicator.qml">../src/ui/toolbar/TelemetryRSSIIndicator.qml</file>
|
||||
<file alias="VTOLModeIndicator.qml">../src/ui/toolbar/VTOLModeIndicator.qml</file>
|
||||
<file alias="APMSupportForwardingIndicator.qml">../src/ui/toolbar/APMSupportForwardingIndicator.qml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/checklists">
|
||||
<file alias="DefaultChecklist.qml">../src/FlightDisplay/DefaultChecklist.qml</file>
|
||||
|
@ -38,6 +40,7 @@
|
|||
<file alias="BluetoothSettings.qml">../src/ui/preferences/BluetoothSettings.qml</file>
|
||||
<file alias="CorridorScanEditor.qml">../src/PlanView/CorridorScanEditor.qml</file>
|
||||
<file alias="DebugWindow.qml">../src/ui/preferences/DebugWindow.qml</file>
|
||||
<file alias="RemoteIDSettings.qml">../src/ui/preferences/RemoteIDSettings.qml</file>
|
||||
<file alias="ESP8266Component.qml">../src/AutoPilotPlugins/Common/ESP8266Component.qml</file>
|
||||
<file alias="ESP8266ComponentSummary.qml">../src/AutoPilotPlugins/Common/ESP8266ComponentSummary.qml</file>
|
||||
<file alias="ExitWithErrorWindow.qml">../src/ui/ExitWithErrorWindow.qml</file>
|
||||
|
@ -66,6 +69,9 @@
|
|||
<file alias="MockLink.qml">../src/ui/preferences/MockLink.qml</file>
|
||||
<file alias="MockLinkSettings.qml">../src/ui/preferences/MockLinkSettings.qml</file>
|
||||
<file alias="MotorComponent.qml">../src/AutoPilotPlugins/Common/MotorComponent.qml</file>
|
||||
<file alias="ActuatorComponent.qml">../src/AutoPilotPlugins/PX4/ActuatorComponent.qml</file>
|
||||
<file alias="ActuatorFact.qml">../src/AutoPilotPlugins/PX4/ActuatorFact.qml</file>
|
||||
<file alias="ActuatorSlider.qml">../src/AutoPilotPlugins/PX4/ActuatorSlider.qml</file>
|
||||
<file alias="OfflineMap.qml">../src/QtLocationPlugin/QMLControl/OfflineMap.qml</file>
|
||||
<file alias="PlanToolBar.qml">../src/PlanView/PlanToolBar.qml</file>
|
||||
<file alias="PlanToolBarIndicators.qml">../src/PlanView/PlanToolBarIndicators.qml</file>
|
||||
|
@ -76,6 +82,7 @@
|
|||
<file alias="QGCInstrumentWidgetAlternate.qml">../src/FlightMap/Widgets/QGCInstrumentWidgetAlternate.qml</file>
|
||||
<file alias="QGroundControl/Controls/AnalyzePage.qml">../src/AnalyzeView/AnalyzePage.qml</file>
|
||||
<file alias="QGroundControl/Controls/AppMessages.qml">../src/QmlControls/AppMessages.qml</file>
|
||||
<file alias="QGroundControl/Controls/AltModeDialog.qml">../src/QmlControls/AltModeDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/AxisMonitor.qml">../src/QmlControls/AxisMonitor.qml</file>
|
||||
<file alias="QGroundControl/Controls/CameraCalcCamera.qml">../src/PlanView/CameraCalcCamera.qml</file>
|
||||
<file alias="QGroundControl/Controls/CameraCalcGrid.qml">../src/PlanView/CameraCalcGrid.qml</file>
|
||||
|
@ -104,6 +111,7 @@
|
|||
<file alias="QGroundControl/Controls/KMLOrSHPFileDialog.qml">../src/QmlControls/KMLOrSHPFileDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/LogReplayStatusBar.qml">../src/QmlControls/LogReplayStatusBar.qml</file>
|
||||
<file alias="QGroundControl/Controls/MainStatusIndicator.qml">../src/ui/toolbar/MainStatusIndicator.qml</file>
|
||||
<file alias="QGroundControl/Controls/FlightModeMenuIndicator.qml">../src/ui/toolbar/FlightModeMenuIndicator.qml</file>
|
||||
<file alias="QGroundControl/Controls/MainToolBar.qml">../src/ui/toolbar/MainToolBar.qml</file>
|
||||
<file alias="QGroundControl/Controls/MainWindowSavedState.qml">../src/QmlControls/MainWindowSavedState.qml</file>
|
||||
<file alias="QGroundControl/Controls/MAVLinkChart.qml">../src/QmlControls/MAVLinkChart.qml</file>
|
||||
|
@ -125,6 +133,7 @@
|
|||
<file alias="QGroundControl/Controls/PreFlightCheckGroup.qml">../src/QmlControls/PreFlightCheckGroup.qml</file>
|
||||
<file alias="QGroundControl/Controls/PreFlightCheckModel.qml">../src/QmlControls/PreFlightCheckModel.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCButton.qml">../src/QmlControls/QGCButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCColumnButton.qml">../src/QmlControls/QGCColumnButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/AutotuneUI.qml">../src/QmlControls/AutotuneUI.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCCheckBox.qml">../src/QmlControls/QGCCheckBox.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCColoredImage.qml">../src/QmlControls/QGCColoredImage.qml</file>
|
||||
|
@ -147,10 +156,10 @@
|
|||
<file alias="QGroundControl/Controls/QGCMouseArea.qml">../src/QmlControls/QGCMouseArea.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCMovableItem.qml">../src/QmlControls/QGCMovableItem.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCPopupDialog.qml">../src/QmlControls/QGCPopupDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCPopupDialogContainer.qml">../src/QmlControls/QGCPopupDialogContainer.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCPipOverlay.qml">../src/QmlControls/QGCPipOverlay.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCPipState.qml">../src/QmlControls/QGCPipState.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCRadioButton.qml">../src/QmlControls/QGCRadioButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCSimpleMessageDialog.qml">../src/QmlControls/QGCSimpleMessageDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCSlider.qml">../src/QmlControls/QGCSlider.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCSwitch.qml">../src/QmlControls/QGCSwitch.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCTabBar.qml">../src/QmlControls/QGCTabBar.qml</file>
|
||||
|
@ -158,9 +167,6 @@
|
|||
<file alias="QGroundControl/Controls/QGCTextField.qml">../src/QmlControls/QGCTextField.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCToolBarButton.qml">../src/QmlControls/QGCToolBarButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCToolInsets.qml">../src/QmlControls/QGCToolInsets.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCViewDialog.qml">../src/QmlControls/QGCViewDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCViewDialogContainer.qml">../src/QmlControls/QGCViewDialogContainer.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCViewMessage.qml">../src/QmlControls/QGCViewMessage.qml</file>
|
||||
<file alias="QGroundControl/Controls/qmldir">../src/QmlControls/QGroundControl/Controls/qmldir</file>
|
||||
<file alias="QGroundControl/Controls/RallyPointEditorHeader.qml">../src/PlanView/RallyPointEditorHeader.qml</file>
|
||||
<file alias="QGroundControl/Controls/RallyPointItemEditor.qml">../src/PlanView/RallyPointItemEditor.qml</file>
|
||||
|
@ -180,6 +186,7 @@
|
|||
<file alias="QGroundControl/Controls/TakeoffItemMapVisual.qml">../src/PlanView/TakeoffItemMapVisual.qml</file>
|
||||
<file alias="QGroundControl/Controls/ToolStrip.qml">../src/QmlControls/ToolStrip.qml</file>
|
||||
<file alias="QGroundControl/Controls/ToolStripHoverButton.qml">../src/QmlControls/ToolStripHoverButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/TransectStyleComplexItemEditor.qml">../src/PlanView/TransectStyleComplexItemEditor.qml</file>
|
||||
<file alias="QGroundControl/Controls/TransectStyleComplexItemStats.qml">../src/PlanView/TransectStyleComplexItemStats.qml</file>
|
||||
<file alias="QGroundControl/Controls/TransectStyleComplexItemTabBar.qml">../src/PlanView/TransectStyleComplexItemTabBar.qml</file>
|
||||
<file alias="QGroundControl/Controls/TransectStyleComplexItemTerrainFollow.qml">../src/PlanView/TransectStyleComplexItemTerrainFollow.qml</file>
|
||||
|
@ -199,7 +206,6 @@
|
|||
<file alias="QGroundControl/FactControls/qmldir">../src/QmlControls/QGroundControl/FactControls/qmldir</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlightDisplayViewVideo.qml">../src/FlightDisplay/FlightDisplayViewVideo.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlightDisplayViewWidgets.qml">../src/FlightDisplay/FlightDisplayViewWidgets.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyViewAirspaceIndicator.qml">../src/FlightDisplay/FlyViewAirspaceIndicator.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyView.qml">../src/FlightDisplay/FlyView.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyViewInstrumentPanel.qml">../src/FlightDisplay/FlyViewInstrumentPanel.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyViewMap.qml">../src/FlightDisplay/FlyViewMap.qml</file>
|
||||
|
@ -215,9 +221,11 @@
|
|||
<file alias="QGroundControl/FlightDisplay/GuidedActionLand.qml">../src/FlightDisplay/GuidedActionLand.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionList.qml">../src/FlightDisplay/GuidedActionList.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionTakeoff.qml">../src/FlightDisplay/GuidedActionTakeoff.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionGripper.qml">../src/FlightDisplay/GuidedActionGripper.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GripperMenu.qml">../src/FlightDisplay/GripperMenu.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionPause.qml">../src/FlightDisplay/GuidedActionPause.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionRTL.qml">../src/FlightDisplay/GuidedActionRTL.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedAltitudeSlider.qml">../src/FlightDisplay/GuidedAltitudeSlider.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedValueSlider.qml">../src/FlightDisplay/GuidedValueSlider.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedToolStripAction.qml">../src/FlightDisplay/GuidedToolStripAction.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/MultiVehicleList.qml">../src/FlightDisplay/MultiVehicleList.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/PreFlightBatteryCheck.qml">../src/FlightDisplay/PreFlightBatteryCheck.qml</file>
|
||||
|
@ -231,6 +239,9 @@
|
|||
<file alias="QGroundControl/FlightDisplay/TerrainProgress.qml">../src/FlightDisplay/TerrainProgress.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/TelemetryValuesBar.qml">../src/FlightDisplay/TelemetryValuesBar.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/VehicleWarnings.qml">../src/FlightDisplay/VehicleWarnings.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/ObstacleDistanceOverlay.qml">../src/FlightDisplay/ObstacleDistanceOverlay.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/ObstacleDistanceOverlayMap.qml">../src/FlightDisplay/ObstacleDistanceOverlayMap.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/ObstacleDistanceOverlayVideo.qml">../src/FlightDisplay/ObstacleDistanceOverlayVideo.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/qmldir">../src/QmlControls/QGroundControl/FlightDisplay/qmldir</file>
|
||||
<file alias="QGroundControl/FlightMap/CameraTriggerIndicator.qml">../src/FlightMap/MapItems/CameraTriggerIndicator.qml</file>
|
||||
<file alias="QGroundControl/FlightMap/CenterMapDropButton.qml">../src/FlightMap/Widgets/CenterMapDropButton.qml</file>
|
||||
|
@ -275,6 +286,8 @@
|
|||
<file alias="VibrationPage.qml">../src/AnalyzeView/VibrationPage.qml</file>
|
||||
<file alias="VirtualJoystick.qml">../src/FlightDisplay/VirtualJoystick.qml</file>
|
||||
<file alias="VTOLLandingPatternEditor.qml">../src/PlanView/VTOLLandingPatternEditor.qml</file>
|
||||
<file alias="QGroundControl/Controls/MockLinkOptionsDlg.qml">../src/comm/MockLinkOptionsDlg.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyViewInsetViewer.qml">../src/FlightDisplay/FlyViewInsetViewer.qml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/FirstRunPromptDialogs">
|
||||
<file alias="UnitsFirstRunPrompt.qml">../src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml</file>
|
||||
|
@ -291,6 +304,7 @@
|
|||
<file alias="CameraSection.FactMetaData.json">../src/MissionManager/CameraSection.FactMetaData.json</file>
|
||||
<file alias="CameraSpec.FactMetaData.json">../src/MissionManager/CameraSpec.FactMetaData.json</file>
|
||||
<file alias="CorridorScan.SettingsGroup.json">../src/MissionManager/CorridorScan.SettingsGroup.json</file>
|
||||
<file alias="RemoteID.SettingsGroup.json">../src/Settings/RemoteID.SettingsGroup.json</file>
|
||||
<file alias="EditPositionDialog.FactMetaData.json">../src/QmlControls/EditPositionDialog.FactMetaData.json</file>
|
||||
<file alias="FirmwareUpgrade.SettingsGroup.json">../src/Settings/FirmwareUpgrade.SettingsGroup.json</file>
|
||||
<file alias="FlightMap.SettingsGroup.json">../src/Settings/FlightMap.SettingsGroup.json</file>
|
||||
|
@ -323,13 +337,17 @@
|
|||
<file alias="Vehicle/GPSFact.json">../src/Vehicle/GPSFact.json</file>
|
||||
<file alias="Vehicle/GPSRTKFact.json">../src/Vehicle/GPSRTKFact.json</file>
|
||||
<file alias="Vehicle/SetpointFact.json">../src/Vehicle/SetpointFact.json</file>
|
||||
<file alias="Vehicle/LocalPositionFact.json">../src/Vehicle/LocalPositionFact.json</file>
|
||||
<file alias="Vehicle/LocalPositionSetpointFact.json">../src/Vehicle/LocalPositionFact.json</file>
|
||||
<file alias="Vehicle/SubmarineFact.json">../src/Vehicle/SubmarineFact.json</file>
|
||||
<file alias="Vehicle/TemperatureFact.json">../src/Vehicle/TemperatureFact.json</file>
|
||||
<file alias="Vehicle/TerrainFactGroup.json">../src/Vehicle/TerrainFactGroup.json</file>
|
||||
<file alias="Vehicle/VehicleFact.json">../src/Vehicle/VehicleFact.json</file>
|
||||
<file alias="Vehicle/VibrationFact.json">../src/Vehicle/VibrationFact.json</file>
|
||||
<file alias="Vehicle/WindFact.json">../src/Vehicle/WindFact.json</file>
|
||||
<file alias="Vehicle/HygrometerFact.json">../src/Vehicle/HygrometerFact.json</file>
|
||||
<file alias="Vehicle/HygrometerFact.json">../src/Vehicle/HygrometerFact.json</file>
|
||||
<file alias="Vehicle/GeneratorFact.json">../src/Vehicle/GeneratorFact.json</file>
|
||||
<file alias="Vehicle/EFIFact.json">../src/Vehicle/EFIFact.json</file>
|
||||
<file alias="Video.SettingsGroup.json">../src/Settings/Video.SettingsGroup.json</file>
|
||||
<file alias="VTOLLandingPattern.FactMetaData.json">../src/MissionManager/VTOLLandingPattern.FactMetaData.json</file>
|
||||
</qresource>
|
||||
|
@ -337,8 +355,9 @@
|
|||
<file alias="APMArduSubMockLink.params">../src/comm/APMArduSubMockLink.params</file>
|
||||
<file alias="PX4MockLink.params">../src/comm/PX4MockLink.params</file>
|
||||
<file alias="General.MetaData.json">../src/comm/MockLink.General.MetaData.json</file>
|
||||
<file alias="General.MetaData.json.xz">src/comm/MockLink.General.MetaData.json.xz</file>
|
||||
<file alias="General.MetaData.json.xz">../src/comm/MockLink.General.MetaData.json.xz</file>
|
||||
<file alias="Parameter.MetaData.json.xz">../src/comm/MockLink.Parameter.MetaData.json.xz</file>
|
||||
<file alias="Parameter.MetaData.json">../src/comm/MockLink.Parameter.MetaData.json</file>
|
||||
<file alias="Parameter.MetaData.json.xz">src/comm/MockLink.Parameter.MetaData.json.xz</file>
|
||||
<file alias="Arduplane.params.ftp.bin">../src/comm/Mocklink.Arduplane.params.ftp.bin</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -55,8 +55,38 @@ Item {
|
|||
|
||||
QGCToolInsets {
|
||||
id: _totalToolInsets
|
||||
topEdgeCenterInset: compassArrowIndicator.y + compassArrowIndicator.height
|
||||
leftEdgeTopInset: parentToolInsets.leftEdgeTopInset
|
||||
leftEdgeCenterInset: exampleRectangle.leftEdgeCenterInset
|
||||
leftEdgeBottomInset: parentToolInsets.leftEdgeBottomInset
|
||||
rightEdgeTopInset: parentToolInsets.rightEdgeTopInset
|
||||
rightEdgeCenterInset: parentToolInsets.rightEdgeCenterInset
|
||||
rightEdgeBottomInset: parent.width - compassBackground.x
|
||||
topEdgeLeftInset: parentToolInsets.topEdgeLeftInset
|
||||
topEdgeCenterInset: compassArrowIndicator.y + compassArrowIndicator.height
|
||||
topEdgeRightInset: parentToolInsets.topEdgeRightInset
|
||||
bottomEdgeLeftInset: parentToolInsets.bottomEdgeLeftInset
|
||||
bottomEdgeCenterInset: parentToolInsets.bottomEdgeCenterInset
|
||||
bottomEdgeRightInset: parent.height - attitudeIndicator.y
|
||||
}
|
||||
|
||||
// This is an example of how you can use parent tool insets to position an element on the custom fly view layer
|
||||
// - we use parent topEdgeLeftInset to position the widget below the toolstrip
|
||||
// - we use parent bottomEdgeLeftInset to dodge the virtual joystick if enabled
|
||||
// - we use the parent leftEdgeTopInset to size our element to the same width as the ToolStripAction
|
||||
// - we export the width of this element as the leftEdgeCenterInset so that the map will recenter if the vehicle flys behind this element
|
||||
Rectangle {
|
||||
id: exampleRectangle
|
||||
visible: false // to see this example, set this to true. To view insets, enable the insets viewer FlyView.qml
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.topMargin: parentToolInsets.topEdgeLeftInset + _toolsMargin
|
||||
anchors.bottomMargin: parentToolInsets.bottomEdgeLeftInset + _toolsMargin
|
||||
anchors.leftMargin: _toolsMargin
|
||||
width: parentToolInsets.leftEdgeTopInset - _toolsMargin
|
||||
color: 'red'
|
||||
|
||||
property real leftEdgeCenterInset: visible ? x + width : 0
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -209,7 +239,7 @@ Item {
|
|||
|
||||
Rectangle {
|
||||
id: attitudeIndicator
|
||||
anchors.bottomMargin: _toolsMargin
|
||||
anchors.bottomMargin: _toolsMargin + parentToolInsets.bottomEdgeRightInset
|
||||
anchors.rightMargin: _toolsMargin
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
|
||||
<g><g transform="translate(0.000000,511.000000) scale(0.100000,-0.100000)"><path d="M1411.9,2317.3c-26.8-28.7-32.6-92-36.4-365.9l-5.7-333.3l-84.3-24.9c-203.1-59.4-264.4-205-210.7-496.1c90-488.5,454-672.4,687.7-350.5c82.4,113,153.2,350.5,153.2,515.3V1394h773.9h772l47.9-109.2l47.9-109.2l-113-82.4c-295-216.5-521-542.1-630.2-906.1c-42.1-137.9-44.1-174.3-51.7-1021c-5.8-927.1-5.8-932.9,80.4-932.9c78.5,0,88.1,32.6,88.1,291.2v245.2h95.8h95.8v220.3v220.3h-97.7h-99.6l11.5,379.3c11.5,419.5,32.6,536.4,137.9,764.3C3183.8,591.3,3360,809.7,3565,961l70.9,51.7l34.5-72.8c21.1-40.2,57.5-82.4,84.3-95.8c69-34.5,2421.3-34.5,2490.2,0c26.8,13.4,63.2,55.6,84.3,95.8l34.5,72.8l70.9-51.7c203-151.3,381.2-369.7,488.5-605.3c109.2-237.5,128.3-348.6,139.8-766.2l11.5-379.3h-99.6H6877v-220.3v-220.3h95.8h95.8v-245.2c0-258.6,9.6-291.2,88.1-291.2c86.2,0,86.2,5.7,80.5,932.9c-7.6,846.7-9.6,883.1-51.7,1021c-111.1,367.8-335.2,687.7-636,909.9l-109.2,80.4l47.9,109.2l49.8,107.3H7308h772l7.7-166.7c23-415.7,243.3-699.2,494.2-632.1c84.3,23,149.4,72.8,214.5,168.6c116.8,174.3,185.8,542.1,124.5,662.8c-44.1,86.2-139.8,157.1-226,170.5l-74.7,13.4v339.1c0,304.6-3.8,342.9-34.5,369.7c-42.1,38.3-99.6,42.1-147.5,7.7c-30.6-24.9-34.5-57.5-32.6-364l1.9-339.1l-1093.8,3.8l-1095.7,5.7l-17.2,67c-30.7,116.9-21.1,114.9-461.7,114.9h-404.2l-46,67.1c-55.6,82.4-180.1,143.7-289.2,143.7c-109.2,0-241.4-65.1-293.1-145.6l-42.1-65.1h-404.2c-440.6,0-431,1.9-461.7-114.9l-17.2-67l-1095.7-5.7l-1095.7-3.8v344.8c0,319.9-1.9,344.8-36.4,364C1498.1,2361.3,1446.3,2355.6,1411.9,2317.3z"/><path d="M297,2102.7c-182-38.3-233.7-86.2-172.4-153.2c101.5-111.1,457.8-168.6,837.1-136c139.8,13.4,262.4,30.7,270.1,38.3c9.6,9.6,13.4,53.6,9.6,99.6c-5.7,80.4-7.7,84.3-72.8,90c-36.4,3.8-136,19.2-220.3,34.5C758.7,2110.4,400.4,2125.7,297,2102.7z"/><path d="M1925.2,2102.7c-82.4-9.6-162.8-23-176.2-26.8c-26.8-11.5-36.4-183.9-9.6-183.9c7.7,0,116.9-17.2,243.3-36.4c329.5-53.6,500-65.1,645.6-42.1c319.9,46,325.6,166.7,15.3,260.5C2517.1,2112.3,2143.6,2127.6,1925.2,2102.7z"/><path d="M7432.5,2093.1c-180.1-40.2-296.9-105.4-296.9-162.8c0-59.4,65.1-91.9,235.6-116.9c145.6-23,316.1-11.5,645.5,42.1c126.4,19.2,237.5,36.4,245.2,36.4c7.7,0,13.4,40.2,9.6,90c-5.7,90-7.6,91.9-82.4,105.4C8012.9,2118,7558.9,2121.9,7432.5,2093.1z"/><path d="M9281,2110.4c-30.6-3.8-134.1-21.1-229.9-36.4c-93.9-15.3-197.3-30.6-229.9-32.6c-55.6-5.7-57.5-9.6-63.2-105.4c-3.8-74.7,1.9-101.5,19.2-101.5c13.4,0,134.1-9.6,268.2-21.1c275.8-24.9,521-3.8,693.4,59.4c283.5,107.3,180.1,226-208.8,239.4C9424.7,2116.1,9313.6,2114.2,9281,2110.4z"/><path d="M4584,263.8c-34.5-19.2-74.7-61.3-90-91.9l-28.7-55.6l-386.9-1.9c-214.5-1.9-417.6-13.4-450.2-23c-82.4-26.8-191.6-151.3-216.5-243.3c-28.7-103.4-28.7-1626.3,0-1712.5c34.5-101.5,111.1-189.6,197.3-229.9c74.7-34.5,149.4-36.4,1390.7-36.4c1241.3,0,1316,1.9,1390.7,36.4c93.9,42.1,168.6,134.1,197.3,241.4c28.7,101.5,28.7,1599.5,0,1701c-24.9,90-120.7,203.1-205,237.5c-46,19.2-160.9,26.8-421.4,26.8c-197.3,0-377.4,3.8-398.4,9.6c-23,5.8-49.8,30.7-63.2,57.5c-11.5,24.9-47.9,63.2-82.4,84.3c-57.5,34.5-97.7,38.3-417.6,38.3C4681.7,302.1,4639.6,298.3,4584,263.8z M6246.7-232.4c65.1-67,70.9-130.3,15.3-201.1c-80.5-101.5-266.3-40.2-266.3,88.1C5995.8-190.2,6139.5-127,6246.7-232.4z M5329.2-280.2c327.5-157.1,519.1-515.3,457.8-852.4c-72.8-396.5-394.6-672.4-787.3-672.4c-390.8,0-724.1,283.5-791.1,676.2c-61.3,365.9,164.7,743.3,528.7,877.3C4890.5-194,5181.7-207.5,5329.2-280.2z"/><path d="M4831.2-538.8c-126.4-44.1-237.5-147.5-293.1-277.8c-76.6-180.1-24.9-425.3,120.7-561.3c170.5-159,461.6-164.7,660.9-13.4c160.9,122.6,224.1,383.1,139.8,578.5c-55.5,128.3-183.9,243.3-312.2,281.6C5022.7-494.8,4955.7-494.8,4831.2-538.8z"/></g></g>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
|
||||
<g><g transform="translate(0.000000,511.000000) scale(0.100000,-0.100000)"><path d="M1411.9,2317.3c-26.8-28.7-32.6-92-36.4-365.9l-5.7-333.3l-84.3-24.9c-203.1-59.4-264.4-205-210.7-496.1c90-488.5,454-672.4,687.7-350.5c82.4,113,153.2,350.5,153.2,515.3V1394h773.9h772l47.9-109.2l47.9-109.2l-113-82.4c-295-216.5-521-542.1-630.2-906.1c-42.1-137.9-44.1-174.3-51.7-1021c-5.8-927.1-5.8-932.9,80.4-932.9c78.5,0,88.1,32.6,88.1,291.2v245.2h95.8h95.8v220.3v220.3h-97.7h-99.6l11.5,379.3c11.5,419.5,32.6,536.4,137.9,764.3C3183.8,591.3,3360,809.7,3565,961l70.9,51.7l34.5-72.8c21.1-40.2,57.5-82.4,84.3-95.8c69-34.5,2421.3-34.5,2490.2,0c26.8,13.4,63.2,55.6,84.3,95.8l34.5,72.8l70.9-51.7c203-151.3,381.2-369.7,488.5-605.3c109.2-237.5,128.3-348.6,139.8-766.2l11.5-379.3h-99.6H6877v-220.3v-220.3h95.8h95.8v-245.2c0-258.6,9.6-291.2,88.1-291.2c86.2,0,86.2,5.7,80.5,932.9c-7.6,846.7-9.6,883.1-51.7,1021c-111.1,367.8-335.2,687.7-636,909.9l-109.2,80.4l47.9,109.2l49.8,107.3H7308h772l7.7-166.7c23-415.7,243.3-699.2,494.2-632.1c84.3,23,149.4,72.8,214.5,168.6c116.8,174.3,185.8,542.1,124.5,662.8c-44.1,86.2-139.8,157.1-226,170.5l-74.7,13.4v339.1c0,304.6-3.8,342.9-34.5,369.7c-42.1,38.3-99.6,42.1-147.5,7.7c-30.6-24.9-34.5-57.5-32.6-364l1.9-339.1l-1093.8,3.8l-1095.7,5.7l-17.2,67c-30.7,116.9-21.1,114.9-461.7,114.9h-404.2l-46,67.1c-55.6,82.4-180.1,143.7-289.2,143.7c-109.2,0-241.4-65.1-293.1-145.6l-42.1-65.1h-404.2c-440.6,0-431,1.9-461.7-114.9l-17.2-67l-1095.7-5.7l-1095.7-3.8v344.8c0,319.9-1.9,344.8-36.4,364C1498.1,2361.3,1446.3,2355.6,1411.9,2317.3z"/><path d="M297,2102.7c-182-38.3-233.7-86.2-172.4-153.2c101.5-111.1,457.8-168.6,837.1-136c139.8,13.4,262.4,30.7,270.1,38.3c9.6,9.6,13.4,53.6,9.6,99.6c-5.7,80.4-7.7,84.3-72.8,90c-36.4,3.8-136,19.2-220.3,34.5C758.7,2110.4,400.4,2125.7,297,2102.7z"/><path d="M1925.2,2102.7c-82.4-9.6-162.8-23-176.2-26.8c-26.8-11.5-36.4-183.9-9.6-183.9c7.7,0,116.9-17.2,243.3-36.4c329.5-53.6,500-65.1,645.6-42.1c319.9,46,325.6,166.7,15.3,260.5C2517.1,2112.3,2143.6,2127.6,1925.2,2102.7z"/><path d="M7432.5,2093.1c-180.1-40.2-296.9-105.4-296.9-162.8c0-59.4,65.1-91.9,235.6-116.9c145.6-23,316.1-11.5,645.5,42.1c126.4,19.2,237.5,36.4,245.2,36.4c7.7,0,13.4,40.2,9.6,90c-5.7,90-7.6,91.9-82.4,105.4C8012.9,2118,7558.9,2121.9,7432.5,2093.1z"/><path d="M9281,2110.4c-30.6-3.8-134.1-21.1-229.9-36.4c-93.9-15.3-197.3-30.6-229.9-32.6c-55.6-5.7-57.5-9.6-63.2-105.4c-3.8-74.7,1.9-101.5,19.2-101.5c13.4,0,134.1-9.6,268.2-21.1c275.8-24.9,521-3.8,693.4,59.4c283.5,107.3,180.1,226-208.8,239.4C9424.7,2116.1,9313.6,2114.2,9281,2110.4z"/><path d="M4584,263.8c-34.5-19.2-74.7-61.3-90-91.9l-28.7-55.6l-386.9-1.9c-214.5-1.9-417.6-13.4-450.2-23c-82.4-26.8-191.6-151.3-216.5-243.3c-28.7-103.4-28.7-1626.3,0-1712.5c34.5-101.5,111.1-189.6,197.3-229.9c74.7-34.5,149.4-36.4,1390.7-36.4c1241.3,0,1316,1.9,1390.7,36.4c93.9,42.1,168.6,134.1,197.3,241.4c28.7,101.5,28.7,1599.5,0,1701c-24.9,90-120.7,203.1-205,237.5c-46,19.2-160.9,26.8-421.4,26.8c-197.3,0-377.4,3.8-398.4,9.6c-23,5.8-49.8,30.7-63.2,57.5c-11.5,24.9-47.9,63.2-82.4,84.3c-57.5,34.5-97.7,38.3-417.6,38.3C4681.7,302.1,4639.6,298.3,4584,263.8z M6246.7-232.4c65.1-67,70.9-130.3,15.3-201.1c-80.5-101.5-266.3-40.2-266.3,88.1C5995.8-190.2,6139.5-127,6246.7-232.4z M5329.2-280.2c327.5-157.1,519.1-515.3,457.8-852.4c-72.8-396.5-394.6-672.4-787.3-672.4c-390.8,0-724.1,283.5-791.1,676.2c-61.3,365.9,164.7,743.3,528.7,877.3C4890.5-194,5181.7-207.5,5329.2-280.2z"/><path d="M4831.2-538.8c-126.4-44.1-237.5-147.5-293.1-277.8c-76.6-180.1-24.9-425.3,120.7-561.3c170.5-159,461.6-164.7,660.9-13.4c160.9,122.6,224.1,383.1,139.8,578.5c-55.5,128.3-183.9,243.3-312.2,281.6C5022.7-494.8,4955.7-494.8,4831.2-538.8z"/></g></g>
|
||||
</svg>
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 187 B After Width: | Height: | Size: 187 B |
Before Width: | Height: | Size: 775 B After Width: | Height: | Size: 775 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 510 B After Width: | Height: | Size: 510 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 660 B After Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 558 B After Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 915 B After Width: | Height: | Size: 915 B |
Before Width: | Height: | Size: 688 B After Width: | Height: | Size: 688 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 692 B After Width: | Height: | Size: 692 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
0
custom-example/updateinstrumentqrc.py → custom/updateinstrumentqrc.py
Executable file → Normal file
|
@ -18,7 +18,7 @@ ENV QT_DESKTOP $QT_PATH/${QT_VERSION}/gcc_64
|
|||
|
||||
ENV PATH /usr/lib/ccache:$QT_DESKTOP/bin:$PATH
|
||||
|
||||
RUN apt update && apt -y --quiet --no-install-recommends install \
|
||||
RUN apt-get update && apt-get -y --quiet --no-install-recommends install \
|
||||
apt-utils \
|
||||
binutils \
|
||||
build-essential \
|
||||
|
|
|
@ -10,9 +10,9 @@ QT_MODULES="${QT_MODULES:-qtcharts}"
|
|||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
apt update
|
||||
apt install python3 python3-pip -y
|
||||
apt-get update
|
||||
apt-get install python3 python3-pip -y
|
||||
pip3 install aqtinstall
|
||||
aqt install --outputdir ${QT_PATH} ${QT_VERSION} ${QT_HOST} ${QT_TARGET} -m ${QT_MODULES}
|
||||
aqt install-qt ${QT_HOST} ${QT_TARGET} ${QT_VERSION} -O ${QT_PATH} -m ${QT_MODULES}
|
||||
echo "Remember to export the following to your PATH: ${QT_PATH}/${QT_VERSION}/*/bin"
|
||||
echo "export PATH=$(readlink -e ${QT_PATH}/${QT_VERSION}/*/bin/):PATH"
|
|
@ -47,40 +47,47 @@ find "${SEARCHDIR}" \
|
|||
-executable \
|
||||
2>/dev/null |
|
||||
while IFS='' read -r library; do
|
||||
# Get the library's current RPATH (RUNPATH)
|
||||
# Example output of `readelf -d ./build/build-qgroundcontrol-Desktop_Qt_5_15_2_GCC_64bit-Debug/staging/QGroundControl`:
|
||||
# 0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/Qt/libs:/home/kbennett/storage/Qt/5.15.2/gcc_64/lib]
|
||||
#
|
||||
# It's possible there's no current rpath for a particular library, so turn
|
||||
# off pipefail to avoid grep causing it to die.
|
||||
# If you find a better way to do this, please fix.
|
||||
set +o pipefail
|
||||
current_rpath="$(
|
||||
# read the library, parsing its header
|
||||
# search for the RUNPATH field
|
||||
# filter out the human-readable text to leave only the RUNPATH value
|
||||
readelf -d "${library}" |
|
||||
grep -P '^ 0x[0-9a-f]+ +\(RUNPATH\) ' |
|
||||
sed -r 's/^ 0x[0-9a-f]+ +\(RUNPATH\) +Library runpath: \[(.*)\]$/\1/g'
|
||||
)"
|
||||
set -o pipefail
|
||||
|
||||
# Get the directory containing the library
|
||||
library_dir="$(dirname "${library}")"
|
||||
# readelf is expensive, so keep track of updates with a timestamp file
|
||||
if [ ! -e "$library.stamp" ] || [ "$library" -nt "$library.stamp" ]; then
|
||||
|
||||
# Get the relative path from the library's directory to the Qt/libs directory.
|
||||
our_rpath="$(realpath --relative-to "${library_dir}" "${RPATHDIR}")"
|
||||
# Get the library's current RPATH (RUNPATH)
|
||||
# Example output of `readelf -d ./build/build-qgroundcontrol-Desktop_Qt_5_15_2_GCC_64bit-Debug/staging/QGroundControl`:
|
||||
# 0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/Qt/libs:/home/kbennett/storage/Qt/5.15.2/gcc_64/lib]
|
||||
#
|
||||
# It's possible there's no current rpath for a particular library, so turn
|
||||
# off pipefail to avoid grep causing it to die.
|
||||
# If you find a better way to do this, please fix.
|
||||
set +o pipefail
|
||||
current_rpath="$(
|
||||
# read the library, parsing its header
|
||||
# search for the RUNPATH field
|
||||
# filter out the human-readable text to leave only the RUNPATH value
|
||||
readelf -d "${library}" |
|
||||
grep -P '^ 0x[0-9a-f]+ +\(RUNPATH\) ' |
|
||||
sed -r 's/^ 0x[0-9a-f]+ +\(RUNPATH\) +Library runpath: \[(.*)\]$/\1/g'
|
||||
)"
|
||||
set -o pipefail
|
||||
|
||||
# Calculate a new rpath with our library's rpath prefixed.
|
||||
# Note: '$ORIGIN' must not be expanded by the shell!
|
||||
# shellcheck disable=SC2016
|
||||
new_rpath='$ORIGIN/'"${our_rpath}"
|
||||
# Get the directory containing the library
|
||||
library_dir="$(dirname "${library}")"
|
||||
|
||||
# If the library already had an rpath, then prefix ours to it.
|
||||
if [ -n "${current_rpath}" ]; then
|
||||
new_rpath="${new_rpath}:${current_rpath}"
|
||||
# Get the relative path from the library's directory to the Qt/libs directory.
|
||||
our_rpath="$(realpath --relative-to "${library_dir}" "${RPATHDIR}")"
|
||||
|
||||
# Calculate a new rpath with our library's rpath prefixed.
|
||||
# Note: '$ORIGIN' must not be expanded by the shell!
|
||||
# shellcheck disable=SC2016
|
||||
new_rpath='$ORIGIN/'"${our_rpath}"
|
||||
|
||||
# If the library already had an rpath, then prefix ours to it.
|
||||
if [ -n "${current_rpath}" ]; then
|
||||
new_rpath="${new_rpath}:${current_rpath}"
|
||||
fi
|
||||
|
||||
# patch the library's rpath
|
||||
patchelf --set-rpath "${new_rpath}" "${library}"
|
||||
|
||||
touch "$library.stamp"
|
||||
fi
|
||||
|
||||
# patch the library's rpath
|
||||
patchelf --set-rpath "${new_rpath}" "${library}"
|
||||
done
|
||||
|
|
|
@ -1,61 +1,61 @@
|
|||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#pragma code_page(65001)
|
||||
|
||||
#include "resource.h"
|
||||
#include "winnt.h"
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Neutral (Default) (unknown sub-lang: 0x8) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ZZZ)
|
||||
LANGUAGE LANG_NEUTRAL, 0x8
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "./WindowsQGC.ico"
|
||||
|
||||
#endif // Neutral (Default) (unknown sub-lang: 0x8) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#pragma code_page(65001)
|
||||
|
||||
#include "resource.h"
|
||||
#include "winnt.h"
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Neutral (Default) (unknown sub-lang: 0x8) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ZZZ)
|
||||
LANGUAGE LANG_NEUTRAL, 0x8
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "./WindowsQGC.ico"
|
||||
|
||||
#endif // Neutral (Default) (unknown sub-lang: 0x8) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
|
|
|
@ -97,7 +97,7 @@ doInstall:
|
|||
; QGC stores its own driver version key to prevent installation if already up to date
|
||||
; This prevents running the driver install a second time which will start up in repair mode which is confusing
|
||||
!define QGCDRIVERVERSIONKEY "SOFTWARE\QGroundControlUAVDrivers"
|
||||
!define QGCCURRENTDRIVERVERSION 2
|
||||
!define QGCCURRENTDRIVERVERSION 3
|
||||
|
||||
; If the drivers are already installed the key "HKCU/SOFTWARE\MichaelOborne\driver\installed" will be present and set to 1
|
||||
SetRegView 64
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by QGroundControl.rc
|
||||
//
|
||||
#define IDI_ICON1 101
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by QGroundControl.rc
|
||||
//
|
||||
#define IDI_ICON1 101
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -142,15 +142,11 @@ FILE_PATTERNS = *.c \
|
|||
*.py \
|
||||
*.qml
|
||||
RECURSIVE = YES
|
||||
EXCLUDE = ../src/Airmap/QJsonWebToken \
|
||||
../src/PairingManager/NfcLibrary \
|
||||
EXCLUDE = ../src/PairingManager/NfcLibrary \
|
||||
../src/PairingManager/NfcTask \
|
||||
../src/PairingManager/TML \
|
||||
../src/GPS/Drivers \
|
||||
../src/GPS/RTCM \
|
||||
../src/Airmap/QJsonWebToken \
|
||||
../src/Airmap/README.md \
|
||||
../src/QtLocationPlugin/qtlocation/README.md \
|
||||
../src/VideoStreaming/README.md
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS = *Test.*
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Versions/Current/Headers
|
|
@ -0,0 +1 @@
|
|||
Versions/Current/Resources
|
|
@ -0,0 +1 @@
|
|||
Versions/Current/SDL2
|
|
@ -0,0 +1 @@
|
|||
A
|
|
@ -1,13 +1,17 @@
|
|||
find_package(Qt5 COMPONENTS Core REQUIRED)
|
||||
|
||||
add_library(libevents_generated)
|
||||
target_include_directories(libevents_generated INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/libevents/libs/cpp/generated)
|
||||
|
||||
add_library(libevents_parser
|
||||
definitions.cpp
|
||||
libevents/libs/cpp/parse/parser.cpp
|
||||
libevents/libs/cpp/protocol/receive.cpp
|
||||
)
|
||||
target_include_directories(libevents_parser PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_link_libraries(libevents_parser PUBLIC Qt5::Core)
|
||||
target_link_libraries(libevents_parser PUBLIC comm)
|
||||
find_package(Qt5 COMPONENTS Core REQUIRED)
|
||||
|
||||
add_library(libevents_generated)
|
||||
target_include_directories(libevents_generated INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/libevents/libs/cpp/generated)
|
||||
|
||||
add_library(libevents_parser
|
||||
definitions.cpp
|
||||
libevents/libs/cpp/parse/parser.cpp
|
||||
libevents/libs/cpp/protocol/receive.cpp
|
||||
)
|
||||
target_include_directories(libevents_parser PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_link_libraries(libevents_parser PUBLIC Qt5::Core)
|
||||
target_link_libraries(libevents_parser PUBLIC comm)
|
||||
|
||||
add_library(libevents_health_and_arming_checks
|
||||
libevents/libs/cpp/parse/health_and_arming_checks.cpp)
|
||||
target_link_libraries(libevents_health_and_arming_checks PRIVATE comm)
|
||||
|
|
|
@ -1,305 +1,305 @@
|
|||
// ISO C9x compliant inttypes.h for Microsoft Visual Studio
|
||||
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
||||
//
|
||||
// Copyright (c) 2006 Alexander Chemeris
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// 1. Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// 3. The name of the author may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _MSC_VER // [
|
||||
#error "Use this header only with Microsoft Visual C++ compilers!"
|
||||
#endif // _MSC_VER ]
|
||||
|
||||
#ifndef _MSC_INTTYPES_H_ // [
|
||||
#define _MSC_INTTYPES_H_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "stdint.h"
|
||||
|
||||
// 7.8 Format conversion of integer types
|
||||
|
||||
typedef struct {
|
||||
intmax_t quot;
|
||||
intmax_t rem;
|
||||
} imaxdiv_t;
|
||||
|
||||
// 7.8.1 Macros for format specifiers
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198
|
||||
|
||||
// The fprintf macros for signed integers are:
|
||||
#define PRId8 "d"
|
||||
#define PRIi8 "i"
|
||||
#define PRIdLEAST8 "d"
|
||||
#define PRIiLEAST8 "i"
|
||||
#define PRIdFAST8 "d"
|
||||
#define PRIiFAST8 "i"
|
||||
|
||||
#define PRId16 "hd"
|
||||
#define PRIi16 "hi"
|
||||
#define PRIdLEAST16 "hd"
|
||||
#define PRIiLEAST16 "hi"
|
||||
#define PRIdFAST16 "hd"
|
||||
#define PRIiFAST16 "hi"
|
||||
|
||||
#define PRId32 "I32d"
|
||||
#define PRIi32 "I32i"
|
||||
#define PRIdLEAST32 "I32d"
|
||||
#define PRIiLEAST32 "I32i"
|
||||
#define PRIdFAST32 "I32d"
|
||||
#define PRIiFAST32 "I32i"
|
||||
|
||||
#define PRId64 "I64d"
|
||||
#define PRIi64 "I64i"
|
||||
#define PRIdLEAST64 "I64d"
|
||||
#define PRIiLEAST64 "I64i"
|
||||
#define PRIdFAST64 "I64d"
|
||||
#define PRIiFAST64 "I64i"
|
||||
|
||||
#define PRIdMAX "I64d"
|
||||
#define PRIiMAX "I64i"
|
||||
|
||||
#define PRIdPTR "Id"
|
||||
#define PRIiPTR "Ii"
|
||||
|
||||
// The fprintf macros for unsigned integers are:
|
||||
#define PRIo8 "o"
|
||||
#define PRIu8 "u"
|
||||
#define PRIx8 "x"
|
||||
#define PRIX8 "X"
|
||||
#define PRIoLEAST8 "o"
|
||||
#define PRIuLEAST8 "u"
|
||||
#define PRIxLEAST8 "x"
|
||||
#define PRIXLEAST8 "X"
|
||||
#define PRIoFAST8 "o"
|
||||
#define PRIuFAST8 "u"
|
||||
#define PRIxFAST8 "x"
|
||||
#define PRIXFAST8 "X"
|
||||
|
||||
#define PRIo16 "ho"
|
||||
#define PRIu16 "hu"
|
||||
#define PRIx16 "hx"
|
||||
#define PRIX16 "hX"
|
||||
#define PRIoLEAST16 "ho"
|
||||
#define PRIuLEAST16 "hu"
|
||||
#define PRIxLEAST16 "hx"
|
||||
#define PRIXLEAST16 "hX"
|
||||
#define PRIoFAST16 "ho"
|
||||
#define PRIuFAST16 "hu"
|
||||
#define PRIxFAST16 "hx"
|
||||
#define PRIXFAST16 "hX"
|
||||
|
||||
#define PRIo32 "I32o"
|
||||
#define PRIu32 "I32u"
|
||||
#define PRIx32 "I32x"
|
||||
#define PRIX32 "I32X"
|
||||
#define PRIoLEAST32 "I32o"
|
||||
#define PRIuLEAST32 "I32u"
|
||||
#define PRIxLEAST32 "I32x"
|
||||
#define PRIXLEAST32 "I32X"
|
||||
#define PRIoFAST32 "I32o"
|
||||
#define PRIuFAST32 "I32u"
|
||||
#define PRIxFAST32 "I32x"
|
||||
#define PRIXFAST32 "I32X"
|
||||
|
||||
#define PRIo64 "I64o"
|
||||
#define PRIu64 "I64u"
|
||||
#define PRIx64 "I64x"
|
||||
#define PRIX64 "I64X"
|
||||
#define PRIoLEAST64 "I64o"
|
||||
#define PRIuLEAST64 "I64u"
|
||||
#define PRIxLEAST64 "I64x"
|
||||
#define PRIXLEAST64 "I64X"
|
||||
#define PRIoFAST64 "I64o"
|
||||
#define PRIuFAST64 "I64u"
|
||||
#define PRIxFAST64 "I64x"
|
||||
#define PRIXFAST64 "I64X"
|
||||
|
||||
#define PRIoMAX "I64o"
|
||||
#define PRIuMAX "I64u"
|
||||
#define PRIxMAX "I64x"
|
||||
#define PRIXMAX "I64X"
|
||||
|
||||
#define PRIoPTR "Io"
|
||||
#define PRIuPTR "Iu"
|
||||
#define PRIxPTR "Ix"
|
||||
#define PRIXPTR "IX"
|
||||
|
||||
// The fscanf macros for signed integers are:
|
||||
#define SCNd8 "d"
|
||||
#define SCNi8 "i"
|
||||
#define SCNdLEAST8 "d"
|
||||
#define SCNiLEAST8 "i"
|
||||
#define SCNdFAST8 "d"
|
||||
#define SCNiFAST8 "i"
|
||||
|
||||
#define SCNd16 "hd"
|
||||
#define SCNi16 "hi"
|
||||
#define SCNdLEAST16 "hd"
|
||||
#define SCNiLEAST16 "hi"
|
||||
#define SCNdFAST16 "hd"
|
||||
#define SCNiFAST16 "hi"
|
||||
|
||||
#define SCNd32 "ld"
|
||||
#define SCNi32 "li"
|
||||
#define SCNdLEAST32 "ld"
|
||||
#define SCNiLEAST32 "li"
|
||||
#define SCNdFAST32 "ld"
|
||||
#define SCNiFAST32 "li"
|
||||
|
||||
#define SCNd64 "I64d"
|
||||
#define SCNi64 "I64i"
|
||||
#define SCNdLEAST64 "I64d"
|
||||
#define SCNiLEAST64 "I64i"
|
||||
#define SCNdFAST64 "I64d"
|
||||
#define SCNiFAST64 "I64i"
|
||||
|
||||
#define SCNdMAX "I64d"
|
||||
#define SCNiMAX "I64i"
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define SCNdPTR "I64d"
|
||||
# define SCNiPTR "I64i"
|
||||
#else // _WIN64 ][
|
||||
# define SCNdPTR "ld"
|
||||
# define SCNiPTR "li"
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// The fscanf macros for unsigned integers are:
|
||||
#define SCNo8 "o"
|
||||
#define SCNu8 "u"
|
||||
#define SCNx8 "x"
|
||||
#define SCNX8 "X"
|
||||
#define SCNoLEAST8 "o"
|
||||
#define SCNuLEAST8 "u"
|
||||
#define SCNxLEAST8 "x"
|
||||
#define SCNXLEAST8 "X"
|
||||
#define SCNoFAST8 "o"
|
||||
#define SCNuFAST8 "u"
|
||||
#define SCNxFAST8 "x"
|
||||
#define SCNXFAST8 "X"
|
||||
|
||||
#define SCNo16 "ho"
|
||||
#define SCNu16 "hu"
|
||||
#define SCNx16 "hx"
|
||||
#define SCNX16 "hX"
|
||||
#define SCNoLEAST16 "ho"
|
||||
#define SCNuLEAST16 "hu"
|
||||
#define SCNxLEAST16 "hx"
|
||||
#define SCNXLEAST16 "hX"
|
||||
#define SCNoFAST16 "ho"
|
||||
#define SCNuFAST16 "hu"
|
||||
#define SCNxFAST16 "hx"
|
||||
#define SCNXFAST16 "hX"
|
||||
|
||||
#define SCNo32 "lo"
|
||||
#define SCNu32 "lu"
|
||||
#define SCNx32 "lx"
|
||||
#define SCNX32 "lX"
|
||||
#define SCNoLEAST32 "lo"
|
||||
#define SCNuLEAST32 "lu"
|
||||
#define SCNxLEAST32 "lx"
|
||||
#define SCNXLEAST32 "lX"
|
||||
#define SCNoFAST32 "lo"
|
||||
#define SCNuFAST32 "lu"
|
||||
#define SCNxFAST32 "lx"
|
||||
#define SCNXFAST32 "lX"
|
||||
|
||||
#define SCNo64 "I64o"
|
||||
#define SCNu64 "I64u"
|
||||
#define SCNx64 "I64x"
|
||||
#define SCNX64 "I64X"
|
||||
#define SCNoLEAST64 "I64o"
|
||||
#define SCNuLEAST64 "I64u"
|
||||
#define SCNxLEAST64 "I64x"
|
||||
#define SCNXLEAST64 "I64X"
|
||||
#define SCNoFAST64 "I64o"
|
||||
#define SCNuFAST64 "I64u"
|
||||
#define SCNxFAST64 "I64x"
|
||||
#define SCNXFAST64 "I64X"
|
||||
|
||||
#define SCNoMAX "I64o"
|
||||
#define SCNuMAX "I64u"
|
||||
#define SCNxMAX "I64x"
|
||||
#define SCNXMAX "I64X"
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define SCNoPTR "I64o"
|
||||
# define SCNuPTR "I64u"
|
||||
# define SCNxPTR "I64x"
|
||||
# define SCNXPTR "I64X"
|
||||
#else // _WIN64 ][
|
||||
# define SCNoPTR "lo"
|
||||
# define SCNuPTR "lu"
|
||||
# define SCNxPTR "lx"
|
||||
# define SCNXPTR "lX"
|
||||
#endif // _WIN64 ]
|
||||
|
||||
#endif // __STDC_FORMAT_MACROS ]
|
||||
|
||||
// 7.8.2 Functions for greatest-width integer types
|
||||
|
||||
// 7.8.2.1 The imaxabs function
|
||||
#define imaxabs _abs64
|
||||
|
||||
// 7.8.2.2 The imaxdiv function
|
||||
|
||||
// This is modified version of div() function from Microsoft's div.c found
|
||||
// in %MSVC.NET%\crt\src\div.c
|
||||
#ifdef STATIC_IMAXDIV // [
|
||||
static
|
||||
#else // STATIC_IMAXDIV ][
|
||||
_inline
|
||||
#endif // STATIC_IMAXDIV ]
|
||||
imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
|
||||
{
|
||||
imaxdiv_t result;
|
||||
|
||||
result.quot = numer / denom;
|
||||
result.rem = numer % denom;
|
||||
|
||||
if (numer < 0 && result.rem > 0) {
|
||||
// did division wrong; must fix up
|
||||
++result.quot;
|
||||
result.rem -= denom;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// 7.8.2.3 The strtoimax and strtoumax functions
|
||||
#define strtoimax _strtoi64
|
||||
#define strtoumax _strtoui64
|
||||
|
||||
// 7.8.2.4 The wcstoimax and wcstoumax functions
|
||||
#define wcstoimax _wcstoi64
|
||||
#define wcstoumax _wcstoui64
|
||||
|
||||
|
||||
#endif // _MSC_INTTYPES_H_ ]
|
||||
// ISO C9x compliant inttypes.h for Microsoft Visual Studio
|
||||
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
||||
//
|
||||
// Copyright (c) 2006 Alexander Chemeris
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// 1. Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// 3. The name of the author may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _MSC_VER // [
|
||||
#error "Use this header only with Microsoft Visual C++ compilers!"
|
||||
#endif // _MSC_VER ]
|
||||
|
||||
#ifndef _MSC_INTTYPES_H_ // [
|
||||
#define _MSC_INTTYPES_H_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "stdint.h"
|
||||
|
||||
// 7.8 Format conversion of integer types
|
||||
|
||||
typedef struct {
|
||||
intmax_t quot;
|
||||
intmax_t rem;
|
||||
} imaxdiv_t;
|
||||
|
||||
// 7.8.1 Macros for format specifiers
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198
|
||||
|
||||
// The fprintf macros for signed integers are:
|
||||
#define PRId8 "d"
|
||||
#define PRIi8 "i"
|
||||
#define PRIdLEAST8 "d"
|
||||
#define PRIiLEAST8 "i"
|
||||
#define PRIdFAST8 "d"
|
||||
#define PRIiFAST8 "i"
|
||||
|
||||
#define PRId16 "hd"
|
||||
#define PRIi16 "hi"
|
||||
#define PRIdLEAST16 "hd"
|
||||
#define PRIiLEAST16 "hi"
|
||||
#define PRIdFAST16 "hd"
|
||||
#define PRIiFAST16 "hi"
|
||||
|
||||
#define PRId32 "I32d"
|
||||
#define PRIi32 "I32i"
|
||||
#define PRIdLEAST32 "I32d"
|
||||
#define PRIiLEAST32 "I32i"
|
||||
#define PRIdFAST32 "I32d"
|
||||
#define PRIiFAST32 "I32i"
|
||||
|
||||
#define PRId64 "I64d"
|
||||
#define PRIi64 "I64i"
|
||||
#define PRIdLEAST64 "I64d"
|
||||
#define PRIiLEAST64 "I64i"
|
||||
#define PRIdFAST64 "I64d"
|
||||
#define PRIiFAST64 "I64i"
|
||||
|
||||
#define PRIdMAX "I64d"
|
||||
#define PRIiMAX "I64i"
|
||||
|
||||
#define PRIdPTR "Id"
|
||||
#define PRIiPTR "Ii"
|
||||
|
||||
// The fprintf macros for unsigned integers are:
|
||||
#define PRIo8 "o"
|
||||
#define PRIu8 "u"
|
||||
#define PRIx8 "x"
|
||||
#define PRIX8 "X"
|
||||
#define PRIoLEAST8 "o"
|
||||
#define PRIuLEAST8 "u"
|
||||
#define PRIxLEAST8 "x"
|
||||
#define PRIXLEAST8 "X"
|
||||
#define PRIoFAST8 "o"
|
||||
#define PRIuFAST8 "u"
|
||||
#define PRIxFAST8 "x"
|
||||
#define PRIXFAST8 "X"
|
||||
|
||||
#define PRIo16 "ho"
|
||||
#define PRIu16 "hu"
|
||||
#define PRIx16 "hx"
|
||||
#define PRIX16 "hX"
|
||||
#define PRIoLEAST16 "ho"
|
||||
#define PRIuLEAST16 "hu"
|
||||
#define PRIxLEAST16 "hx"
|
||||
#define PRIXLEAST16 "hX"
|
||||
#define PRIoFAST16 "ho"
|
||||
#define PRIuFAST16 "hu"
|
||||
#define PRIxFAST16 "hx"
|
||||
#define PRIXFAST16 "hX"
|
||||
|
||||
#define PRIo32 "I32o"
|
||||
#define PRIu32 "I32u"
|
||||
#define PRIx32 "I32x"
|
||||
#define PRIX32 "I32X"
|
||||
#define PRIoLEAST32 "I32o"
|
||||
#define PRIuLEAST32 "I32u"
|
||||
#define PRIxLEAST32 "I32x"
|
||||
#define PRIXLEAST32 "I32X"
|
||||
#define PRIoFAST32 "I32o"
|
||||
#define PRIuFAST32 "I32u"
|
||||
#define PRIxFAST32 "I32x"
|
||||
#define PRIXFAST32 "I32X"
|
||||
|
||||
#define PRIo64 "I64o"
|
||||
#define PRIu64 "I64u"
|
||||
#define PRIx64 "I64x"
|
||||
#define PRIX64 "I64X"
|
||||
#define PRIoLEAST64 "I64o"
|
||||
#define PRIuLEAST64 "I64u"
|
||||
#define PRIxLEAST64 "I64x"
|
||||
#define PRIXLEAST64 "I64X"
|
||||
#define PRIoFAST64 "I64o"
|
||||
#define PRIuFAST64 "I64u"
|
||||
#define PRIxFAST64 "I64x"
|
||||
#define PRIXFAST64 "I64X"
|
||||
|
||||
#define PRIoMAX "I64o"
|
||||
#define PRIuMAX "I64u"
|
||||
#define PRIxMAX "I64x"
|
||||
#define PRIXMAX "I64X"
|
||||
|
||||
#define PRIoPTR "Io"
|
||||
#define PRIuPTR "Iu"
|
||||
#define PRIxPTR "Ix"
|
||||
#define PRIXPTR "IX"
|
||||
|
||||
// The fscanf macros for signed integers are:
|
||||
#define SCNd8 "d"
|
||||
#define SCNi8 "i"
|
||||
#define SCNdLEAST8 "d"
|
||||
#define SCNiLEAST8 "i"
|
||||
#define SCNdFAST8 "d"
|
||||
#define SCNiFAST8 "i"
|
||||
|
||||
#define SCNd16 "hd"
|
||||
#define SCNi16 "hi"
|
||||
#define SCNdLEAST16 "hd"
|
||||
#define SCNiLEAST16 "hi"
|
||||
#define SCNdFAST16 "hd"
|
||||
#define SCNiFAST16 "hi"
|
||||
|
||||
#define SCNd32 "ld"
|
||||
#define SCNi32 "li"
|
||||
#define SCNdLEAST32 "ld"
|
||||
#define SCNiLEAST32 "li"
|
||||
#define SCNdFAST32 "ld"
|
||||
#define SCNiFAST32 "li"
|
||||
|
||||
#define SCNd64 "I64d"
|
||||
#define SCNi64 "I64i"
|
||||
#define SCNdLEAST64 "I64d"
|
||||
#define SCNiLEAST64 "I64i"
|
||||
#define SCNdFAST64 "I64d"
|
||||
#define SCNiFAST64 "I64i"
|
||||
|
||||
#define SCNdMAX "I64d"
|
||||
#define SCNiMAX "I64i"
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define SCNdPTR "I64d"
|
||||
# define SCNiPTR "I64i"
|
||||
#else // _WIN64 ][
|
||||
# define SCNdPTR "ld"
|
||||
# define SCNiPTR "li"
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// The fscanf macros for unsigned integers are:
|
||||
#define SCNo8 "o"
|
||||
#define SCNu8 "u"
|
||||
#define SCNx8 "x"
|
||||
#define SCNX8 "X"
|
||||
#define SCNoLEAST8 "o"
|
||||
#define SCNuLEAST8 "u"
|
||||
#define SCNxLEAST8 "x"
|
||||
#define SCNXLEAST8 "X"
|
||||
#define SCNoFAST8 "o"
|
||||
#define SCNuFAST8 "u"
|
||||
#define SCNxFAST8 "x"
|
||||
#define SCNXFAST8 "X"
|
||||
|
||||
#define SCNo16 "ho"
|
||||
#define SCNu16 "hu"
|
||||
#define SCNx16 "hx"
|
||||
#define SCNX16 "hX"
|
||||
#define SCNoLEAST16 "ho"
|
||||
#define SCNuLEAST16 "hu"
|
||||
#define SCNxLEAST16 "hx"
|
||||
#define SCNXLEAST16 "hX"
|
||||
#define SCNoFAST16 "ho"
|
||||
#define SCNuFAST16 "hu"
|
||||
#define SCNxFAST16 "hx"
|
||||
#define SCNXFAST16 "hX"
|
||||
|
||||
#define SCNo32 "lo"
|
||||
#define SCNu32 "lu"
|
||||
#define SCNx32 "lx"
|
||||
#define SCNX32 "lX"
|
||||
#define SCNoLEAST32 "lo"
|
||||
#define SCNuLEAST32 "lu"
|
||||
#define SCNxLEAST32 "lx"
|
||||
#define SCNXLEAST32 "lX"
|
||||
#define SCNoFAST32 "lo"
|
||||
#define SCNuFAST32 "lu"
|
||||
#define SCNxFAST32 "lx"
|
||||
#define SCNXFAST32 "lX"
|
||||
|
||||
#define SCNo64 "I64o"
|
||||
#define SCNu64 "I64u"
|
||||
#define SCNx64 "I64x"
|
||||
#define SCNX64 "I64X"
|
||||
#define SCNoLEAST64 "I64o"
|
||||
#define SCNuLEAST64 "I64u"
|
||||
#define SCNxLEAST64 "I64x"
|
||||
#define SCNXLEAST64 "I64X"
|
||||
#define SCNoFAST64 "I64o"
|
||||
#define SCNuFAST64 "I64u"
|
||||
#define SCNxFAST64 "I64x"
|
||||
#define SCNXFAST64 "I64X"
|
||||
|
||||
#define SCNoMAX "I64o"
|
||||
#define SCNuMAX "I64u"
|
||||
#define SCNxMAX "I64x"
|
||||
#define SCNXMAX "I64X"
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define SCNoPTR "I64o"
|
||||
# define SCNuPTR "I64u"
|
||||
# define SCNxPTR "I64x"
|
||||
# define SCNXPTR "I64X"
|
||||
#else // _WIN64 ][
|
||||
# define SCNoPTR "lo"
|
||||
# define SCNuPTR "lu"
|
||||
# define SCNxPTR "lx"
|
||||
# define SCNXPTR "lX"
|
||||
#endif // _WIN64 ]
|
||||
|
||||
#endif // __STDC_FORMAT_MACROS ]
|
||||
|
||||
// 7.8.2 Functions for greatest-width integer types
|
||||
|
||||
// 7.8.2.1 The imaxabs function
|
||||
#define imaxabs _abs64
|
||||
|
||||
// 7.8.2.2 The imaxdiv function
|
||||
|
||||
// This is modified version of div() function from Microsoft's div.c found
|
||||
// in %MSVC.NET%\crt\src\div.c
|
||||
#ifdef STATIC_IMAXDIV // [
|
||||
static
|
||||
#else // STATIC_IMAXDIV ][
|
||||
_inline
|
||||
#endif // STATIC_IMAXDIV ]
|
||||
imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
|
||||
{
|
||||
imaxdiv_t result;
|
||||
|
||||
result.quot = numer / denom;
|
||||
result.rem = numer % denom;
|
||||
|
||||
if (numer < 0 && result.rem > 0) {
|
||||
// did division wrong; must fix up
|
||||
++result.quot;
|
||||
result.rem -= denom;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// 7.8.2.3 The strtoimax and strtoumax functions
|
||||
#define strtoimax _strtoi64
|
||||
#define strtoumax _strtoui64
|
||||
|
||||
// 7.8.2.4 The wcstoimax and wcstoumax functions
|
||||
#define wcstoimax _wcstoi64
|
||||
#define wcstoumax _wcstoui64
|
||||
|
||||
|
||||
#endif // _MSC_INTTYPES_H_ ]
|
||||
|
|
|
@ -1,247 +1,247 @@
|
|||
// ISO C9x compliant stdint.h for Microsoft Visual Studio
|
||||
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
||||
//
|
||||
// Copyright (c) 2006-2008 Alexander Chemeris
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// 1. Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// 3. The name of the author may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _MSC_VER // [
|
||||
#error "Use this header only with Microsoft Visual C++ compilers!"
|
||||
#endif // _MSC_VER ]
|
||||
|
||||
#ifndef _MSC_STDINT_H_ // [
|
||||
#define _MSC_STDINT_H_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
// For Visual Studio 6 in C++ mode and for many Visual Studio versions when
|
||||
// compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
|
||||
// or compiler give many errors like this:
|
||||
// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
# include <wchar.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
// Define _W64 macros to mark types changing their size, like intptr_t.
|
||||
#ifndef _W64
|
||||
# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
|
||||
# define _W64 __w64
|
||||
# else
|
||||
# define _W64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
// 7.18.1 Integer types
|
||||
|
||||
// 7.18.1.1 Exact-width integer types
|
||||
|
||||
// Visual Studio 6 and Embedded Visual C++ 4 doesn't
|
||||
// realize that, e.g. char has the same size as __int8
|
||||
// so we give up on __intX for them.
|
||||
#if (_MSC_VER < 1300)
|
||||
typedef signed char int8_t;
|
||||
typedef signed short int16_t;
|
||||
typedef signed int int32_t;
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
#else
|
||||
typedef signed __int8 int8_t;
|
||||
typedef signed __int16 int16_t;
|
||||
typedef signed __int32 int32_t;
|
||||
typedef unsigned __int8 uint8_t;
|
||||
typedef unsigned __int16 uint16_t;
|
||||
typedef unsigned __int32 uint32_t;
|
||||
#endif
|
||||
typedef signed __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
|
||||
|
||||
// 7.18.1.2 Minimum-width integer types
|
||||
typedef int8_t int_least8_t;
|
||||
typedef int16_t int_least16_t;
|
||||
typedef int32_t int_least32_t;
|
||||
typedef int64_t int_least64_t;
|
||||
typedef uint8_t uint_least8_t;
|
||||
typedef uint16_t uint_least16_t;
|
||||
typedef uint32_t uint_least32_t;
|
||||
typedef uint64_t uint_least64_t;
|
||||
|
||||
// 7.18.1.3 Fastest minimum-width integer types
|
||||
typedef int8_t int_fast8_t;
|
||||
typedef int16_t int_fast16_t;
|
||||
typedef int32_t int_fast32_t;
|
||||
typedef int64_t int_fast64_t;
|
||||
typedef uint8_t uint_fast8_t;
|
||||
typedef uint16_t uint_fast16_t;
|
||||
typedef uint32_t uint_fast32_t;
|
||||
typedef uint64_t uint_fast64_t;
|
||||
|
||||
// 7.18.1.4 Integer types capable of holding object pointers
|
||||
#ifdef _WIN64 // [
|
||||
typedef signed __int64 intptr_t;
|
||||
typedef unsigned __int64 uintptr_t;
|
||||
#else // _WIN64 ][
|
||||
typedef _W64 signed int intptr_t;
|
||||
typedef _W64 unsigned int uintptr_t;
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// 7.18.1.5 Greatest-width integer types
|
||||
typedef int64_t intmax_t;
|
||||
typedef uint64_t uintmax_t;
|
||||
|
||||
|
||||
// 7.18.2 Limits of specified-width integer types
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259
|
||||
|
||||
// 7.18.2.1 Limits of exact-width integer types
|
||||
#define INT8_MIN ((int8_t)_I8_MIN)
|
||||
#define INT8_MAX _I8_MAX
|
||||
#define INT16_MIN ((int16_t)_I16_MIN)
|
||||
#define INT16_MAX _I16_MAX
|
||||
#define INT32_MIN ((int32_t)_I32_MIN)
|
||||
#define INT32_MAX _I32_MAX
|
||||
#define INT64_MIN ((int64_t)_I64_MIN)
|
||||
#define INT64_MAX _I64_MAX
|
||||
#define UINT8_MAX _UI8_MAX
|
||||
#define UINT16_MAX _UI16_MAX
|
||||
#define UINT32_MAX _UI32_MAX
|
||||
#define UINT64_MAX _UI64_MAX
|
||||
|
||||
// 7.18.2.2 Limits of minimum-width integer types
|
||||
#define INT_LEAST8_MIN INT8_MIN
|
||||
#define INT_LEAST8_MAX INT8_MAX
|
||||
#define INT_LEAST16_MIN INT16_MIN
|
||||
#define INT_LEAST16_MAX INT16_MAX
|
||||
#define INT_LEAST32_MIN INT32_MIN
|
||||
#define INT_LEAST32_MAX INT32_MAX
|
||||
#define INT_LEAST64_MIN INT64_MIN
|
||||
#define INT_LEAST64_MAX INT64_MAX
|
||||
#define UINT_LEAST8_MAX UINT8_MAX
|
||||
#define UINT_LEAST16_MAX UINT16_MAX
|
||||
#define UINT_LEAST32_MAX UINT32_MAX
|
||||
#define UINT_LEAST64_MAX UINT64_MAX
|
||||
|
||||
// 7.18.2.3 Limits of fastest minimum-width integer types
|
||||
#define INT_FAST8_MIN INT8_MIN
|
||||
#define INT_FAST8_MAX INT8_MAX
|
||||
#define INT_FAST16_MIN INT16_MIN
|
||||
#define INT_FAST16_MAX INT16_MAX
|
||||
#define INT_FAST32_MIN INT32_MIN
|
||||
#define INT_FAST32_MAX INT32_MAX
|
||||
#define INT_FAST64_MIN INT64_MIN
|
||||
#define INT_FAST64_MAX INT64_MAX
|
||||
#define UINT_FAST8_MAX UINT8_MAX
|
||||
#define UINT_FAST16_MAX UINT16_MAX
|
||||
#define UINT_FAST32_MAX UINT32_MAX
|
||||
#define UINT_FAST64_MAX UINT64_MAX
|
||||
|
||||
// 7.18.2.4 Limits of integer types capable of holding object pointers
|
||||
#ifdef _WIN64 // [
|
||||
# define INTPTR_MIN INT64_MIN
|
||||
# define INTPTR_MAX INT64_MAX
|
||||
# define UINTPTR_MAX UINT64_MAX
|
||||
#else // _WIN64 ][
|
||||
# define INTPTR_MIN INT32_MIN
|
||||
# define INTPTR_MAX INT32_MAX
|
||||
# define UINTPTR_MAX UINT32_MAX
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// 7.18.2.5 Limits of greatest-width integer types
|
||||
#define INTMAX_MIN INT64_MIN
|
||||
#define INTMAX_MAX INT64_MAX
|
||||
#define UINTMAX_MAX UINT64_MAX
|
||||
|
||||
// 7.18.3 Limits of other integer types
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define PTRDIFF_MIN _I64_MIN
|
||||
# define PTRDIFF_MAX _I64_MAX
|
||||
#else // _WIN64 ][
|
||||
# define PTRDIFF_MIN _I32_MIN
|
||||
# define PTRDIFF_MAX _I32_MAX
|
||||
#endif // _WIN64 ]
|
||||
|
||||
#define SIG_ATOMIC_MIN INT_MIN
|
||||
#define SIG_ATOMIC_MAX INT_MAX
|
||||
|
||||
#ifndef SIZE_MAX // [
|
||||
# ifdef _WIN64 // [
|
||||
# define SIZE_MAX _UI64_MAX
|
||||
# else // _WIN64 ][
|
||||
# define SIZE_MAX _UI32_MAX
|
||||
# endif // _WIN64 ]
|
||||
#endif // SIZE_MAX ]
|
||||
|
||||
// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
|
||||
#ifndef WCHAR_MIN // [
|
||||
# define WCHAR_MIN 0
|
||||
#endif // WCHAR_MIN ]
|
||||
#ifndef WCHAR_MAX // [
|
||||
# define WCHAR_MAX _UI16_MAX
|
||||
#endif // WCHAR_MAX ]
|
||||
|
||||
#define WINT_MIN 0
|
||||
#define WINT_MAX _UI16_MAX
|
||||
|
||||
#endif // __STDC_LIMIT_MACROS ]
|
||||
|
||||
|
||||
// 7.18.4 Limits of other integer types
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260
|
||||
|
||||
// 7.18.4.1 Macros for minimum-width integer constants
|
||||
|
||||
#define INT8_C(val) val##i8
|
||||
#define INT16_C(val) val##i16
|
||||
#define INT32_C(val) val##i32
|
||||
#define INT64_C(val) val##i64
|
||||
|
||||
#define UINT8_C(val) val##ui8
|
||||
#define UINT16_C(val) val##ui16
|
||||
#define UINT32_C(val) val##ui32
|
||||
#define UINT64_C(val) val##ui64
|
||||
|
||||
// 7.18.4.2 Macros for greatest-width integer constants
|
||||
#define INTMAX_C INT64_C
|
||||
#define UINTMAX_C UINT64_C
|
||||
|
||||
#endif // __STDC_CONSTANT_MACROS ]
|
||||
|
||||
|
||||
#endif // _MSC_STDINT_H_ ]
|
||||
// ISO C9x compliant stdint.h for Microsoft Visual Studio
|
||||
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
|
||||
//
|
||||
// Copyright (c) 2006-2008 Alexander Chemeris
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// 1. Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// 3. The name of the author may be used to endorse or promote products
|
||||
// derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _MSC_VER // [
|
||||
#error "Use this header only with Microsoft Visual C++ compilers!"
|
||||
#endif // _MSC_VER ]
|
||||
|
||||
#ifndef _MSC_STDINT_H_ // [
|
||||
#define _MSC_STDINT_H_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
// For Visual Studio 6 in C++ mode and for many Visual Studio versions when
|
||||
// compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
|
||||
// or compiler give many errors like this:
|
||||
// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
# include <wchar.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
// Define _W64 macros to mark types changing their size, like intptr_t.
|
||||
#ifndef _W64
|
||||
# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
|
||||
# define _W64 __w64
|
||||
# else
|
||||
# define _W64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
// 7.18.1 Integer types
|
||||
|
||||
// 7.18.1.1 Exact-width integer types
|
||||
|
||||
// Visual Studio 6 and Embedded Visual C++ 4 doesn't
|
||||
// realize that, e.g. char has the same size as __int8
|
||||
// so we give up on __intX for them.
|
||||
#if (_MSC_VER < 1300)
|
||||
typedef signed char int8_t;
|
||||
typedef signed short int16_t;
|
||||
typedef signed int int32_t;
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
#else
|
||||
typedef signed __int8 int8_t;
|
||||
typedef signed __int16 int16_t;
|
||||
typedef signed __int32 int32_t;
|
||||
typedef unsigned __int8 uint8_t;
|
||||
typedef unsigned __int16 uint16_t;
|
||||
typedef unsigned __int32 uint32_t;
|
||||
#endif
|
||||
typedef signed __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
|
||||
|
||||
// 7.18.1.2 Minimum-width integer types
|
||||
typedef int8_t int_least8_t;
|
||||
typedef int16_t int_least16_t;
|
||||
typedef int32_t int_least32_t;
|
||||
typedef int64_t int_least64_t;
|
||||
typedef uint8_t uint_least8_t;
|
||||
typedef uint16_t uint_least16_t;
|
||||
typedef uint32_t uint_least32_t;
|
||||
typedef uint64_t uint_least64_t;
|
||||
|
||||
// 7.18.1.3 Fastest minimum-width integer types
|
||||
typedef int8_t int_fast8_t;
|
||||
typedef int16_t int_fast16_t;
|
||||
typedef int32_t int_fast32_t;
|
||||
typedef int64_t int_fast64_t;
|
||||
typedef uint8_t uint_fast8_t;
|
||||
typedef uint16_t uint_fast16_t;
|
||||
typedef uint32_t uint_fast32_t;
|
||||
typedef uint64_t uint_fast64_t;
|
||||
|
||||
// 7.18.1.4 Integer types capable of holding object pointers
|
||||
#ifdef _WIN64 // [
|
||||
typedef signed __int64 intptr_t;
|
||||
typedef unsigned __int64 uintptr_t;
|
||||
#else // _WIN64 ][
|
||||
typedef _W64 signed int intptr_t;
|
||||
typedef _W64 unsigned int uintptr_t;
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// 7.18.1.5 Greatest-width integer types
|
||||
typedef int64_t intmax_t;
|
||||
typedef uint64_t uintmax_t;
|
||||
|
||||
|
||||
// 7.18.2 Limits of specified-width integer types
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259
|
||||
|
||||
// 7.18.2.1 Limits of exact-width integer types
|
||||
#define INT8_MIN ((int8_t)_I8_MIN)
|
||||
#define INT8_MAX _I8_MAX
|
||||
#define INT16_MIN ((int16_t)_I16_MIN)
|
||||
#define INT16_MAX _I16_MAX
|
||||
#define INT32_MIN ((int32_t)_I32_MIN)
|
||||
#define INT32_MAX _I32_MAX
|
||||
#define INT64_MIN ((int64_t)_I64_MIN)
|
||||
#define INT64_MAX _I64_MAX
|
||||
#define UINT8_MAX _UI8_MAX
|
||||
#define UINT16_MAX _UI16_MAX
|
||||
#define UINT32_MAX _UI32_MAX
|
||||
#define UINT64_MAX _UI64_MAX
|
||||
|
||||
// 7.18.2.2 Limits of minimum-width integer types
|
||||
#define INT_LEAST8_MIN INT8_MIN
|
||||
#define INT_LEAST8_MAX INT8_MAX
|
||||
#define INT_LEAST16_MIN INT16_MIN
|
||||
#define INT_LEAST16_MAX INT16_MAX
|
||||
#define INT_LEAST32_MIN INT32_MIN
|
||||
#define INT_LEAST32_MAX INT32_MAX
|
||||
#define INT_LEAST64_MIN INT64_MIN
|
||||
#define INT_LEAST64_MAX INT64_MAX
|
||||
#define UINT_LEAST8_MAX UINT8_MAX
|
||||
#define UINT_LEAST16_MAX UINT16_MAX
|
||||
#define UINT_LEAST32_MAX UINT32_MAX
|
||||
#define UINT_LEAST64_MAX UINT64_MAX
|
||||
|
||||
// 7.18.2.3 Limits of fastest minimum-width integer types
|
||||
#define INT_FAST8_MIN INT8_MIN
|
||||
#define INT_FAST8_MAX INT8_MAX
|
||||
#define INT_FAST16_MIN INT16_MIN
|
||||
#define INT_FAST16_MAX INT16_MAX
|
||||
#define INT_FAST32_MIN INT32_MIN
|
||||
#define INT_FAST32_MAX INT32_MAX
|
||||
#define INT_FAST64_MIN INT64_MIN
|
||||
#define INT_FAST64_MAX INT64_MAX
|
||||
#define UINT_FAST8_MAX UINT8_MAX
|
||||
#define UINT_FAST16_MAX UINT16_MAX
|
||||
#define UINT_FAST32_MAX UINT32_MAX
|
||||
#define UINT_FAST64_MAX UINT64_MAX
|
||||
|
||||
// 7.18.2.4 Limits of integer types capable of holding object pointers
|
||||
#ifdef _WIN64 // [
|
||||
# define INTPTR_MIN INT64_MIN
|
||||
# define INTPTR_MAX INT64_MAX
|
||||
# define UINTPTR_MAX UINT64_MAX
|
||||
#else // _WIN64 ][
|
||||
# define INTPTR_MIN INT32_MIN
|
||||
# define INTPTR_MAX INT32_MAX
|
||||
# define UINTPTR_MAX UINT32_MAX
|
||||
#endif // _WIN64 ]
|
||||
|
||||
// 7.18.2.5 Limits of greatest-width integer types
|
||||
#define INTMAX_MIN INT64_MIN
|
||||
#define INTMAX_MAX INT64_MAX
|
||||
#define UINTMAX_MAX UINT64_MAX
|
||||
|
||||
// 7.18.3 Limits of other integer types
|
||||
|
||||
#ifdef _WIN64 // [
|
||||
# define PTRDIFF_MIN _I64_MIN
|
||||
# define PTRDIFF_MAX _I64_MAX
|
||||
#else // _WIN64 ][
|
||||
# define PTRDIFF_MIN _I32_MIN
|
||||
# define PTRDIFF_MAX _I32_MAX
|
||||
#endif // _WIN64 ]
|
||||
|
||||
#define SIG_ATOMIC_MIN INT_MIN
|
||||
#define SIG_ATOMIC_MAX INT_MAX
|
||||
|
||||
#ifndef SIZE_MAX // [
|
||||
# ifdef _WIN64 // [
|
||||
# define SIZE_MAX _UI64_MAX
|
||||
# else // _WIN64 ][
|
||||
# define SIZE_MAX _UI32_MAX
|
||||
# endif // _WIN64 ]
|
||||
#endif // SIZE_MAX ]
|
||||
|
||||
// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
|
||||
#ifndef WCHAR_MIN // [
|
||||
# define WCHAR_MIN 0
|
||||
#endif // WCHAR_MIN ]
|
||||
#ifndef WCHAR_MAX // [
|
||||
# define WCHAR_MAX _UI16_MAX
|
||||
#endif // WCHAR_MAX ]
|
||||
|
||||
#define WINT_MIN 0
|
||||
#define WINT_MAX _UI16_MAX
|
||||
|
||||
#endif // __STDC_LIMIT_MACROS ]
|
||||
|
||||
|
||||
// 7.18.4 Limits of other integer types
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260
|
||||
|
||||
// 7.18.4.1 Macros for minimum-width integer constants
|
||||
|
||||
#define INT8_C(val) val##i8
|
||||
#define INT16_C(val) val##i16
|
||||
#define INT32_C(val) val##i32
|
||||
#define INT64_C(val) val##i64
|
||||
|
||||
#define UINT8_C(val) val##ui8
|
||||
#define UINT16_C(val) val##ui16
|
||||
#define UINT32_C(val) val##ui32
|
||||
#define UINT64_C(val) val##ui64
|
||||
|
||||
// 7.18.4.2 Macros for greatest-width integer constants
|
||||
#define INTMAX_C INT64_C
|
||||
#define UINTMAX_C UINT64_C
|
||||
|
||||
#endif // __STDC_CONSTANT_MACROS ]
|
||||
|
||||
|
||||
#endif // _MSC_STDINT_H_ ]
|
||||
|
|