From 094e1f12945a04507054b5a5bad94b72a7982fb7 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 16 Aug 2016 15:46:30 +0200 Subject: Make Path and PathView configurable Change-Id: Ie9e35612fc274def96d63ef35817c03475077f1f Reviewed-by: Oswald Buddenhagen Reviewed-by: Simon Hausmann --- src/quick/configure.json | 23 +++++++++++++++++++++-- src/quick/items/items.pri | 11 ++++++++--- src/quick/items/qquickitemanimation.cpp | 6 ++++++ src/quick/items/qquickitemanimation_p.h | 6 ++++++ src/quick/items/qquickitemanimation_p_p.h | 5 +++++ src/quick/items/qquickitemsmodule.cpp | 14 ++++++++++++++ src/quick/items/qquickpathview_p.h | 4 ++++ src/quick/items/qquickpathview_p_p.h | 4 ++++ src/quick/util/qquickpath_p.h | 4 ++++ src/quick/util/qquickpath_p_p.h | 4 ++++ src/quick/util/qquickpathinterpolator_p.h | 4 ++++ src/quick/util/util.pri | 15 ++++++++++----- 12 files changed, 90 insertions(+), 10 deletions(-) (limited to 'src/quick') diff --git a/src/quick/configure.json b/src/quick/configure.json index 00e0b52905..8a0c6e3562 100644 --- a/src/quick/configure.json +++ b/src/quick/configure.json @@ -8,7 +8,9 @@ "commandline": { "options": { "d3d12": "boolean", - "quick-canvas": "boolean" + "quick-canvas": "boolean", + "quick-path": "boolean", + "quick-pathview": "boolean" } }, @@ -35,6 +37,21 @@ "output": [ "privateFeature" ] + }, + "quick-path": { + "label": "Path support", + "purpose": "Provides Path elements in Qt Quick", + "output": [ + "privateFeature" + ] + }, + "quick-pathview": { + "label": "PathView item", + "purpose": "Provides the Qt Quick PathView item", + "condition": "features.quick-path", + "output": [ + "privateFeature" + ] } }, @@ -43,7 +60,9 @@ "section": "Qt Quick", "entries": [ "d3d12", - "quick-canvas" + "quick-canvas", + "quick-path", + "quick-pathview" ] } ] diff --git a/src/quick/items/items.pri b/src/quick/items/items.pri index eb9afdcd0e..703acaa9e8 100644 --- a/src/quick/items/items.pri +++ b/src/quick/items/items.pri @@ -45,8 +45,6 @@ HEADERS += \ $$PWD/qquickrepeater_p.h \ $$PWD/qquickrepeater_p_p.h \ $$PWD/qquickgridview_p.h \ - $$PWD/qquickpathview_p.h \ - $$PWD/qquickpathview_p_p.h \ $$PWD/qquickpositioners_p.h \ $$PWD/qquickpositioners_p_p.h \ $$PWD/qquickloader_p.h \ @@ -114,7 +112,6 @@ SOURCES += \ $$PWD/qquicklistview.cpp \ $$PWD/qquickrepeater.cpp \ $$PWD/qquickgridview.cpp \ - $$PWD/qquickpathview.cpp \ $$PWD/qquickpositioners.cpp \ $$PWD/qquickloader.cpp \ $$PWD/qquickanimatedimage.cpp \ @@ -146,6 +143,14 @@ SOURCES += \ $$PWD/qquickspritesequence.cpp \ $$PWD/qquickanimatedsprite.cpp +qtConfig(quick-pathview) { + HEADERS += \ + $$PWD/qquickpathview_p.h \ + $$PWD/qquickpathview_p_p.h + SOURCES += \ + $$PWD/qquickpathview.cpp +} + # Items that depend on OpenGL Renderer qtConfig(opengl(es1|es2)?) { SOURCES += \ diff --git a/src/quick/items/qquickitemanimation.cpp b/src/quick/items/qquickitemanimation.cpp index 5c0caf5ca2..fd4a7d733f 100644 --- a/src/quick/items/qquickitemanimation.cpp +++ b/src/quick/items/qquickitemanimation.cpp @@ -42,7 +42,9 @@ #include "qquickstateoperations_p.h" #include +#if QT_CONFIG(quick_path) #include +#endif #include "private/qparallelanimationgroupjob_p.h" #include "private/qsequentialanimationgroupjob_p.h" @@ -554,6 +556,8 @@ QAbstractAnimationJob* QQuickAnchorAnimation::transition(QQuickStateActions &act return initInstance(animator); } + +#if QT_CONFIG(quick_path) /*! \qmltype PathAnimation \instantiates QQuickPathAnimation @@ -1044,4 +1048,6 @@ QQuickPathAnimationAnimator::~QQuickPathAnimationAnimator() } } +#endif // quick_path + QT_END_NAMESPACE diff --git a/src/quick/items/qquickitemanimation_p.h b/src/quick/items/qquickitemanimation_p.h index df80272eaa..a503cff223 100644 --- a/src/quick/items/qquickitemanimation_p.h +++ b/src/quick/items/qquickitemanimation_p.h @@ -124,6 +124,8 @@ protected: QObject *defaultTarget = 0) Q_DECL_OVERRIDE; }; +#if QT_CONFIG(quick_path) + class QQuickItem; class QQuickPath; class QQuickPathAnimationPrivate; @@ -199,10 +201,14 @@ Q_SIGNALS: void endRotationChanged(qreal); }; +#endif + QT_END_NAMESPACE QML_DECLARE_TYPE(QQuickParentAnimation) QML_DECLARE_TYPE(QQuickAnchorAnimation) +#if QT_CONFIG(quick_path) QML_DECLARE_TYPE(QQuickPathAnimation) +#endif #endif // QQUICKITEMANIMATION_H diff --git a/src/quick/items/qquickitemanimation_p_p.h b/src/quick/items/qquickitemanimation_p_p.h index 5b18e4b0ae..92dd84e4a9 100644 --- a/src/quick/items/qquickitemanimation_p_p.h +++ b/src/quick/items/qquickitemanimation_p_p.h @@ -53,7 +53,9 @@ #include "qquickitemanimation_p.h" +#if QT_CONFIG(quick_path) #include +#endif #include QT_BEGIN_NAMESPACE @@ -84,6 +86,8 @@ public: QList targets; }; +#if QT_CONFIG(quick_path) + class QQuickPathAnimationUpdater : public QQuickBulkValueUpdater { public: @@ -153,6 +157,7 @@ public: QHash activeAnimations; }; +#endif QT_END_NAMESPACE diff --git a/src/quick/items/qquickitemsmodule.cpp b/src/quick/items/qquickitemsmodule.cpp index 6bb6cdddba..dffefa5869 100644 --- a/src/quick/items/qquickitemsmodule.cpp +++ b/src/quick/items/qquickitemsmodule.cpp @@ -57,10 +57,14 @@ #include "qquickflickable_p_p.h" #include "qquicklistview_p.h" #include "qquickgridview_p.h" +#if QT_CONFIG(quick_pathview) #include "qquickpathview_p.h" +#endif #include "qquickitemviewtransition_p.h" +#if QT_CONFIG(quick_path) #include #include +#endif #include "qquickpositioners_p.h" #include "qquickrepeater_p.h" #include "qquickloader_p.h" @@ -157,6 +161,7 @@ static void qt_quickitems_defineModule(const char *uri, int major, int minor) qmlRegisterType(uri,major,minor,"ListView"); qmlRegisterType(uri,major,minor,"Loader"); qmlRegisterType(uri,major,minor,"MouseArea"); +#if QT_CONFIG(quick_path) qmlRegisterType(uri,major,minor,"Path"); qmlRegisterType(uri,major,minor,"PathAttribute"); qmlRegisterType(uri,major,minor,"PathCubic"); @@ -166,7 +171,10 @@ static void qt_quickitems_defineModule(const char *uri, int major, int minor) qmlRegisterType("QtQuick",2,0,"PathCurve"); qmlRegisterType("QtQuick",2,0,"PathArc"); qmlRegisterType("QtQuick",2,0,"PathSvg"); +#endif +#if QT_CONFIG(quick_pathview) qmlRegisterType(uri,major,minor,"PathView"); +#endif qmlRegisterUncreatableType(uri,major,minor,"Positioner", QStringLiteral("Positioner is an abstract type that is only available as an attached property.")); qmlRegisterType(uri,major,minor,"Rectangle"); @@ -191,8 +199,10 @@ static void qt_quickitems_defineModule(const char *uri, int major, int minor) qmlRegisterType(); qmlRegisterType(); qmlRegisterType(); +#if QT_CONFIG(quick_path) qmlRegisterType(); qmlRegisterType(); +#endif qmlRegisterType(); qmlRegisterType(); qmlRegisterType(); @@ -231,8 +241,10 @@ static void qt_quickitems_defineModule(const char *uri, int major, int minor) qmlRegisterType(); qmlRegisterType(uri, major, minor,"AnchorAnimation"); qmlRegisterType(uri, major, minor,"ParentAnimation"); +#if QT_CONFIG(quick_canvas) qmlRegisterType("QtQuick",2,0,"PathAnimation"); qmlRegisterType("QtQuick",2,0,"PathInterpolator"); +#endif #ifndef QT_NO_DRAGANDDROP qmlRegisterType("QtQuick", 2, 0, "DropArea"); @@ -293,7 +305,9 @@ static void qt_quickitems_defineModule(const char *uri, int major, int minor) qmlRegisterType(uri, 2, 7, "GridView"); qmlRegisterType(uri, 2, 7, "TextInput"); qmlRegisterType(uri, 2, 7, "TextEdit"); +#if QT_CONFIG(quick_pathview) qmlRegisterType(uri, 2, 7, "PathView"); +#endif qmlRegisterUncreatableType(uri, 2, 7, nullptr, QQuickMouseEvent::tr("MouseEvent is only available within handlers in MouseArea")); diff --git a/src/quick/items/qquickpathview_p.h b/src/quick/items/qquickpathview_p.h index bdd56b6311..a44d1be5c4 100644 --- a/src/quick/items/qquickpathview_p.h +++ b/src/quick/items/qquickpathview_p.h @@ -51,6 +51,10 @@ // We mean it. // +#include + +QT_REQUIRE_CONFIG(quick_pathview); + #include "qquickitem.h" #include diff --git a/src/quick/items/qquickpathview_p_p.h b/src/quick/items/qquickpathview_p_p.h index 0441603a4b..64abe3d1dc 100644 --- a/src/quick/items/qquickpathview_p_p.h +++ b/src/quick/items/qquickpathview_p_p.h @@ -51,6 +51,10 @@ // We mean it. // +#include + +QT_REQUIRE_CONFIG(quick_pathview); + #include "qquickpathview_p.h" #include "qquickitem_p.h" diff --git a/src/quick/util/qquickpath_p.h b/src/quick/util/qquickpath_p.h index fa6cbc668a..457f69d20f 100644 --- a/src/quick/util/qquickpath_p.h +++ b/src/quick/util/qquickpath_p.h @@ -51,6 +51,10 @@ // We mean it. // +#include + +QT_REQUIRE_CONFIG(quick_path); + #include #include diff --git a/src/quick/util/qquickpath_p_p.h b/src/quick/util/qquickpath_p_p.h index 3e4ccc7eb6..1dc3c1c47a 100644 --- a/src/quick/util/qquickpath_p_p.h +++ b/src/quick/util/qquickpath_p_p.h @@ -51,6 +51,10 @@ // We mean it. // +#include + +QT_REQUIRE_CONFIG(quick_path); + #include "qquickpath_p.h" #include diff --git a/src/quick/util/qquickpathinterpolator_p.h b/src/quick/util/qquickpathinterpolator_p.h index ce18190977..0fdb1a444f 100644 --- a/src/quick/util/qquickpathinterpolator_p.h +++ b/src/quick/util/qquickpathinterpolator_p.h @@ -51,6 +51,10 @@ // We mean it. // +#include + +QT_REQUIRE_CONFIG(quick_path); + #include #include diff --git a/src/quick/util/util.pri b/src/quick/util/util.pri index 66792536d7..1ef1018a31 100644 --- a/src/quick/util/util.pri +++ b/src/quick/util/util.pri @@ -17,8 +17,6 @@ SOURCES += \ $$PWD/qquickbehavior.cpp \ $$PWD/qquickfontloader.cpp \ $$PWD/qquickstyledtext.cpp \ - $$PWD/qquickpath.cpp \ - $$PWD/qquickpathinterpolator.cpp \ $$PWD/qquickimageprovider.cpp \ $$PWD/qquicksvgparser.cpp \ $$PWD/qquickvaluetypes.cpp \ @@ -55,9 +53,6 @@ HEADERS += \ $$PWD/qquickbehavior_p.h \ $$PWD/qquickfontloader_p.h \ $$PWD/qquickstyledtext_p.h \ - $$PWD/qquickpath_p.h \ - $$PWD/qquickpath_p_p.h \ - $$PWD/qquickpathinterpolator_p.h \ $$PWD/qquickimageprovider.h \ $$PWD/qquicksvgparser_p.h \ $$PWD/qquickvaluetypes_p.h \ @@ -70,3 +65,13 @@ HEADERS += \ $$PWD/qquicktextmetrics_p.h \ $$PWD/qquickshortcut_p.h \ $$PWD/qquickvalidator_p.h + +qtConfig(quick-path) { + SOURCES += \ + $$PWD/qquickpath.cpp \ + $$PWD/qquickpathinterpolator.cpp + HEADERS += \ + $$PWD/qquickpath_p.h \ + $$PWD/qquickpath_p_p.h \ + $$PWD/qquickpathinterpolator_p.h +} -- cgit v1.2.3