From beb167a963b1d9161c26769aa08be4670206249e Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Wed, 1 Dec 2021 13:46:58 +0100 Subject: [PATCH 01/12] Add qt's toolchain file to initial cmake arguments for Windows on ARM64 Fixes: QTCREATORBUG-26636 Change-Id: Id9fc9f3c2242136d2fa4d42e7e64b038a50b1809 Reviewed-by: Cristian Adam --- .../cmakeprojectmanager/cmakebuildconfiguration.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index f43decd9406..6f74bc9126e 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -805,6 +805,13 @@ static bool isDocker(const Kit *k) return DeviceTypeKitAspect::deviceTypeId(k) == Docker::Constants::DOCKER_DEVICE_TYPE; } +static bool isWindowsARM64(const Kit *k) +{ + const auto targetAbi = ToolChainKitAspect::cxxToolChain(k)->targetAbi(); + return targetAbi.os() == Abi::WindowsOS && targetAbi.architecture() == Abi::ArmArchitecture + && targetAbi.wordWidth() == 64; +} + static QStringList defaultInitialCMakeArguments(const Kit *k, const QString buildType) { // Generator: @@ -991,7 +998,7 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id) initialArgs.append("%{" + QLatin1String(CMAKE_OSX_ARCHITECTURES_FLAG) + "}"); } - if (isWebAssembly(k) || isQnx(k)) { + if (isWebAssembly(k) || isQnx(k) || isWindowsARM64(k)) { const QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(k); if (qt && qt->qtVersion().majorVersion >= 6) initialArgs.append(CMAKE_QT6_TOOLCHAIN_FILE_ARG); From eadc9cb0e3f7c007c79e01dd96e4bd0a56066f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4=C3=A4tt=C3=A4?= Date: Mon, 22 Nov 2021 13:32:14 +0200 Subject: [PATCH 02/12] Improve particle system animation driver - Do not automatically restart particle system animation when pressing the restart button if the animation is paused. - Use own QElapsedTimer in AnimationDriver and properly handle animation driver pausing. Change-Id: Ic2924fb66fddffb8878625be8fa766f06219ca61 Reviewed-by: Miikka Heikkinen Reviewed-by: Qt CI Bot Reviewed-by: Thomas Hartmann --- .../qml2puppet/instances/animationdriver.cpp | 13 ++++----- .../qml2puppet/instances/animationdriver.h | 27 ++++++++++++++++--- .../qt5informationnodeinstanceserver.cpp | 14 +++++----- .../components/edit3d/edit3dview.cpp | 8 +----- 4 files changed, 39 insertions(+), 23 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/animationdriver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/animationdriver.cpp index 4f32513b7ec..d8ef223104d 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/animationdriver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/animationdriver.cpp @@ -31,8 +31,6 @@ AnimationDriver::AnimationDriver(QObject *parent) { setProperty("allowNegativeDelta", true); install(); - connect(this, SIGNAL(started()), this, SLOT(startTimer())); - connect(this, SIGNAL(stopped()), this, SLOT(stopTimer())); } AnimationDriver::~AnimationDriver() @@ -49,10 +47,13 @@ void AnimationDriver::timerEvent(QTimerEvent *e) // Provide same time for all users if (m_seekerEnabled) { m_seekerElapsed += (m_seekerPos * 100) / 30; - if (m_seekerElapsed + m_elapsed < -100) // -100 to allow small negative value - m_seekerElapsed = -m_elapsed - 100; + if (m_seekerElapsed + m_elapsed - m_pauseTime < -100) // -100 to allow small negative value + m_seekerElapsed = -(m_elapsed - m_pauseTime) - 100; } else { - m_elapsed = QAnimationDriver::elapsed(); + if (!m_elapsedTimer.isValid()) + m_elapsedTimer.restart(); + else + m_elapsed = m_elapsedTimer.elapsed(); } m_delta = elapsed() - old; advance(); @@ -75,7 +76,7 @@ void AnimationDriver::setSeekerPosition(int position) return; if (!m_timer.isActive()) - restart(); + startTimer(); m_seekerPos = position; } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/animationdriver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/animationdriver.h index f4f50f0afcd..e8e84d7dfde 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/animationdriver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/animationdriver.h @@ -27,6 +27,7 @@ #include #include +#include #include class AnimationDriver : public QAnimationDriver @@ -46,17 +47,34 @@ public: } void reset() { - stop(); + m_elapsedTimer.invalidate(); + m_pauseBegin = 0; + m_pauseTime = 0; + m_elapsed = 0; + m_seekerElapsed = 0; stopTimer(); } void restart() { - start(); + m_pauseTime = 0; + m_elapsed = 0; + m_seekerElapsed = 0; + startTimer(); + } + void pause() + { + m_pauseBegin = m_elapsedTimer.elapsed(); + stopTimer(); + } + void play() + { + if (m_elapsedTimer.isValid()) + m_pauseTime += m_elapsedTimer.elapsed() - m_pauseBegin; startTimer(); } qint64 elapsed() const override { - return m_elapsed + m_seekerElapsed; + return m_elapsed + m_seekerElapsed - m_pauseTime; } void setSeekerPosition(int position); void setSeekerEnabled(bool enable) @@ -79,10 +97,13 @@ private: Q_SLOT void stopTimer(); QBasicTimer m_timer; + QElapsedTimer m_elapsedTimer; int m_interval = 16; int m_seekerPos = 0; bool m_seekerEnabled = false; qint64 m_elapsed = 0; qint64 m_seekerElapsed = 0; qint64 m_delta = 0; + qint64 m_pauseTime = 0; + qint64 m_pauseBegin = 0; }; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp index afc4adcae04..16dc3dbe5fd 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp @@ -2078,21 +2078,21 @@ void Qt5InformationNodeInstanceServer::view3DAction(const View3DActionCommand &c m_particleAnimationPlaying = command.isEnabled(); updatedState.insert("particlePlay", command.isEnabled()); if (m_particleAnimationPlaying) { - m_particleAnimationDriver->reset(); - m_particleAnimationDriver->restart(); + m_particleAnimationDriver->play(); m_particleAnimationDriver->setSeekerEnabled(false); m_particleAnimationDriver->setSeekerPosition(0); } else { - m_particleAnimationDriver->reset(); + m_particleAnimationDriver->pause(); m_particleAnimationDriver->setSeekerEnabled(true); } break; case View3DActionCommand::ParticlesRestart: resetParticleSystem(); - m_particleAnimationPlaying = true; - m_particleAnimationDriver->restart(); - m_particleAnimationDriver->setSeekerEnabled(false); - m_particleAnimationDriver->setSeekerPosition(0); + if (m_particleAnimationPlaying) { + m_particleAnimationDriver->restart(); + m_particleAnimationDriver->setSeekerEnabled(false); + m_particleAnimationDriver->setSeekerPosition(0); + } break; case View3DActionCommand::ParticlesSeek: m_particleAnimationDriver->setSeekerPosition(static_cast(command).position()); diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp index 1c944f49a94..ba5ac595fbd 100644 --- a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp +++ b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp @@ -305,12 +305,6 @@ void Edit3DView::createEdit3DActions() resetPuppet(); }; - SelectionContextOperation particlesRestartTrigger = [this](const SelectionContext &) { - m_particlesPlayAction->action()->setChecked(true); - if (m_seeker) - m_seeker->setEnabled(false); - }; - SelectionContextOperation particlesPlayTrigger = [this](const SelectionContext &) { if (m_seeker) m_seeker->setEnabled(!m_particlesPlayAction->action()->isChecked()); @@ -334,7 +328,7 @@ void Edit3DView::createEdit3DActions() QmlDesigner::Constants::EDIT3D_PARTICLES_RESTART, View3DActionCommand::ParticlesRestart, QCoreApplication::translate("ParticlesRestartAction", "Restart Particles"), QKeySequence(Qt::Key_E), false, false, Icons::EDIT3D_PARTICLE_RESTART.icon(), - Icons::EDIT3D_PARTICLE_RESTART.icon(), particlesRestartTrigger); + Icons::EDIT3D_PARTICLE_RESTART.icon()); m_particlesPlayAction->action()->setEnabled(particlemode); m_particlesRestartAction->action()->setEnabled(particlemode); m_resetAction From 26ba5bdb0cbe69c2b51f2e00dd70f56932feffb3 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 30 Nov 2021 14:57:18 +0200 Subject: [PATCH 03/12] QmlDesigner: Fix puppet crash with nested Repeater3Ds Repeater3D instance instantiated by another Repeater3D got its componentCompleted called twice because a repeater constructing a child repeater already completes the component as part of the process, and then we recursively complete the children again when completing the parent. Added a check to avoid duplicate completions. Fixes: QDS-5651 Change-Id: Iefc7deff4877df903f784396f2efd13468f604b7 Reviewed-by: Samuel Ghinet Reviewed-by: Qt CI Bot Reviewed-by: Thomas Hartmann --- .../qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp index 195fd805f47..03b28bbf658 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp @@ -61,6 +61,10 @@ #include #include +#ifdef QUICK3D_MODULE +#include +#endif + namespace QmlDesigner { namespace Internal { @@ -374,6 +378,11 @@ void doComponentCompleteRecursive(QObject *object, NodeInstanceServer *nodeInsta if (item && DesignerSupport::isComponentComplete(item)) return; +#ifdef QUICK3D_MODULE + auto obj3d = qobject_cast(object); + if (obj3d && QQuick3DObjectPrivate::get(obj3d)->componentComplete) + return; +#endif if (!nodeInstanceServer->hasInstanceForObject(item)) emitComponentComplete(object); From e1370a01ff14b71adc9d601be6621851be2ac357 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 2 Dec 2021 09:10:05 +0100 Subject: [PATCH 04/12] Debugger: Fix interrupting via console Amends 89646aadce. Change-Id: Ibb644dc8897a967bd691155fe5be2eb2165b01f9 Reviewed-by: Christian Stenger Reviewed-by: --- src/libs/utils/process_stub_unix.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/libs/utils/process_stub_unix.c b/src/libs/utils/process_stub_unix.c index 856efa26af9..1cb3e8aa264 100644 --- a/src/libs/utils/process_stub_unix.c +++ b/src/libs/utils/process_stub_unix.c @@ -325,6 +325,13 @@ int main(int argc, char *argv[]) kill(chldPid, SIGKILL); } break; + case 'i': + if (chldPid > 0) { + int res = kill(chldPid, SIGINT); + if (res) + perror("Stub could not interrupt inferior"); + } + break; case 'c': { int res = write(blockingPipe[1], &c, 1); if (res < 0) From 0e696e19fe42043720031f2421c15d76da192e19 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Mon, 29 Nov 2021 12:24:26 +0100 Subject: [PATCH 05/12] QmlJsCheck: Allow new connection syntax in Connections Change-Id: Ibbef3f8e8230d727d3183fa1615e0f38373a3c7f Reviewed-by: Qt CI Bot Reviewed-by: Reviewed-by: Ulf Hermann --- src/libs/qmljs/qmljscheck.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index f280b53c01a..21c501791c6 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -1236,7 +1236,11 @@ bool Check::visit(FunctionExpression *ast) } } - addMessage(ErrFunctionsNotSupportedInQmlUi, locationFromRange(locfunc, loclparen)); + const bool isDirectInConnectionsScope = + (!m_typeStack.isEmpty() && m_typeStack.last() == "Connections"); + + if (!isDirectInConnectionsScope) + addMessage(ErrFunctionsNotSupportedInQmlUi, locationFromRange(locfunc, loclparen)); DeclarationsCheck bodyCheck; addMessages(bodyCheck(ast)); From 4cbfdecaf3be9d27d4c7f2090ac02aaaba7265e3 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 2 Dec 2021 11:39:25 +0100 Subject: [PATCH 06/12] Bump version to 6.0.1 Change-Id: Idc7519d7b74968cb6bdb473ff3dabff18ad0cee5 Reviewed-by: David Schulz --- cmake/QtCreatorIDEBranding.cmake | 4 ++-- qbs/modules/qtc/qtc.qbs | 4 ++-- qtcreator_ide_branding.pri | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake index 270e0fe174c..b27542f98f9 100644 --- a/cmake/QtCreatorIDEBranding.cmake +++ b/cmake/QtCreatorIDEBranding.cmake @@ -1,6 +1,6 @@ -set(IDE_VERSION "6.0.0") # The IDE version. +set(IDE_VERSION "6.0.1") # The IDE version. set(IDE_VERSION_COMPAT "6.0.0") # The IDE Compatibility version. -set(IDE_VERSION_DISPLAY "6.0.0") # The IDE display version. +set(IDE_VERSION_DISPLAY "6.0.1") # The IDE display version. set(IDE_COPYRIGHT_YEAR "2021") # The IDE current copyright year. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index 925d7d615f6..18180fbdb9c 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -3,10 +3,10 @@ import qbs.Environment import qbs.FileInfo Module { - property string qtcreator_display_version: '6.0.0' + property string qtcreator_display_version: '6.0.1' property string ide_version_major: '6' property string ide_version_minor: '0' - property string ide_version_release: '0' + property string ide_version_release: '1' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release diff --git a/qtcreator_ide_branding.pri b/qtcreator_ide_branding.pri index 364f1a70691..26d92194228 100644 --- a/qtcreator_ide_branding.pri +++ b/qtcreator_ide_branding.pri @@ -1,6 +1,6 @@ -QTCREATOR_VERSION = 6.0.0 +QTCREATOR_VERSION = 6.0.1 QTCREATOR_COMPAT_VERSION = 6.0.0 -QTCREATOR_DISPLAY_VERSION = 6.0.0 +QTCREATOR_DISPLAY_VERSION = 6.0.1 QTCREATOR_COPYRIGHT_YEAR = 2021 IDE_DISPLAY_NAME = Qt Creator From 2e42c99522537bc3102aeff4f01671c0234c11b8 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 2 Dec 2021 11:01:46 +0100 Subject: [PATCH 07/12] Prevent litehtml from downloading googletest, take 2 Put BUILD_TESTING into the cache, so it doesn't get overridden by the default option in a clean build via policy CMP0077 Fixes: QTCREATORBUG-26626 Change-Id: I8b90286c82a60ba30eb9b036dac8fca3be82cc2e Reviewed-by: Cristian Adam Reviewed-by: Youri Westerman --- src/libs/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/CMakeLists.txt b/src/libs/CMakeLists.txt index 1fd49e178e1..df1826f7342 100644 --- a/src/libs/CMakeLists.txt +++ b/src/libs/CMakeLists.txt @@ -31,7 +31,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qlitehtml/src/CMakeLists.txt) set(QLITEHTML_DEVEL_EXCLUDE_FROM_ALL ON) set(QLITEHTML_HEADER_PATH "${IDE_HEADER_INSTALL_PATH}/src/lib/qlitehtml") set(QT_VERSION_MAJOR ${Qt5_VERSION_MAJOR}) - set(BUILD_TESTING OFF) # otherwise litehtml downloads googletest + option(BUILD_TESTING "Build litehtml tests" OFF) # otherwise litehtml downloads googletest add_subdirectory(qlitehtml/src) endif() if(TARGET qlitehtml) From dbc4cd6f4a353c2d48c3ca214088759489b3fceb Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 2 Dec 2021 10:16:42 +0100 Subject: [PATCH 08/12] TextEditor: always replace cursor Otherwise some internal data might be outdated. For example inserting text resets the QTextCursorPrivate::x which is used to calculate positions when moving the cursor up or down. Fixes: QTCREATORBUG-26635 Change-Id: I9fee7436a3648f9d3eab7b30f8a09a134c5be356 Reviewed-by: Eike Ziller --- src/plugins/texteditor/texteditor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 28fe278cabd..c1a272a2728 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -6257,10 +6257,10 @@ MultiTextCursor TextEditorWidget::multiTextCursor() const void TextEditorWidget::setMultiTextCursor(const Utils::MultiTextCursor &cursor) { - if (d->m_cursors == cursor) - return; - MultiTextCursor oldCursor = d->m_cursors; + const MultiTextCursor oldCursor = d->m_cursors; const_cast(d->m_cursors) = cursor; + if (oldCursor == d->m_cursors) + return; doSetTextCursor(d->m_cursors.mainCursor(), /*keepMultiSelection*/ true); QRect updateRect = d->cursorUpdateRect(oldCursor); if (d->m_highlightCurrentLine) From 16c8f1a9b6f7658225c1c3f2a4ae6cecd97a5dfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20K=C3=B6hne?= Date: Thu, 2 Dec 2021 16:41:20 +0100 Subject: [PATCH 09/12] Android: Fix use of keytool on Windows Fixes: QTCREATORBUG-26647 Change-Id: I34fd2b4304480186d1a05e2c9101b2cfbd1e8e47 Reviewed-by: Alessandro Portale --- src/plugins/android/androidconfigurations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 0fb2b476e54..6128109e57a 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -590,7 +590,7 @@ FilePath AndroidConfig::openJDKBinPath() const FilePath AndroidConfig::keytoolPath() const { - return openJDKBinPath().pathAppended(keytoolName); + return openJDKBinPath().pathAppended(keytoolName).withExecutableSuffix(); } QVector AndroidConfig::connectedDevices(QString *error) const From 73fb01f4b201f8b9cc4ff195c0068e5466e93712 Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Thu, 2 Dec 2021 13:18:02 +0100 Subject: [PATCH 10/12] QmlDesigner: Add support for video assets * Add *.mp3 as sound asset * Add *.mp4 as video asset Change-Id: If96bab257abf9d0264e374b5f1f92b807b5349a2 Reviewed-by: Mahmoud Badri Reviewed-by: Tim Jenssen --- .../componentcore/componentcore_constants.h | 1 + .../componentcore/designeractionmanager.cpp | 5 ++++- .../componentcore/modelnodeoperations.cpp | 5 +++++ .../componentcore/modelnodeoperations.h | 1 + .../itemlibrary/images/item-video-icon.png | Bin 0 -> 286 bytes .../itemlibrary/images/item-video-icon@2x.png | Bin 0 -> 399 bytes .../components/itemlibrary/itemlibrary.qrc | 2 ++ .../itemlibrary/itemlibraryassetsiconprovider.cpp | 2 ++ .../itemlibrary/itemlibraryassetsmodel.cpp | 9 ++++++++- .../itemlibrary/itemlibraryassetsmodel.h | 1 + .../components/itemlibrary/itemlibrarywidget.cpp | 3 +++ 11 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 src/plugins/qmldesigner/components/itemlibrary/images/item-video-icon.png create mode 100644 src/plugins/qmldesigner/components/itemlibrary/images/item-video-icon@2x.png diff --git a/src/plugins/qmldesigner/components/componentcore/componentcore_constants.h b/src/plugins/qmldesigner/components/componentcore/componentcore_constants.h index 49505d2ca7d..6911ab27c7a 100644 --- a/src/plugins/qmldesigner/components/componentcore/componentcore_constants.h +++ b/src/plugins/qmldesigner/components/componentcore/componentcore_constants.h @@ -221,6 +221,7 @@ const int priorityLast = 60; const char addImagesDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Image Files"); const char addFontsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Font Files"); const char addSoundsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Sound Files"); +const char addVideosDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Video Files"); const char addShadersDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Shader Files"); const char add3DAssetsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "3D Assets"); const char addQt3DSPresentationsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp index 13774c12651..4ac3692589d 100644 --- a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp +++ b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp @@ -1557,12 +1557,15 @@ void DesignerActionManager::createDefaultAddResourceHandler() registerHandlers({"*.otf", "*.ttf"}, ModelNodeOperations::addFontToProject, ComponentCoreConstants::addFontsDisplayString); - registerHandlers({"*.wav"}, + registerHandlers({"*.wav", "*.mp3"}, ModelNodeOperations::addSoundToProject, ComponentCoreConstants::addSoundsDisplayString); registerHandlers({"*.glsl", "*.glslv", "*.glslf", "*.vsh", "*.fsh", "*.vert", "*.frag"}, ModelNodeOperations::addShaderToProject, ComponentCoreConstants::addShadersDisplayString); + registerHandlers({"*.mp4"}, + ModelNodeOperations::addVideoToProject, + ComponentCoreConstants::addVideosDisplayString); } void DesignerActionManager::createDefaultModelNodePreviewImageHandlers() diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp index b4867404954..02633df9f85 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp @@ -1077,6 +1077,11 @@ AddFilesResult addImageToProject(const QStringList &fileNames, const QString &de return addFilesToProject(fileNames, getAssetDefaultDirectory("images", defaultDirectory)); } +AddFilesResult addVideoToProject(const QStringList &fileNames, const QString &defaultDirectory) +{ + return addFilesToProject(fileNames, getAssetDefaultDirectory("videos", defaultDirectory)); +} + void createFlowActionArea(const SelectionContext &selectionContext) { AbstractView *view = selectionContext.view(); diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.h b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.h index feb7faa556f..f9e39c06f48 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.h +++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.h @@ -80,6 +80,7 @@ AddFilesResult addImageToProject(const QStringList &fileNames, const QString &di AddFilesResult addFontToProject(const QStringList &fileNames, const QString &directory); AddFilesResult addSoundToProject(const QStringList &fileNames, const QString &directory); AddFilesResult addShaderToProject(const QStringList &fileNames, const QString &directory); +AddFilesResult addVideoToProject(const QStringList &fileNames, const QString &directory); void createFlowActionArea(const SelectionContext &selectionContext); void addTransition(const SelectionContext &selectionState); void addFlowEffect(const SelectionContext &selectionState, const TypeName &typeName); diff --git a/src/plugins/qmldesigner/components/itemlibrary/images/item-video-icon.png b/src/plugins/qmldesigner/components/itemlibrary/images/item-video-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..df1b84e5c99654bc885875e39a7db24db89f20b0 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoo_e}ChIn+oy}HoL#ZjdF zaUTMeiw<@guf*YG-ZN3QK>DBb;=+M4q4;Wsz?Y=0jr~GKq q^^T76IjL#v+yQ6zop~up{WcE3=E#GelF{r5}E*sDSRFP literal 0 HcmV?d00001 diff --git a/src/plugins/qmldesigner/components/itemlibrary/images/item-video-icon@2x.png b/src/plugins/qmldesigner/components/itemlibrary/images/item-video-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4b9f31faf390bcf63565bd4405cf088cd9c26c70 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4rT@hhJ-tuTNxM_8UuVnTp1V`{{R2KV&H&& zMK&h`1A|sckY6wZ0}BVAps1LHl(ek2jh$y|c0pn3#7UE<&D_4@>Vt=mpFDs4_TBpr zfBycP8pD5yfq`MNr;B5V$MLsQJ^7m)B%HOm@*cEVE9kAb@&7-wt%sAr#D(gfGs=HY z+LxmDc7ZyR_7-Obx7kmQ%Fo%BTqArZ!re@Jar4nrM^%z-zh?@TPYeIlA?qt+_p{Px zl4a210!9XVExijq^7sCEI!dgQe|phn#hzWA4%!h9;}1oOKCugtRxgi=<1L)7RQS^= i{C?Q))KZrU=A+`5reqtLeqdl=VDNPHb6Mw<&;$SyR=YU> literal 0 HcmV?d00001 diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.qrc b/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.qrc index b1777bbbec6..c6d60413d07 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.qrc +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrary.qrc @@ -33,5 +33,7 @@ images/x@2x.png images/browse.png images/browse@2x.png + images/item-video-icon.png + images/item-video-icon@2x.png diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsiconprovider.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsiconprovider.cpp index ece6e8abaab..ad6f3136837 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsiconprovider.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsiconprovider.cpp @@ -54,6 +54,8 @@ QPixmap ItemLibraryAssetsIconProvider::requestPixmap(const QString &id, QSize *s pixmap = Utils::StyleHelper::dpiSpecificImageFile(":/ItemLibrary/images/asset_shader_48.png"); else if (ItemLibraryAssetsModel::supportedAudioSuffixes().contains(suffix)) pixmap = Utils::StyleHelper::dpiSpecificImageFile(":/ItemLibrary/images/asset_sound_48.png"); + else if (ItemLibraryAssetsModel::supportedVideoSuffixes().contains(suffix)) + pixmap = Utils::StyleHelper::dpiSpecificImageFile(":/ItemLibrary/images/item-video-icon.png"); if (size) { size->setWidth(pixmap.width()); diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsmodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsmodel.cpp index caaaa374528..5fa13c3c16b 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsmodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsmodel.cpp @@ -167,7 +167,13 @@ const QStringList &ItemLibraryAssetsModel::supportedFontSuffixes() const QStringList &ItemLibraryAssetsModel::supportedAudioSuffixes() { - static const QStringList retList {"*.wav"}; + static const QStringList retList {"*.wav", "*.mp3"}; + return retList; +} + +const QStringList &ItemLibraryAssetsModel::supportedVideoSuffixes() +{ + static const QStringList retList {"*.mp4"}; return retList; } @@ -300,6 +306,7 @@ const QSet &ItemLibraryAssetsModel::supportedSuffixes() const insertSuffixes(supportedShaderSuffixes()); insertSuffixes(supportedFontSuffixes()); insertSuffixes(supportedAudioSuffixes()); + insertSuffixes(supportedVideoSuffixes()); insertSuffixes(supportedTexture3DSuffixes()); } return allSuffixes; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsmodel.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsmodel.h index c1dcc845da0..f7621563492 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsmodel.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetsmodel.h @@ -66,6 +66,7 @@ public: static const QStringList &supportedShaderSuffixes(); static const QStringList &supportedFontSuffixes(); static const QStringList &supportedAudioSuffixes(); + static const QStringList &supportedVideoSuffixes(); static const QStringList &supportedTexture3DSuffixes(); const QSet &previewableSuffixes() const; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index 4c02b25433b..c8720385c07 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -552,6 +552,9 @@ QPair ItemLibraryWidget::getAssetTypeAndData(const QString } else if (ItemLibraryAssetsModel::supportedAudioSuffixes().contains(suffix)) { // No extra data for sounds return {"application/vnd.bauhaus.libraryresource.sound", {}}; + } else if (ItemLibraryAssetsModel::supportedVideoSuffixes().contains(suffix)) { + // No extra data for videos + return {"application/vnd.bauhaus.libraryresource.video", {}}; } else if (ItemLibraryAssetsModel::supportedTexture3DSuffixes().contains(suffix)) { // Data: Image format (suffix) return {"application/vnd.bauhaus.libraryresource.texture3d", suffix.toUtf8()}; From 9dd6635970c0921ec7e97cc9a36bb3e7cf06c87f Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Thu, 2 Dec 2021 13:04:39 +0100 Subject: [PATCH 11/12] QmlDesigner: Add VideoOutput * Add VideoOutput * Add ComboBoxes to MediaPlayer specifics for selecting audio and video output ids Change-Id: I52ea764b1301492754676a97d8d122275ba6dd81 Reviewed-by: Reviewed-by: Tim Jenssen --- .../QtMultimedia/MediaPlayerSection.qml | 36 ++++++++++++++++++ .../QtMultimedia/VideoOutputSpecifics.qml | 37 +++++++++++++++++++ .../qmldesigner/qtquickplugin/quick.metainfo | 20 ++++++++++ 3 files changed, 93 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/VideoOutputSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/MediaPlayerSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/MediaPlayerSection.qml index b76a1bd0fb5..979a276e6e2 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/MediaPlayerSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/MediaPlayerSection.qml @@ -52,5 +52,41 @@ Section { ExpandingSpacer {} } + + PropertyLabel { + text: qsTr("Audio Output") + tooltip: qsTr("Holds the target audio output.") + } + + SecondColumnLayout { + ItemFilterComboBox { + implicitWidth: StudioTheme.Values.singleControlColumnWidth + + StudioTheme.Values.actionIndicatorWidth + width: implicitWidth + typeFilter: "QtQuick.AudioOutput" + validator: RegExpValidator { regExp: /(^$|^[a-z_]\w*)/ } + backendValue: backendValues.audioOutput + } + + ExpandingSpacer {} + } + + PropertyLabel { + text: qsTr("Video Output") + tooltip: qsTr("Holds the target video output.") + } + + SecondColumnLayout { + ItemFilterComboBox { + implicitWidth: StudioTheme.Values.singleControlColumnWidth + + StudioTheme.Values.actionIndicatorWidth + width: implicitWidth + typeFilter: "QtQuick.VideoOutput" + validator: RegExpValidator { regExp: /(^$|^[a-z_]\w*)/ } + backendValue: backendValues.videoOutput + } + + ExpandingSpacer {} + } } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/VideoOutputSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/VideoOutputSpecifics.qml new file mode 100644 index 00000000000..66f29f1cada --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/VideoOutputSpecifics.qml @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +import QtQuick 2.15 +import QtQuick.Layouts 1.15 +import HelperWidgets 2.0 +import StudioControls 1.0 as StudioControls +import StudioTheme 1.0 as StudioTheme + +Column { + anchors.left: parent.left + anchors.right: parent.right + + VideoSection {} +} diff --git a/src/plugins/qmldesigner/qtquickplugin/quick.metainfo b/src/plugins/qmldesigner/qtquickplugin/quick.metainfo index 7858ca08ea1..ef81ae181bf 100644 --- a/src/plugins/qmldesigner/qtquickplugin/quick.metainfo +++ b/src/plugins/qmldesigner/qtquickplugin/quick.metainfo @@ -564,6 +564,26 @@ MetaInfo { } } + Type { + name: "QtMultimedia.VideoOutput" + icon: ":/qtquickplugin/images/video-output-16px.png" + + Hints { + visibleInNavigator: true + canBeDroppedInNavigator: true + canBeDroppedInFormEditor: false + canBeContainer: false + } + + ItemLibraryEntry { + name: "Video Output" + category: "f.Qt Quick - Multimedia" + libraryIcon: ":/qtquickplugin/images/video-output-24px.png" + version: "6.0" + requiredImport: "QtMultimedia" + } + } + Type { name: "QtMultimedia.Video" icon: ":/qtquickplugin/images/video-16px.png" From 40c2d9a06bfa3adb4670fdc2e5bef7659d83bd04 Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Thu, 2 Dec 2021 12:05:31 +0100 Subject: [PATCH 12/12] QmlDesigner: Remove audio wrapper Remove the custom audio convenience type which should mimic the QML Video convenience type only for audio. The custom convenience wrapper is not working, because MediaPlayer is a QObject and can't have children. Change-Id: Ic8d06e6397d8b7bb3bc531d47c1cb0b92142a742 Reviewed-by: Reviewed-by: Tim Jenssen --- .../QtMultimedia/AudioSection.qml | 67 ------------------ .../qtquickplugin/images/audio-16px.png | Bin 267 -> 0 bytes .../qtquickplugin/images/audio-24px.png | Bin 521 -> 0 bytes .../qtquickplugin/images/audio-24px@2x.png | Bin 1026 -> 0 bytes .../qtquickplugin/qtquickplugin.qrc | 4 -- .../qmldesigner/qtquickplugin/quick.metainfo | 22 ------ .../qtquickplugin/source/audio.qml | 35 --------- 7 files changed, 128 deletions(-) delete mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/AudioSection.qml delete mode 100644 src/plugins/qmldesigner/qtquickplugin/images/audio-16px.png delete mode 100644 src/plugins/qmldesigner/qtquickplugin/images/audio-24px.png delete mode 100644 src/plugins/qmldesigner/qtquickplugin/images/audio-24px@2x.png delete mode 100644 src/plugins/qmldesigner/qtquickplugin/source/audio.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/AudioSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/AudioSection.qml deleted file mode 100644 index db226e755a9..00000000000 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtMultimedia/AudioSection.qml +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2021 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -import QtQuick 2.15 -import QtQuick.Layouts 1.15 -import HelperWidgets 2.0 -import StudioControls 1.0 as StudioControls -import StudioTheme 1.0 as StudioTheme - -Section { - caption: qsTr("Audio") - - anchors.left: parent.left - anchors.right: parent.right - - SectionLayout { - PropertyLabel { text: qsTr("Volume") } - - SecondColumnLayout { - SpinBox { - implicitWidth: StudioTheme.Values.twoControlColumnWidth - + StudioTheme.Values.actionIndicatorWidth - backendValue: backendValues.volume - decimals: 1 - minimumValue: 0.0 - maximumValue: 1.0 - } - - ExpandingSpacer {} - } - - PropertyLabel { text: qsTr("Muted") } - - SecondColumnLayout { - CheckBox { - implicitWidth: StudioTheme.Values.twoControlColumnWidth - + StudioTheme.Values.actionIndicatorWidth - backendValue: backendValues.muted - text: backendValues.muted.valueToString - } - - ExpandingSpacer {} - } - } -} diff --git a/src/plugins/qmldesigner/qtquickplugin/images/audio-16px.png b/src/plugins/qmldesigner/qtquickplugin/images/audio-16px.png deleted file mode 100644 index d9fd2f57bf4498e4abbbbfd4645bfa62e272bdbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+T=H~r4AD5>I&nX@W1z@! zeL+_Zv%$%fP@7I6)bCt#Yr*nS) zy>rg?`KsB!bb}upS-y`w^V*mBmDA?@%$qsegZn7N%u0I8OQzxj}t_grVr$ zdEb~<6sfwpt(sIN>85aGnqgVk79B=MsYyFu8vbN6*?D3!JI~taBbJwss`dt4S<(GW z-l0|5kSplvSHrzg;j#rMCkUG9e3S^E`ZysXq+M9^^Qy&X;vD9*T+P2xFr)8Z?RVJ= YF%LrTFVdQ&MBb@0DvcRdjJ3c diff --git a/src/plugins/qmldesigner/qtquickplugin/images/audio-24px.png b/src/plugins/qmldesigner/qtquickplugin/images/audio-24px.png deleted file mode 100644 index 9e477c806db00f9ddc7552df5db78f6d551c6887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 521 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJoFL=5*hIn*dy=I*)8Ysg0 z;Qc)guNnuIgKBOY1%!@>BXX~w>>MYv9Qm!UP#RNriL~6D+nJM15 zv0{Nxi-{7)v1~(iA-$PT+OoOKd7huK%f2@2c-(KF#aFW;PiL&tw3b@Un4TtFJEObf z{@j?$AB9t%2`u}_>z-xscjnE_S&e6G+OJFKtemH6@c2i^@|ibpPjpDjJ9kFYXHmJO zj@h(AmhVQJH?DC=<9n>@x6WaY!1al#bt2*mCeD1lVI^-3*Yyqi+TKLC*qk|IcjtKe zoN&>z(mW5f%S=Bq73Us5V)UdtS)#o_DqQ)I`noAw-&))`a*eO!)gw{4=|7*Ixznru zBcMn*R&s4cqRjq~siihbQ5BI2&9T;&O8Zv)as2x3VX)-(zpukC-n$VM%boI!?~V5I z_or^eAG^7Z#VdNp(odIdbP0l+XkKxDV|Q diff --git a/src/plugins/qmldesigner/qtquickplugin/images/audio-24px@2x.png b/src/plugins/qmldesigner/qtquickplugin/images/audio-24px@2x.png deleted file mode 100644 index 41948718fd106fedca16814c3235746ecd293604..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1026 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4rT@hhJ-tuTNxM_%L9BuTp1V`{{R2KVieFf z1o~zc|6yQYs3{5Z3ua(oWMXDvW9Q=K;};MV5*87YkdakTR?*PZ($P0CF|)L?v9ot{ zcJuJ|^$Q3NNk~jiOV7wFC@QP0u4!m&YH9E2>gk;@anj@|Q)kSbw|MD_HETC*-o9h! zu08t>96ojC{N*b*Zr;B0;Nhbu&tJTJ{pQ`L&tJZN`~KtC?>~S4O?+#$oq>UIpQnps zh{y4#*KP)14iGv1aem-ME-sBN57>en*DUH#;NU7{6c=+{yXac4YtF&F0vY@3_wbv{ z%-lA6-=oS?KIhVl{EOaOUTm~-{>|9pa{bi$xTE~pSK40w_<45y0Y{!{O7AK)*MZgASH|Mx;jtHOe62Aj{%=AUvl zxS+!@J?pdn{{#F+-JfMAN!c;gY*1OfcCQrw0sdXuANB@cnkm~*_tG@c@a?qSvkJtv zY6$YOF;pn6+{<*MS1rMo{f4h+6?4H=mXarvi)~p9l38|f1Z-I%a=_a7f_Q`9$zRMO zNe%4`*HvoSybKR;9N4hL#(~Fxt6(#q0kc6s?4|b-3A_(Vw!T=OHi7X*NnG|h4xwy@ z{<-|+_gSRwF-^I<_F_KMb;gQUIr}aJ?(JX`W;p%sTik?_HJSQ-_chrYHk*kAzhm^e zUe=T3a8Ximages/text-edit-icon16.png images/text-input-icon16.png images/webview-icon16.png - source/audio.qml source/listview.qml source/listviewv2.qml source/gridview.qml @@ -84,9 +83,6 @@ images/loader-icon.png images/loader-icon@2x.png images/loader-icon16.png - images/audio-16px.png - images/audio-24px.png - images/audio-24px@2x.png images/audio-output-16px.png images/audio-output-24px.png images/audio-output-24px@2x.png diff --git a/src/plugins/qmldesigner/qtquickplugin/quick.metainfo b/src/plugins/qmldesigner/qtquickplugin/quick.metainfo index ef81ae181bf..d21d8420b4b 100644 --- a/src/plugins/qmldesigner/qtquickplugin/quick.metainfo +++ b/src/plugins/qmldesigner/qtquickplugin/quick.metainfo @@ -522,28 +522,6 @@ MetaInfo { } } - Type { - name: "QtMultimedia.MediaPlayer" - icon: ":/qtquickplugin/images/audio-16px.png" - - Hints { - visibleInNavigator: true - canBeDroppedInNavigator: true - canBeDroppedInFormEditor: false - canBeContainer: false - } - - ItemLibraryEntry { - name: "Audio" - category: "f.Qt Quick - Multimedia" - libraryIcon: ":/qtquickplugin/images/audio-24px.png" - version: "6.0" - requiredImport: "QtMultimedia" - - QmlSource { source: ":/qtquickplugin/source/audio.qml" } - } - } - Type { name: "QtMultimedia.AudioOutput" icon: ":/qtquickplugin/images/audio-output-16px.png" diff --git a/src/plugins/qmldesigner/qtquickplugin/source/audio.qml b/src/plugins/qmldesigner/qtquickplugin/source/audio.qml deleted file mode 100644 index b3d1347e85e..00000000000 --- a/src/plugins/qmldesigner/qtquickplugin/source/audio.qml +++ /dev/null @@ -1,35 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2021 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -import QtQuick 2.0 -import QtMultimedia 6.0 - -MediaPlayer { - audioOutput: output - - AudioOutput { - id: output - } -}