vcpkg/ports/paraview/53.diff
Alexander Neumann 46dda5372b
[vtk|opencv4|openimageio] Switch to Qt6 (#29078)
* Switch stuff to Qt6

* give opencv4 the correct deps

* add Qt5Compat to find_dependency

* refine vtk deps and promote targets to global

* fix dep

* ci is probably faster than my desktop pc building.

* remove invalid patch part

* add qt6 patch

* second patch

* make openimageio ignore qt5

* [skip actions] qt6 part 3

* vtk qt6 patch

* try openimageio again

* move gl include

* fix patch

* does it work now?

* remove qualified name

* more qt6 fixes

* more patches

* update and fix rtabmap

* gles feature in qtbase needs to be disabled for vtk since vtk assumes desktop opengl

* remove patch add error if qtbase was build with gles2

* disable also second patch

* fix theia

* paraview consolidate patches

* fix case issue

* fix missing ,

* add more qt6 changes

* remove unnecessary patches

* bump port version

* remove comments from vtk

* add platform features for tools.

* fix format

* bump ports

* another one to bump

* v db

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2023-01-26 19:19:30 -08:00

507 lines
22 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b3c91500041421328fde0821ef6876c78eef55d6..b4157a3d53407b536b3694b12faa3ed7794fb4c5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,27 +1,20 @@
-if (NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
-endif ()
+CMAKE_MINIMUM_REQUIRED(VERSION 3.2)
PROJECT(QtTesting)
IF(NOT DEFINED QtTesting_QT_VERSION)
- SET(QtTesting_QT_VERSION "4" CACHE STRING "Expected Qt version")
+ SET(QtTesting_QT_VERSION "5" CACHE STRING "Expected Qt version")
MARK_AS_ADVANCED(QtTesting_QT_VERSION)
- SET_PROPERTY(CACHE QtTesting_QT_VERSION PROPERTY STRINGS 4 5)
+ SET_PROPERTY(CACHE QtTesting_QT_VERSION PROPERTY STRINGS 5 6)
ENDIF()
-IF(NOT (QtTesting_QT_VERSION VERSION_EQUAL "4" OR
- QtTesting_QT_VERSION VERSION_EQUAL "5"))
- message(FATAL_ERROR "Expected value for QtTesting_QT_VERSION is either '4' or '5'")
+IF(NOT (QtTesting_QT_VERSION VERSION_EQUAL "5" OR
+ QtTesting_QT_VERSION VERSION_EQUAL "6"))
+ message(FATAL_ERROR "Expected value for QtTesting_QT_VERSION is either '5' or '6'")
ENDIF()
set(qt_imported_targets)
-IF(QtTesting_QT_VERSION VERSION_GREATER "4")
- FIND_PACKAGE(Qt5 REQUIRED COMPONENTS Core Widgets)
- SET(qt_imported_targets Qt5::Core Qt5::Widgets)
-ELSE()
- FIND_PACKAGE(Qt4 REQUIRED COMPONENTS QtGui)
- SET(qt_imported_targets Qt4::QtCore Qt4::QtGui)
-ENDIF()
+FIND_PACKAGE(Qt${QtTesting_QT_VERSION} REQUIRED COMPONENTS Core Widgets)
+SET(qt_imported_targets Qt${QtTesting_QT_VERSION}::Core Qt${QtTesting_QT_VERSION}::Widgets)
IF(NOT DEFINED QT_TESTING_WITH_PYTHON)
OPTION(QT_TESTING_WITH_PYTHON "Enable Qt Testing with Python" OFF)
diff --git a/Testing/CMake/qtTestingMacroGenerateMocs.cmake b/Testing/CMake/qtTestingMacroGenerateMocs.cmake
index 4b1f34a4fa5d7e7effb63ae49518e75c47e2598c..953e7402bc269cf3af41914945b194348cfc428a 100644
--- a/Testing/CMake/qtTestingMacroGenerateMocs.cmake
+++ b/Testing/CMake/qtTestingMacroGenerateMocs.cmake
@@ -19,3 +19,13 @@ macro(QT5_GENERATE_MOCS)
OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
endforeach()
endmacro()
+
+
+macro(QT6_GENERATE_MOCS)
+ foreach(file ${ARGN})
+ set(moc_file moc_${file})
+ QT_GENERATE_MOC(${file} ${moc_file})
+ set_property(SOURCE ${file} APPEND PROPERTY
+ OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${moc_file})
+ endforeach()
+endmacro()
diff --git a/Testing/Cpp/CMakeLists.txt b/Testing/Cpp/CMakeLists.txt
index fed244434f888af3ba2f4b50609f94d08eebd47b..31e629c990290bb5d4fce52005c1781aebdf3b5a 100644
--- a/Testing/Cpp/CMakeLists.txt
+++ b/Testing/Cpp/CMakeLists.txt
@@ -1,6 +1,9 @@
include(../CMake/qtTestingMacroGenerateMocs.cmake)
-IF(QtTesting_QT_VERSION VERSION_GREATER "4")
+IF(QtTesting_QT_VERSION VERSION_GREATER "5")
+ FIND_PACKAGE(Qt6 REQUIRED QUIET COMPONENTS Test)
+ SET(TEST_LIBRARIES Qt6::Test)
+ELSEIF(QtTesting_QT_VERSION VERSION_GREATER "4")
FIND_PACKAGE(Qt5 REQUIRED QUIET COMPONENTS Test)
SET(TEST_LIBRARIES Qt5::Test)
ELSE()
@@ -38,7 +41,10 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
)
-if(QtTesting_QT_VERSION VERSION_GREATER "4")
+if(QtTesting_QT_VERSION VERSION_GREATER "5")
+ QT6_GENERATE_MOCS(${TEST_SOURCES})
+ QT6_WRAP_CPP( TEST_MOC_SRCS ${TEST_MOC_HEADERS} )
+elseif(QtTesting_QT_VERSION VERSION_GREATER "4")
QT5_GENERATE_MOCS(${TEST_SOURCES})
QT5_WRAP_CPP( TEST_MOC_SRCS ${TEST_MOC_HEADERS} )
else()
diff --git a/pq3DViewEventPlayer.cxx b/pq3DViewEventPlayer.cxx
index 5be26b88d394ee82543b039e2173f7624e960808..3ec526a9033328cc924f02dd4c0ba21f30b9a7de 100644
--- a/pq3DViewEventPlayer.cxx
+++ b/pq3DViewEventPlayer.cxx
@@ -35,7 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <QApplication>
#include <QKeyEvent>
#include <QMouseEvent>
-#include <QRegExp>
+#include <QRegularExpression>
#include <QWidget>
#include <QtDebug>
@@ -53,18 +53,19 @@ bool pq3DViewEventPlayer::playEvent(
{
if (Command == "mousePress" || Command == "mouseRelease" || Command == "mouseMove")
{
- QRegExp mouseRegExp("\\(([^,]*),([^,]*),([^,]),([^,]),([^,]*)\\)");
- if (mouseRegExp.indexIn(Arguments) != -1)
+ QRegularExpression mouseRegExp("\\(([^,]*),([^,]*),([^,]),([^,]),([^,]*)\\)");
+ QRegularExpressionMatch match = mouseRegExp.match(Arguments);
+ if (match.hasMatch())
{
- QVariant v = mouseRegExp.cap(1);
+ QVariant v = match.captured(1);
int x = static_cast<int>(v.toDouble() * widget->size().width());
- v = mouseRegExp.cap(2);
+ v = match.captured(2);
int y = static_cast<int>(v.toDouble() * widget->size().height());
- v = mouseRegExp.cap(3);
+ v = match.captured(3);
Qt::MouseButton button = static_cast<Qt::MouseButton>(v.toInt());
- v = mouseRegExp.cap(4);
+ v = match.captured(4);
Qt::MouseButtons buttons = static_cast<Qt::MouseButton>(v.toInt());
- v = mouseRegExp.cap(5);
+ v = match.captured(5);
Qt::KeyboardModifiers keym = static_cast<Qt::KeyboardModifier>(v.toInt());
QEvent::Type type = (Command == "mousePress")
? QEvent::MouseButtonPress
diff --git a/pq3DViewEventTranslator.cxx b/pq3DViewEventTranslator.cxx
index e42b28ec22ef24f07b5adffb1fb7740df320adf5..17f7b2d9e17a36b926c585f85ce37c1ee21b6eff 100644
--- a/pq3DViewEventTranslator.cxx
+++ b/pq3DViewEventTranslator.cxx
@@ -71,8 +71,13 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo
if (mouseEvent)
{
QSize size = widget->size();
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ double normalized_x = mouseEvent->position().x() / static_cast<double>(size.width());
+ double normalized_y = mouseEvent->position().y() / static_cast<double>(size.height());
+#else
double normalized_x = mouseEvent->x() / static_cast<double>(size.width());
double normalized_y = mouseEvent->y() / static_cast<double>(size.height());
+#endif
int button = mouseEvent->button();
int buttons = mouseEvent->buttons();
int modifiers = mouseEvent->modifiers();
@@ -88,7 +93,10 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo
QMouseEvent e(QEvent::MouseButtonPress, QPoint(), Qt::MouseButton(), Qt::MouseButtons(),
Qt::KeyboardModifiers());
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ // FIXME: QMouseEvent copy ctor is private in Qt6
lastMoveEvent = e;
+#endif
return true;
break;
}
@@ -98,10 +106,18 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo
QMouseEvent* mouseEvent = dynamic_cast<QMouseEvent*>(Event);
if (mouseEvent)
{
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ QMouseEvent e(QEvent::MouseMove,
+ QPoint(mouseEvent->position().x(), mouseEvent->position().y()),
+#else
QMouseEvent e(QEvent::MouseMove, QPoint(mouseEvent->x(), mouseEvent->y()),
+#endif
mouseEvent->button(), mouseEvent->buttons(), mouseEvent->modifiers());
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ // FIXME: QMouseEvent copy ctor is private in Qt6
lastMoveEvent = e;
+#endif
}
return true;
break;
@@ -117,8 +133,13 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo
// record last move event if it is valid
if (lastMoveEvent.type() == QEvent::MouseMove)
{
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ double normalized_x = lastMoveEvent.position().x() / static_cast<double>(size.width());
+ double normalized_y = lastMoveEvent.position().y() / static_cast<double>(size.height());
+#else
double normalized_x = lastMoveEvent.x() / static_cast<double>(size.width());
double normalized_y = lastMoveEvent.y() / static_cast<double>(size.height());
+#endif
int button = lastMoveEvent.button();
int buttons = lastMoveEvent.buttons();
int modifiers = lastMoveEvent.modifiers();
@@ -131,8 +152,13 @@ bool pq3DViewEventTranslator::translateEvent(QObject* Object, QEvent* Event, boo
.arg(modifiers));
}
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ double normalized_x = mouseEvent->position().x() / static_cast<double>(size.width());
+ double normalized_y = mouseEvent->position().y() / static_cast<double>(size.height());
+#else
double normalized_x = mouseEvent->x() / static_cast<double>(size.width());
double normalized_y = mouseEvent->y() / static_cast<double>(size.height());
+#endif
int button = mouseEvent->button();
int buttons = mouseEvent->buttons();
int modifiers = mouseEvent->modifiers();
diff --git a/pqAbstractButtonEventTranslator.cxx b/pqAbstractButtonEventTranslator.cxx
index ad785ec90b564cde7fc5146e8060da8daf0cb459..bdcdced3de5248324b1bcca791026202878000b9 100644
--- a/pqAbstractButtonEventTranslator.cxx
+++ b/pqAbstractButtonEventTranslator.cxx
@@ -36,6 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <QAction>
#include <QDebug>
#include <QKeyEvent>
+#include <QMenu>
#include <QMouseEvent>
#include <QPushButton>
#include <QToolButton>
diff --git a/pqAbstractItemViewEventPlayer.cxx b/pqAbstractItemViewEventPlayer.cxx
index 95860b099bae0c71b0b37aab980d06eb5d1caf1e..9ab04ae0e954a295b12b910e7e050bafd24555b2 100644
--- a/pqAbstractItemViewEventPlayer.cxx
+++ b/pqAbstractItemViewEventPlayer.cxx
@@ -48,7 +48,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/// Converts a string representation of a model index into the real thing
static QModelIndex OldGetIndex(QAbstractItemView& View, const QString& Name)
{
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ QStringList rows = Name.split('/', Qt::SkipEmptyParts);
+#else
QStringList rows = Name.split('/', QString::SkipEmptyParts);
+#endif
QString column;
if (rows.size())
@@ -88,7 +92,11 @@ static QModelIndex GetIndexByItemName(QAbstractItemView& View, const QString& Na
static QModelIndex GetIndex(QAbstractItemView* View, const QString& Name)
{
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ QStringList idxs = Name.split('/', Qt::SkipEmptyParts);
+#else
QStringList idxs = Name.split('/', QString::SkipEmptyParts);
+#endif
QModelIndex index;
for (int i = 0; i != idxs.size(); ++i)
@@ -200,7 +208,8 @@ bool pqAbstractItemViewEventPlayer::playEvent(
if (Command == "mouseWheel")
{
int delta = args[0].toInt();
- QWheelEvent we(QPoint(x, y), delta, buttons, keym);
+ QWheelEvent we(QPointF(x, y), QPointF(x, y), QPoint(0, 0), QPoint(0, delta), buttons, keym,
+ Qt::NoScrollPhase, false);
QCoreApplication::sendEvent(Object, &we);
return true;
}
diff --git a/pqAbstractItemViewEventPlayerBase.cxx b/pqAbstractItemViewEventPlayerBase.cxx
index 8a523e668e4f8d37caae67787ab15cdd3ef7f9ff..fc52293a226a663f87e59246a60f94815e536900 100644
--- a/pqAbstractItemViewEventPlayerBase.cxx
+++ b/pqAbstractItemViewEventPlayerBase.cxx
@@ -163,11 +163,12 @@ bool pqAbstractItemViewEventPlayerBase::playEvent(
return false;
}
- QRegExp regExp1("^([\\d\\.]+),(\\d+)$");
- if (command == "setCheckState" && regExp1.indexIn(arguments) != -1)
+ QRegularExpression regExp1("^([\\d\\.]+),(\\d+)$");
+ QRegularExpressionMatch match = regExp1.match(arguments);
+ if (command == "setCheckState" && match.hasMatch())
{
- QString strIndex = regExp1.cap(1);
- int check_state = regExp1.cap(2).toInt();
+ QString strIndex = match.captured(1);
+ int check_state = match.captured(2).toInt();
QModelIndex index =
pqAbstractItemViewEventPlayerBase::GetIndex(strIndex, abstractItemView, error);
diff --git a/pqAbstractItemViewEventTranslator.cxx b/pqAbstractItemViewEventTranslator.cxx
index b769cca66eab194773d5338171152715181efaa3..07f7b42071582906fcbdbbc149a69773c92b31e6 100644
--- a/pqAbstractItemViewEventTranslator.cxx
+++ b/pqAbstractItemViewEventTranslator.cxx
@@ -153,11 +153,19 @@ bool pqAbstractItemViewEventTranslator::translateEvent(QObject* Object, QEvent*
if (wheelEvent)
{
QString idxStr;
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ QModelIndex idx = object->indexAt(wheelEvent->position().toPoint());
+#else
QModelIndex idx = object->indexAt(wheelEvent->pos());
+#endif
idxStr = toIndexStr(idx);
QRect r = object->visualRect(idx);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ relPt = wheelEvent->position().toPoint() - r.topLeft();
+#else
relPt = wheelEvent->pos() - r.topLeft();
- int numStep = wheelEvent->delta() > 0 ? 120 : -120;
+#endif
+ int numStep = wheelEvent->angleDelta().y() > 0 ? 120 : -120;
int buttons = wheelEvent->buttons();
int modifiers = wheelEvent->modifiers();
Q_EMIT recordEvent(Object, "mouseWheel", QString("%1,%2,%3,%4,%5")
diff --git a/pqBasicWidgetEventPlayer.cxx b/pqBasicWidgetEventPlayer.cxx
index 27663a340efb87b92fc4ce10ac393238e8925e95..11ac0d577d53b66e7f624354292a70fb26b553d3 100644
--- a/pqBasicWidgetEventPlayer.cxx
+++ b/pqBasicWidgetEventPlayer.cxx
@@ -83,7 +83,8 @@ bool pqBasicWidgetEventPlayer::playEvent(
if (command == "mouseWheel")
{
int delta = args[0].toInt();
- QWheelEvent we(QPoint(x, y), delta, buttons, keym);
+ QWheelEvent we(QPoint(x, y), QPoint(x, y), QPoint(0, 0), QPoint(0, delta), buttons,
+ keym, Qt::NoScrollPhase, false);
QCoreApplication::sendEvent(object, &we);
return true;
}
diff --git a/pqBasicWidgetEventTranslator.cxx b/pqBasicWidgetEventTranslator.cxx
index bdbc340cb9714aea681024d24055be113f6b1bd4..57026f6a65408252602765ad6de6771fef58afa8 100644
--- a/pqBasicWidgetEventTranslator.cxx
+++ b/pqBasicWidgetEventTranslator.cxx
@@ -80,8 +80,13 @@ bool pqBasicWidgetEventTranslator::translateEvent(
.arg(mouseEvent->button())
.arg(mouseEvent->buttons())
.arg(mouseEvent->modifiers())
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ .arg(mouseEvent->position().x())
+ .arg(mouseEvent->position().y());
+#else
.arg(mouseEvent->x())
.arg(mouseEvent->y());
+#endif
if (event->type() != QEvent::MouseButtonRelease)
{
@@ -116,13 +121,18 @@ bool pqBasicWidgetEventTranslator::translateEvent(
{
int buttons = wheelEvent->buttons();
int modifiers = wheelEvent->modifiers();
- int numStep = wheelEvent->delta();
+ int numStep = wheelEvent->angleDelta().y() > 0 ? 120 : -120;
Q_EMIT recordEvent(object, "mouseWheel", QString("%1,%2,%3,%4,%5")
.arg(numStep)
.arg(buttons)
.arg(modifiers)
- .arg(wheelEvent->x())
- .arg(wheelEvent->y()));
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ .arg(wheelEvent->position().x())
+ .arg(wheelEvent->position().y()));
+#else
+ .arg(wheelEvent->pos().x())
+ .arg(wheelEvent->pos().y()));
+#endif
}
}
return true;
diff --git a/pqEventRecorder.cxx b/pqEventRecorder.cxx
index e20b15ef096a68f5126e387dbfb551a8a5a01c31..8737dfa9fefdbcbe5e9df6dda1621f043e345b69 100644
--- a/pqEventRecorder.cxx
+++ b/pqEventRecorder.cxx
@@ -192,8 +192,10 @@ void pqEventRecorder::start()
// Set the device
this->Stream.setDevice(this->File);
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
// Set UTF8 Codec
this->Stream.setCodec("UTF-8");
+#endif
// Set the Stream to the Observer
this->ActiveObserver->setStream(&this->Stream);
diff --git a/pqEventTranslator.cxx b/pqEventTranslator.cxx
index beb7be450741abef46cee21f11f502ecf84f0552..9d9d691848847e47ad2596bea4134e1ccb14665d 100644
--- a/pqEventTranslator.cxx
+++ b/pqEventTranslator.cxx
@@ -103,7 +103,7 @@ struct pqEventTranslator::pqImplementation
/// Stores the working set of widget translators
QList<pqWidgetEventTranslator*> Translators;
/// Stores the set of objects that should be ignored when translating events
- QMap<QObject*, QRegExp> IgnoredObjects;
+ QMap<QObject*, QRegularExpression> IgnoredObjects;
// list of widgets for which mouse propagation will happen
// we'll only translate the first and ignore the rest
@@ -272,7 +272,7 @@ pqEventComment* pqEventTranslator::eventComment() const
}
// ----------------------------------------------------------------------------
-void pqEventTranslator::ignoreObject(QObject* object, QRegExp commandFilter)
+void pqEventTranslator::ignoreObject(QObject* object, QRegularExpression commandFilter)
{
this->Implementation->IgnoredObjects.insert(object, commandFilter);
}
@@ -353,11 +353,21 @@ bool pqEventTranslator::eventFilter(QObject* object, QEvent* event)
{
// Check it is not the overlay, and it contains the mouse cursor
if (topWidget != this->Implementation->CheckOverlay &&
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ topWidget->geometry().contains(
+ static_cast<QMouseEvent*>(event)->globalPosition().toPoint(), true))
+#else
topWidget->geometry().contains(static_cast<QMouseEvent*>(event)->globalPos(), true))
+#endif
{
// Recover the child widget onder the cursor, if any
QWidget* childWidget = topWidget->childAt(
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ topWidget->mapFromGlobal(
+ static_cast<QMouseEvent*>(event)->globalPosition().toPoint()));
+#else
topWidget->mapFromGlobal(static_cast<QMouseEvent*>(event)->globalPos()));
+#endif
// If child exist, check it is not the overlayed widget and indeed a new widget
if (childWidget == NULL ||
@@ -583,7 +593,7 @@ void pqEventTranslator::onRecordEvent(
{
if (this->Implementation->IgnoredObjects.contains(Object))
{
- QRegExp commandFilter = this->Implementation->IgnoredObjects.value(Object);
+ QRegularExpression commandFilter = this->Implementation->IgnoredObjects.value(Object);
if (Command.contains(commandFilter))
{
return;
diff --git a/pqEventTranslator.h b/pqEventTranslator.h
index d756bec96f42db4db8e28517a0d610cbef0e1ef4..4b0549f6d794cfeb43ecd6ea2644a5067e25c34d 100644
--- a/pqEventTranslator.h
+++ b/pqEventTranslator.h
@@ -36,7 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "QtTestingExport.h"
#include <QObject>
#include <QRect>
-#include <QRegExp>
+#include <QRegularExpression>
class pqEventComment;
class pqTestUtility;
@@ -92,8 +92,8 @@ public:
/// translating events which command is equivalent to the regexp
/// (useful to prevent recording UI events from being
/// captured as part of the recording)
- void ignoreObject(
- QObject* object, QRegExp commandFilter = QRegExp("*", Qt::CaseInsensitive, QRegExp::Wildcard));
+ void ignoreObject(QObject* object, QRegularExpression commandFilter = QRegularExpression(
+ "*", QRegularExpression::CaseInsensitiveOption));
/// start listening to the GUI and translating events
void start();
diff --git a/pqObjectNaming.h b/pqObjectNaming.h
index d31b28d4a4f8275232331af860699796c77c2114..5cef1618d431d26f38cf10d2649e2dc5202f737f 100644
--- a/pqObjectNaming.h
+++ b/pqObjectNaming.h
@@ -38,7 +38,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "QtTestingExport.h"
class QObject;
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
class QStringList;
+#endif
/// Provides functionality to ensuring that Qt objects can be uniquely identified for recording and
/// playback of regression tests
diff --git a/pqPlayBackEventsDialog.cxx b/pqPlayBackEventsDialog.cxx
index d8b3e9547d146fb68dd6c61942b825ae67cd67ec..ff0ebb926c3f49b29f1bce06fa36c4e65a889b0c 100644
--- a/pqPlayBackEventsDialog.cxx
+++ b/pqPlayBackEventsDialog.cxx
@@ -350,7 +350,9 @@ void pqPlayBackEventsDialog::onStarted(const QString& filename)
file.open(QIODevice::ReadOnly);
this->Implementation->Ui.logBrowser->append(QString("Start file : %1").arg(infoFile.fileName()));
QTextStream stream(&file);
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
stream.setCodec("UTF-8");
+#endif
this->Implementation->Ui.currentFileLabel->setText(infoFile.fileName());
while (!stream.atEnd())
{
diff --git a/pqTreeViewEventPlayer.cxx b/pqTreeViewEventPlayer.cxx
index 02199925d018adc0df3a85548a7813aee7f21c84..d541a9cc684be11b0d30f1fdf321d872e8f9a78b 100644
--- a/pqTreeViewEventPlayer.cxx
+++ b/pqTreeViewEventPlayer.cxx
@@ -63,8 +63,9 @@ bool pqTreeViewEventPlayer::playEvent(
return false;
}
- QRegExp regExp0("^([\\d\\.]+),(\\d+),(\\d+)$");
- if (command == "setTreeItemCheckState" && regExp0.indexIn(arguments) != -1)
+ QRegularExpression regExp0("^([\\d\\.]+),(\\d+),(\\d+)$");
+ QRegularExpressionMatch match = regExp0.match(arguments);
+ if (command == "setTreeItemCheckState" && match.hasMatch())
{
// legacy command recorded from tree widgets.
QTreeWidget* treeWidget = qobject_cast<QTreeWidget*>(object);
@@ -72,11 +73,14 @@ bool pqTreeViewEventPlayer::playEvent(
{
return false;
}
- QString str_index = regExp0.cap(1);
- int column = regExp0.cap(2).toInt();
- int check_state = regExp0.cap(3).toInt();
-
+ QString str_index = match.captured(1);
+ int column = match.captured(2).toInt();
+ int check_state = match.captured(3).toInt();
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ QStringList indices = str_index.split(".", Qt::SkipEmptyParts);
+#else
QStringList indices = str_index.split(".", QString::SkipEmptyParts);
+#endif
QTreeWidgetItem* cur_item = NULL;
Q_FOREACH (QString cur_index, indices)
{