Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Qt5 Compatibility Module #11259

Merged
merged 1 commit into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/android_debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:
arch: ${{ matrix.arch }}
dir: ${{ runner.temp }}
extra: --autodesktop
modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
cache: true

- name: Remove Android SDKs to force usage of android-33 only
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/android_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
arch: ${{ matrix.arch }}
extra: --autodesktop
dir: ${{ runner.temp }}
modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
setup-python: true
cache: true

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linux_debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
host: linux
target: desktop
dir: ${{ runner.temp }}
modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
setup-python: true
cache: true

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linux_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
host: linux
target: desktop
dir: ${{ runner.temp }}
modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
setup-python: true
cache: true

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos_debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
host: mac
target: desktop
dir: ${{ runner.temp }}
modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
setup-python: false
cache: true

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
host: mac
target: desktop
dir: ${{ runner.temp }}
modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
setup-python: false
cache: true

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows_debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
target: desktop
arch: win64_msvc2019_64
dir: ${{ runner.temp }}
modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
setup-python: true
cache: true

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
target: desktop
arch: win64_msvc2019_64
dir: ${{ runner.temp }}
modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
modules: qtcharts qtlocation qtpositioning qtspeech qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d
setup-python: false
cache: true

Expand Down
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ find_package(Qt6
Charts
Concurrent
Core
Core5Compat
Location
Multimedia
Network
Expand Down
1 change: 0 additions & 1 deletion QGCPostLinkCommon.pri
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ LinuxBuild {
libQt6QmlWorkerScript.so.6 \
libQt6QuickShapes.so.6 \
libQt6XcbQpa.so.6 \
libQt6Core5Compat.so.6 \
libQt6Network.so.6 \
libQt6QmlXmlListModel.so.6 \
libQt6Quick.so.6 \
Expand Down
2 changes: 1 addition & 1 deletion deploy/docker/Dockerfile-build-linux
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ FROM ubuntu:20.04
LABEL authors="Daniel Agar <[email protected]>, Patrick José Pereira <[email protected]>"

ARG QT_VERSION=6.6.1
ARG QT_MODULES="qtlocation qtpositioning qtspeech qt5compat qtquick3d qtmultimedia qtserialport qtcharts qtshadertools"
ARG QT_MODULES="qtlocation qtpositioning qtspeech qtquick3d qtmultimedia qtserialport qtcharts qtshadertools"

ENV DEBIAN_FRONTEND noninteractive

Expand Down
1 change: 0 additions & 1 deletion qgroundcontrol.pro
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,6 @@ QT += \
xml \
texttospeech \
core-private \
core5compat \
quick3d

# Multimedia only used if QVC is enabled
Expand Down
13 changes: 3 additions & 10 deletions src/AutoPilotPlugins/APM/APMSafetyComponent.qml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Qt5Compat.GraphicalEffects

import QGroundControl.FactSystem
import QGroundControl.FactControls
Expand Down Expand Up @@ -551,27 +550,21 @@ SetupPage {
height: landSpeedField.y + landSpeedField.height + _margins
color: ggcPal.windowShade

Image {
QGCColoredImage {
id: icon
visible: _showIcon
anchors.margins: _margins
anchors.left: parent.left
anchors.top: parent.top
height: ScreenTools.defaultFontPixelWidth * 20
width: ScreenTools.defaultFontPixelWidth * 20
color: ggcPal.text
sourceSize.width: width
mipmap: true
fillMode: Image.PreserveAspectFit
visible: false
source: "/qmlimages/ReturnToHomeAltitude.svg"
}

ColorOverlay {
anchors.fill: icon
source: icon
color: ggcPal.text
visible: _showIcon
}

QGCRadioButton {
id: returnAtCurrentRadio
anchors.margins: _innerMargin
Expand Down
1 change: 0 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ target_link_libraries(qgc
Qt6::QuickControls2
Qt6::QuickWidgets
Qt6::Widgets
Qt6::Core5Compat

ADSB
AirLink
Expand Down
24 changes: 10 additions & 14 deletions src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,11 @@
#include "QGCLoggingCategory.h"

#include <QTcpSocket>
#include <QtCore5Compat/QRegExp>
#include <QtCore/QRegularExpression>
#include <QtCore/QRegularExpressionMatch>

QGC_LOGGING_CATEGORY(APMFirmwarePluginLog, "APMFirmwarePluginLog")

static const QRegularExpression APM_FRAME_REXP("^Frame: ");

const char* APMFirmwarePlugin::_artooIP = "10.1.1.1"; ///< IP address of ARTOO controller
const int APMFirmwarePlugin::_artooVideoHandshakePort = 5502; ///< Port for video handshake on ARTOO controller

Expand Down Expand Up @@ -261,21 +260,18 @@ bool APMFirmwarePlugin::_handleIncomingStatusText(Vehicle* /*vehicle*/, mavlink_
// APM user facing calibration messages come through as high severity, we need to parse them out
// and lower the severity on them so that they don't pop in the users face.

QString messageText = _getMessageText(message);
const QString messageText = _getMessageText(message);
if (messageText.contains("Place vehicle") || messageText.contains("Calibration successful")) {
_adjustCalibrationMessageSeverity(message);
return true;
}

if (messageText.contains(APM_FRAME_REXP)) {
// We need to parse the Frame: message in order to determine whether the motors are coaxial or not
QRegExp frameTypeRegex("^Frame: (\\S*)");
if (frameTypeRegex.indexIn(messageText) != -1) {
QString frameType = frameTypeRegex.cap(1);
if (!frameType.isEmpty() && (frameType == QStringLiteral("Y6") || frameType == QStringLiteral("OCTA_QUAD") || frameType == QStringLiteral("COAX"))) {
_coaxialMotors = true;
}
}
static const QRegularExpression APM_FRAME_REXP("^Frame: (\\S*)");
const QRegularExpressionMatch match = APM_FRAME_REXP.match(messageText);
if (match.hasMatch()) {
static const QSet<QString> coaxialFrames = {"Y6", "OCTA_QUAD", "COAX", "QUAD/PLUS"};
const QString frameType = match.captured(1);
_coaxialMotors = coaxialFrames.contains(frameType);
}

return true;
Expand Down Expand Up @@ -367,7 +363,7 @@ QString APMFirmwarePlugin::_getMessageText(mavlink_message_t* message) const

// Ensure NUL-termination
b[b.length()-1] = '\0';
return QString(b);
return QString::fromLocal8Bit(b, std::strlen(b.constData()));
}

void APMFirmwarePlugin::_setInfoSeverity(mavlink_message_t* message) const
Expand Down
25 changes: 13 additions & 12 deletions src/FirmwarePlugin/APM/APMParameterMetaData.cc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@

#include <QFile>
#include <QStack>
#include <QtCore5Compat/QRegExp>
#include <QtCore/QRegularExpression>
#include <QtCore/QRegularExpressionMatch>

static const char* kInvalidConverstion = "Internal Error: No support for string parameters";

Expand Down Expand Up @@ -128,8 +129,9 @@ QString APMParameterMetaData::mavTypeToString(MAV_TYPE vehicleTypeEnum)

QString APMParameterMetaData::_groupFromParameterName(const QString& name)
{
static const QRegularExpression regex = QRegularExpression("[0-9]*$");
QString group = name.split('_').first();
return group.remove(QRegularExpression("[0-9]*$")); // remove any numbers from the end
return group.remove(regex); // remove any numbers from the end
}


Expand All @@ -140,7 +142,6 @@ void APMParameterMetaData::loadParameterFactMetaDataFile(const QString& metaData
}
_parameterMetaDataLoaded = true;

auto parameterCategories = QRegularExpression("ArduCopter|ArduPlane|APMrover2|Rover|ArduSub|AntennaTracker");
QString currentCategory;

qCDebug(APMParameterMetaDataLog) << "Loading parameter meta data:" << metaDataFile;
Expand Down Expand Up @@ -202,6 +203,7 @@ void APMParameterMetaData::loadParameterFactMetaDataFile(const QString& metaData
if (xml.attributes().hasAttribute("name")) {
// we will handle metadata only for specific MAV_TYPEs and libraries
const QString nameValue = xml.attributes().value("name").toString();
static const QRegularExpression parameterCategories = QRegularExpression("ArduCopter|ArduPlane|APMrover2|Rover|ArduSub|AntennaTracker");
if (nameValue.contains(parameterCategories)) {
xmlState.push(XmlStateFoundParameters);
currentCategory = nameValue;
Expand Down Expand Up @@ -625,15 +627,14 @@ FactMetaData* APMParameterMetaData::getMetaDataForFact(const QString& name, MAV_

void APMParameterMetaData::getParameterMetaDataVersionInfo(const QString& metaDataFile, int& majorVersion, int& minorVersion)
{
majorVersion = -1;
minorVersion = -1;

// Meta data version is hacked in for now based on file name
QRegExp regExp(".*\\.(\\d)\\.(\\d)\\.xml$");
if (regExp.exactMatch(metaDataFile) && regExp.captureCount() == 2) {
majorVersion = regExp.cap(2).toInt();
minorVersion = 0;
static const QRegularExpression regex(".*\\.(\\d)\\.(\\d)\\.xml$");
const QRegularExpressionMatch match = regex.match(metaDataFile);
if (match.hasMatch() && match.lastCapturedIndex() == 2) {
majorVersion = match.captured(1).toInt();
minorVersion = match.captured(2).toInt();
} else {
qWarning() << QStringLiteral("Unable to parse version from parameter meta data file name: '%1'").arg(metaDataFile);
majorVersion = -1;
minorVersion = -1;
qCWarning(APMParameterMetaDataLog) << QStringLiteral("Unable to parse version from parameter meta data file name: '%1'").arg(metaDataFile);
}
}
30 changes: 13 additions & 17 deletions src/FlightMap/MapItems/VehicleMapItem.qml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
****************************************************************************/

import QtQuick
import QtQuick.Effects
import QtLocation
import QtPositioning
import Qt5Compat.GraphicalEffects

import QGroundControl
import QGroundControl.ScreenTools
Expand Down Expand Up @@ -44,23 +44,19 @@ MapQuickItem {
height: vehicleIcon.height
opacity: _adsbVehicle || vehicle === _activeVehicle ? 1.0 : 0.5

Rectangle {
id: vehicleShadow
anchors.fill: vehicleIcon
color: Qt.rgba(1,1,1,1)
radius: width * 0.5
visible: false
}
DropShadow {
anchors.fill: vehicleShadow
visible: vehicleIcon.visible && _adsbVehicle
horizontalOffset: 4
verticalOffset: 4
radius: 32.0
samples: 65
color: Qt.rgba(0.94,0.91,0,0.5)
source: vehicleShadow
MultiEffect {
source: vehicleIcon
shadowEnabled: vehicleIcon.visible && _adsbVehicle
shadowColor: Qt.rgba(0.94,0.91,0,1.0)
shadowVerticalOffset: 4
shadowHorizontalOffset: 4
shadowBlur: 1.0
shadowOpacity: 0.5
shadowScale: 1.3
blurMax: 32
blurMultiplier: .1
}

Image {
id: vehicleIcon
source: _adsbVehicle ? (alert ? "/qmlimages/AlertAircraft.svg" : "/qmlimages/AwarenessAircraft.svg") : vehicle.vehicleImageOpaque
Expand Down
30 changes: 19 additions & 11 deletions src/FlightMap/Widgets/QGCAttitudeWidget.qml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/

import QtQuick
import Qt5Compat.GraphicalEffects
import QtQuick.Effects

import QGroundControl
import QGroundControl.Controls
Expand Down Expand Up @@ -99,20 +99,28 @@ Item {
}
}

Rectangle {
id: mask
anchors.fill: instrument
radius: width / 2
color: "black"
visible: false
}

OpacityMask {
anchors.fill: instrument
MultiEffect {
source: instrument
anchors.fill: instrument
maskEnabled: true
maskSource: mask
}

Item {
id: mask
width: instrument.width
height: instrument.height
layer.enabled: true
visible: false

Rectangle {
width: parent.width
height: parent.height
radius: width/2
color: "black"
}
}

Rectangle {
id: borderRect
anchors.fill: parent
Expand Down
11 changes: 6 additions & 5 deletions src/QmlControls/QGCColoredImage.qml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import QtQuick
import QtQuick.Controls
import Qt5Compat.GraphicalEffects
import QtQuick.Effects

import QGroundControl.Palette

Expand Down Expand Up @@ -35,9 +35,10 @@ Item {
sourceSize.height: height
}

ColorOverlay {
anchors.fill: image
source: image
color: parent.color
MultiEffect {
source: image
anchors.fill: image
colorizationColor: parent.color
colorization: 1.0
}
}
4 changes: 1 addition & 3 deletions src/QtLocationPlugin/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
find_package(Qt6 REQUIRED COMPONENTS Core Core5Compat Location Network Qml Sql)
find_package(Qt6 REQUIRED COMPONENTS Core Location Network Qml Sql)

# QGC_NO_GOOGLE_MAPS

Expand Down Expand Up @@ -48,8 +48,6 @@ qt_add_plugin(QGCLocation STATIC
target_compile_definitions(QGCLocation PRIVATE CMAKE_LOCATION_PLUGIN)

target_link_libraries(QGCLocation
PRIVATE
Qt6::Core5Compat
PUBLIC
Qt6::Core
Qt6::Location
Expand Down
Loading
Loading