Add support for Qt6 and disable Qt5

Required changes to use Qt6 and disable support for Qt5. There are still some adjustments related to Qt6 to be done, but these changes are not required to make Qt6 compile on relevant systems.

* Build system changes Qt6
* Override enterEvent
* Update QKeySequence
* QtChart changes
* Use QScreen to instepct dotsPerInch
* Add app->quit()
* Required updates for code related to QString
* Use RiaQDateTimeTools
* Required changes related to regular expressions
* Support compile on Qt  < 6.5
When version < 6.5 is found, qt_generate_deploy_app_script() is disabled. Compilation of ResInsight will work, but the install target will be incomplete.
* Octave: add missing header.
* Qt Advanced Docking: force Qt6 where both Qt5 and Qt6 is available.

---------

Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com>
Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
This commit is contained in:
Magne Sjaastad
2024-09-30 11:21:17 +02:00
committed by GitHub
parent 596ab564c8
commit 212f5bf5ae
51 changed files with 499 additions and 530 deletions

View File

@@ -24,7 +24,7 @@
///
//--------------------------------------------------------------------------------------------------
RiuQtChartView::RiuQtChartView( RimPlotWindow* plotWindow, QWidget* parent )
: QtCharts::QChartView( parent )
: QChartView( parent )
, m_plotWindow( plotWindow )
{
setMouseTracking( true );
@@ -59,7 +59,7 @@ void RiuQtChartView::mousePressEvent( QMouseEvent* event )
}
else
{
QtCharts::QChartView::mousePressEvent( event );
QChartView::mousePressEvent( event );
}
}
@@ -82,7 +82,7 @@ void RiuQtChartView::mouseReleaseEvent( QMouseEvent* event )
return QGraphicsView::mouseReleaseEvent( event );
}
QtCharts::QChartView::mouseReleaseEvent( event );
QChartView::mouseReleaseEvent( event );
}
}
@@ -101,6 +101,6 @@ void RiuQtChartView::mouseMoveEvent( QMouseEvent* event )
}
else
{
QtCharts::QChartView::mouseMoveEvent( event );
QChartView::mouseMoveEvent( event );
}
}

View File

@@ -29,7 +29,7 @@ class RimPlotWindow;
//==================================================================================================
//
//==================================================================================================
class RiuQtChartView : public QtCharts::QChartView, public RiuInterfaceToViewWindow
class RiuQtChartView : public QChartView, public RiuInterfaceToViewWindow
{
public:
RiuQtChartView( RimPlotWindow* plotWindow, QWidget* parent = nullptr );

View File

@@ -27,8 +27,10 @@
#include <QLegend>
#include <QLegendMarker>
#include <QtCharts/QChart>
#include <QtCharts/QChartView>
#include <QtCharts/QDateTimeAxis>
#include <QtCharts/QLineSeries>
#include <QtCharts/QValueAxis>
#include <limits>
@@ -41,13 +43,13 @@ RiuQtChartsPlotCurve::RiuQtChartsPlotCurve( RimPlotCurve* ownerRimCurve, const Q
{
m_plotWidget = nullptr;
m_lineSeries = new QtCharts::QLineSeries();
m_lineSeries = new QLineSeries();
m_lineSeries->setName( title );
m_areaSeries = new QtCharts::QAreaSeries();
m_areaSeries = new QAreaSeries();
m_areaSeries->setName( title );
m_scatterSeries = new QtCharts::QScatterSeries();
m_scatterSeries = new QScatterSeries();
m_scatterSeries->setName( title );
m_axisX = RiuPlotAxis::defaultBottom();
@@ -188,16 +190,16 @@ void RiuQtChartsPlotCurve::attachToPlot( RiuPlotWidget* plotWidget )
if ( m_plotWidget->getLineSeries( this ) && m_plotWidget->getScatterSeries( this ) )
{
m_plotWidget->qtChart()->legend()->setMarkerShape( QtCharts::QLegend::MarkerShape::MarkerShapeFromSeries );
m_plotWidget->qtChart()->legend()->setMarkerShape( QLegend::MarkerShape::MarkerShapeFromSeries );
setVisibleInLegend( true );
lineSeries()->show();
}
else
{
if ( !m_lineSeries ) m_lineSeries = new QtCharts::QLineSeries();
if ( !m_areaSeries ) m_areaSeries = new QtCharts::QAreaSeries();
if ( !m_scatterSeries ) m_scatterSeries = new QtCharts::QScatterSeries();
if ( !m_lineSeries ) m_lineSeries = new QLineSeries();
if ( !m_areaSeries ) m_areaSeries = new QAreaSeries();
if ( !m_scatterSeries ) m_scatterSeries = new QScatterSeries();
m_plotWidget->attach( this, m_lineSeries, m_areaSeries, m_scatterSeries, m_axisX, m_axisY );
// Plot widget takes ownership.
@@ -227,13 +229,13 @@ void RiuQtChartsPlotCurve::attachToPlot( RiuPlotWidget* plotWidget )
//--------------------------------------------------------------------------------------------------
void RiuQtChartsPlotCurve::detach()
{
QtCharts::QLineSeries* line = lineSeries();
QLineSeries* line = lineSeries();
if ( line )
{
line->hide();
}
QtCharts::QAreaSeries* area = areaSeries();
QAreaSeries* area = areaSeries();
if ( area )
{
area->hide();
@@ -275,10 +277,10 @@ void RiuQtChartsPlotCurve::setSamplesInPlot( const std::vector<double>& xValues,
values[i] = QPointF( xValues[i], yValues[i] );
}
QtCharts::QLineSeries* line = lineSeries();
QLineSeries* line = lineSeries();
line->replace( values );
QtCharts::QLineSeries* upper = new QtCharts::QLineSeries;
QLineSeries* upper = new QLineSeries;
upper->replace( values );
areaSeries()->setUpperSeries( upper );
@@ -308,8 +310,8 @@ void RiuQtChartsPlotCurve::updateScatterSeries()
{
if ( axis->orientation() == Qt::Orientation::Horizontal )
{
QtCharts::QValueAxis* valueAxis = dynamic_cast<QtCharts::QValueAxis*>( axis );
QtCharts::QDateTimeAxis* dateTimeAxis = dynamic_cast<QtCharts::QDateTimeAxis*>( axis );
QValueAxis* valueAxis = dynamic_cast<QValueAxis*>( axis );
QDateTimeAxis* dateTimeAxis = dynamic_cast<QDateTimeAxis*>( axis );
if ( valueAxis )
{
minX = valueAxis->min();
@@ -520,10 +522,10 @@ void RiuQtChartsPlotCurve::setVisibleInLegend( bool isVisibleInLegend )
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QtCharts::QLineSeries* RiuQtChartsPlotCurve::lineSeries() const
QLineSeries* RiuQtChartsPlotCurve::lineSeries() const
{
if ( m_lineSeries ) return m_lineSeries;
if ( m_plotWidget ) return dynamic_cast<QtCharts::QLineSeries*>( m_plotWidget->getLineSeries( this ) );
if ( m_plotWidget ) return dynamic_cast<QLineSeries*>( m_plotWidget->getLineSeries( this ) );
return nullptr;
}
@@ -531,10 +533,10 @@ QtCharts::QLineSeries* RiuQtChartsPlotCurve::lineSeries() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QtCharts::QScatterSeries* RiuQtChartsPlotCurve::scatterSeries() const
QScatterSeries* RiuQtChartsPlotCurve::scatterSeries() const
{
if ( m_scatterSeries ) return m_scatterSeries;
if ( m_plotWidget ) return dynamic_cast<QtCharts::QScatterSeries*>( m_plotWidget->getScatterSeries( this ) );
if ( m_plotWidget ) return dynamic_cast<QScatterSeries*>( m_plotWidget->getScatterSeries( this ) );
return nullptr;
}
@@ -542,10 +544,10 @@ QtCharts::QScatterSeries* RiuQtChartsPlotCurve::scatterSeries() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QtCharts::QAreaSeries* RiuQtChartsPlotCurve::areaSeries() const
QAreaSeries* RiuQtChartsPlotCurve::areaSeries() const
{
if ( m_areaSeries ) return m_areaSeries;
if ( m_plotWidget ) return dynamic_cast<QtCharts::QAreaSeries*>( m_plotWidget->getAreaSeries( this ) );
if ( m_plotWidget ) return dynamic_cast<QAreaSeries*>( m_plotWidget->getAreaSeries( this ) );
return nullptr;
}

View File

@@ -30,6 +30,9 @@
class RiuQtChartsPlotWidget;
class RiuPlotCurveSymbol;
class QLineSeries;
class QScatterSeries;
class QAreaSeries;
//==================================================================================================
//
//==================================================================================================
@@ -91,17 +94,17 @@ public slots:
private:
void setSamplesInPlot( const std::vector<double>&, const std::vector<double>& ) override;
bool isQtChartObjectsPresent() const;
QtCharts::QLineSeries* lineSeries() const;
QtCharts::QScatterSeries* scatterSeries() const;
QtCharts::QAreaSeries* areaSeries() const;
bool isQtChartObjectsPresent() const;
QLineSeries* lineSeries() const;
QScatterSeries* scatterSeries() const;
QAreaSeries* areaSeries() const;
cvf::BoundingBox computeBoundingBox() const;
private:
QtCharts::QLineSeries* m_lineSeries;
QtCharts::QScatterSeries* m_scatterSeries;
QtCharts::QAreaSeries* m_areaSeries;
QLineSeries* m_lineSeries;
QScatterSeries* m_scatterSeries;
QAreaSeries* m_areaSeries;
std::shared_ptr<RiuPlotCurveSymbol> m_symbol;
QPointer<RiuQtChartsPlotWidget> m_plotWidget;
RiuPlotAxis m_axisX;

View File

@@ -76,7 +76,7 @@ void RiuQtChartsPlotCurveSymbol::setPixmap( const QPixmap& pixmap )
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuQtChartsPlotCurveSymbol::applyToScatterSeries( QtCharts::QScatterSeries* series ) const
void RiuQtChartsPlotCurveSymbol::applyToScatterSeries( QScatterSeries* series ) const
{
if ( m_style == PointSymbolEnum::SYMBOL_NONE )
{
@@ -99,9 +99,9 @@ void RiuQtChartsPlotCurveSymbol::applyToScatterSeries( QtCharts::QScatterSeries*
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuQtChartsPlotCurveSymbol::setImageBrush( QtCharts::QScatterSeries* series, const QImage& image ) const
void RiuQtChartsPlotCurveSymbol::setImageBrush( QScatterSeries* series, const QImage& image ) const
{
series->setMarkerShape( QtCharts::QScatterSeries::MarkerShapeRectangle );
series->setMarkerShape( QScatterSeries::MarkerShapeRectangle );
series->setBrush( image );
series->setPen( QColor( Qt::transparent ) );
}

View File

@@ -29,11 +29,7 @@
class QPainter;
class QPointF;
class QRect;
namespace QtCharts
{
class QScatterSeries;
}
//--------------------------------------------------------------------------------------------------
///
@@ -58,12 +54,12 @@ public:
QRect boundingRect() const override;
void applyToScatterSeries( QtCharts::QScatterSeries* series ) const;
void applyToScatterSeries( QScatterSeries* series ) const;
QImage image() const;
private:
void setImageBrush( QtCharts::QScatterSeries* series, const QImage& image ) const;
void setImageBrush( QScatterSeries* series, const QImage& image ) const;
QColor m_color;
QPen m_pen;

View File

@@ -51,8 +51,6 @@
#include <cmath>
#include <limits>
using namespace QtCharts;
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -49,15 +49,12 @@ class QPaintDevice;
class QWheelEvent;
class RiuQwtDateScaleWrapper;
namespace QtCharts
{
class QValueAxis;
class QChart;
class QAbstractSeries;
class QAbstractAxis;
class QChartView;
class QCategoryAxis;
}; // namespace QtCharts
//==================================================================================================
//
@@ -159,22 +156,22 @@ public:
RiuPlotCurve* createPlotCurve( RimPlotCurve* ownerRimCurve, const QString& title ) override;
QtCharts::QChart* qtChart();
QChart* qtChart();
void attach( RiuPlotCurve* plotCurve,
QtCharts::QAbstractSeries* lineSeries,
QtCharts::QAbstractSeries* areaSeries,
QtCharts::QAbstractSeries* scatterSeries,
RiuPlotAxis xAxis,
RiuPlotAxis yAxis );
void attach( RiuPlotCurve* plotCurve,
QAbstractSeries* lineSeries,
QAbstractSeries* areaSeries,
QAbstractSeries* scatterSeries,
RiuPlotAxis xAxis,
RiuPlotAxis yAxis );
void detach( RiuPlotCurve* plotCurve );
QtCharts::QAbstractSeries* getLineSeries( const RiuPlotCurve* plotCurve ) const;
QtCharts::QAbstractSeries* getAreaSeries( const RiuPlotCurve* plotCurve ) const;
QtCharts::QAbstractSeries* getScatterSeries( const RiuPlotCurve* plotCurve ) const;
QAbstractSeries* getLineSeries( const RiuPlotCurve* plotCurve ) const;
QAbstractSeries* getAreaSeries( const RiuPlotCurve* plotCurve ) const;
QAbstractSeries* getScatterSeries( const RiuPlotCurve* plotCurve ) const;
void setXAxis( RiuPlotAxis axis, QtCharts::QAbstractSeries* series, RiuQtChartsPlotCurve* plotCurve );
void setYAxis( RiuPlotAxis axis, QtCharts::QAbstractSeries* series, RiuQtChartsPlotCurve* plotCurve );
void setXAxis( RiuPlotAxis axis, QAbstractSeries* series, RiuQtChartsPlotCurve* plotCurve );
void setYAxis( RiuPlotAxis axis, QAbstractSeries* series, RiuQtChartsPlotCurve* plotCurve );
const QColor& backgroundColor() const override;
@@ -190,7 +187,7 @@ public:
RiaDefines::TimeFormatComponents timeComponents );
protected:
void attachSeriesToAxis( RiuPlotAxis axis, QtCharts::QAbstractSeries* series, RiuQtChartsPlotCurve* plotCurve );
void attachSeriesToAxis( RiuPlotAxis axis, QAbstractSeries* series, RiuQtChartsPlotCurve* plotCurve );
void resizeEvent( QResizeEvent* event ) override;
void keyPressEvent( QKeyEvent* event ) override;
@@ -206,9 +203,9 @@ protected:
virtual bool isZoomerActive() const;
virtual void endZoomOperations();
void rescaleAxis( RiuPlotAxis axis );
QtCharts::QAbstractAxis* plotAxis( RiuPlotAxis axis ) const;
Qt::Orientation orientation( RiaDefines::PlotAxis axis ) const;
void rescaleAxis( RiuPlotAxis axis );
QAbstractAxis* plotAxis( RiuPlotAxis axis ) const;
Qt::Orientation orientation( RiaDefines::PlotAxis axis ) const;
void dragEnterEvent( QDragEnterEvent* event ) override;
void dropEvent( QDropEvent* event ) override;
@@ -230,20 +227,20 @@ private:
static int defaultMinimumWidth();
void replot() override;
QtCharts::QCategoryAxis* categoryAxis();
QCategoryAxis* categoryAxis();
QString createNameFromSeries( QtCharts::QAbstractSeries* series ) const;
QString createNameFromSeries( QAbstractSeries* series ) const;
private:
QPointer<QtCharts::QChartView> m_viewer;
QPointer<QChartView> m_viewer;
std::map<RiuPlotAxis, QtCharts::QAbstractAxis*> m_axes;
std::map<RiuPlotAxis, bool> m_axesEnabled;
std::map<RiuPlotAxis, bool> m_axesAutoScale;
std::map<RiuPlotAxis, QAbstractAxis*> m_axes;
std::map<RiuPlotAxis, bool> m_axesEnabled;
std::map<RiuPlotAxis, bool> m_axesAutoScale;
std::map<RiuPlotCurve*, QtCharts::QAbstractSeries*> m_lineSeriesMap;
std::map<RiuPlotCurve*, QtCharts::QAbstractSeries*> m_areaSeriesMap;
std::map<RiuPlotCurve*, QtCharts::QAbstractSeries*> m_scatterSeriesMap;
std::map<RiuPlotCurve*, QAbstractSeries*> m_lineSeriesMap;
std::map<RiuPlotCurve*, QAbstractSeries*> m_areaSeriesMap;
std::map<RiuPlotCurve*, QAbstractSeries*> m_scatterSeriesMap;
RiuQwtDateScaleWrapper* m_dateScaleWrapper;
RiuQtChartsToolTip* m_toolTip;

View File

@@ -24,12 +24,10 @@
#include <QtGui/QPainter>
#include <QtWidgets/QGraphicsSceneMouseEvent>
using namespace QtCharts;
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuQtChartsToolTip::RiuQtChartsToolTip( QChart* chart, QtCharts::QAbstractSeries* series )
RiuQtChartsToolTip::RiuQtChartsToolTip( QChart* chart, QAbstractSeries* series )
: QGraphicsItem( chart )
, m_chart( chart )
, m_series( series )

View File

@@ -26,9 +26,9 @@
class RiuQtChartsToolTip : public QGraphicsItem
{
public:
RiuQtChartsToolTip( QtCharts::QChart* parent, QtCharts::QAbstractSeries* series );
RiuQtChartsToolTip( QChart* parent, QAbstractSeries* series );
void setSeries( QtCharts::QAbstractSeries* series );
void setSeries( QAbstractSeries* series );
void setText( const QString& text );
void setAnchor( QPointF point );
void updateGeometry();
@@ -37,12 +37,12 @@ public:
void paint( QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget ) override;
private:
QString m_text;
QRectF m_textRect;
QRectF m_rect;
QPointF m_anchor;
QFont m_font;
int m_radius;
QtCharts::QChart* m_chart;
QtCharts::QAbstractSeries* m_series;
QString m_text;
QRectF m_textRect;
QRectF m_rect;
QPointF m_anchor;
QFont m_font;
int m_radius;
QChart* m_chart;
QAbstractSeries* m_series;
};

View File

@@ -55,7 +55,7 @@ RiuTreeViewEventFilter::RiuTreeViewEventFilter( QObject* parent, caf::PdmUiTreeV
//--------------------------------------------------------------------------------------------------
bool RiuTreeViewEventFilter::activateFeatureFromKeyEvent( QKeyEvent* keyEvent )
{
QKeySequence keySeq( keyEvent->modifiers() + keyEvent->key() );
QKeySequence keySeq( keyEvent->keyCombination() );
bool wasFeatureActivated = false;
@@ -137,7 +137,7 @@ bool RiuTreeViewEventFilter::eventFilter( QObject* obj, QEvent* event )
}
else
{
QKeySequence keySeq( keyEvent->modifiers() + keyEvent->key() );
QKeySequence keySeq( keyEvent->keyCombination() );
matches = caf::CmdFeatureManager::instance()->commandFeaturesMatchingKeyboardShortcut( keySeq );
}

View File

@@ -1107,7 +1107,7 @@ void RiuViewer::mouseMoveEvent( QMouseEvent* mouseEvent )
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuViewer::enterEvent( QEvent* e )
void RiuViewer::enterEvent( QEnterEvent* e )
{
if ( s_hoverCursor )
{

View File

@@ -143,7 +143,7 @@ protected:
void optimizeClippingPlanes() override;
void resizeGL( int width, int height ) override;
void mouseMoveEvent( QMouseEvent* e ) override;
void enterEvent( QEvent* e ) override;
void enterEvent( QEnterEvent* e ) override;
void leaveEvent( QEvent* ) override;
private: