forked from qt-creator/qt-creator
QmlDesigner: Add support for video assets
* Add *.mp3 as sound asset * Add *.mp4 as video asset Change-Id: If96bab257abf9d0264e374b5f1f92b807b5349a2 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
16c8f1a9b6
commit
73fb01f4b2
@@ -221,6 +221,7 @@ const int priorityLast = 60;
|
|||||||
const char addImagesDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Image Files");
|
const char addImagesDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Image Files");
|
||||||
const char addFontsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Font Files");
|
const char addFontsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Font Files");
|
||||||
const char addSoundsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Sound 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 addShadersDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "Shader Files");
|
||||||
const char add3DAssetsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "3D Assets");
|
const char add3DAssetsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources", "3D Assets");
|
||||||
const char addQt3DSPresentationsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources",
|
const char addQt3DSPresentationsDisplayString[] = QT_TRANSLATE_NOOP("QmlDesignerAddResources",
|
||||||
|
@@ -1557,12 +1557,15 @@ void DesignerActionManager::createDefaultAddResourceHandler()
|
|||||||
registerHandlers({"*.otf", "*.ttf"},
|
registerHandlers({"*.otf", "*.ttf"},
|
||||||
ModelNodeOperations::addFontToProject,
|
ModelNodeOperations::addFontToProject,
|
||||||
ComponentCoreConstants::addFontsDisplayString);
|
ComponentCoreConstants::addFontsDisplayString);
|
||||||
registerHandlers({"*.wav"},
|
registerHandlers({"*.wav", "*.mp3"},
|
||||||
ModelNodeOperations::addSoundToProject,
|
ModelNodeOperations::addSoundToProject,
|
||||||
ComponentCoreConstants::addSoundsDisplayString);
|
ComponentCoreConstants::addSoundsDisplayString);
|
||||||
registerHandlers({"*.glsl", "*.glslv", "*.glslf", "*.vsh", "*.fsh", "*.vert", "*.frag"},
|
registerHandlers({"*.glsl", "*.glslv", "*.glslf", "*.vsh", "*.fsh", "*.vert", "*.frag"},
|
||||||
ModelNodeOperations::addShaderToProject,
|
ModelNodeOperations::addShaderToProject,
|
||||||
ComponentCoreConstants::addShadersDisplayString);
|
ComponentCoreConstants::addShadersDisplayString);
|
||||||
|
registerHandlers({"*.mp4"},
|
||||||
|
ModelNodeOperations::addVideoToProject,
|
||||||
|
ComponentCoreConstants::addVideosDisplayString);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DesignerActionManager::createDefaultModelNodePreviewImageHandlers()
|
void DesignerActionManager::createDefaultModelNodePreviewImageHandlers()
|
||||||
|
@@ -1077,6 +1077,11 @@ AddFilesResult addImageToProject(const QStringList &fileNames, const QString &de
|
|||||||
return addFilesToProject(fileNames, getAssetDefaultDirectory("images", defaultDirectory));
|
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)
|
void createFlowActionArea(const SelectionContext &selectionContext)
|
||||||
{
|
{
|
||||||
AbstractView *view = selectionContext.view();
|
AbstractView *view = selectionContext.view();
|
||||||
|
@@ -80,6 +80,7 @@ AddFilesResult addImageToProject(const QStringList &fileNames, const QString &di
|
|||||||
AddFilesResult addFontToProject(const QStringList &fileNames, const QString &directory);
|
AddFilesResult addFontToProject(const QStringList &fileNames, const QString &directory);
|
||||||
AddFilesResult addSoundToProject(const QStringList &fileNames, const QString &directory);
|
AddFilesResult addSoundToProject(const QStringList &fileNames, const QString &directory);
|
||||||
AddFilesResult addShaderToProject(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 createFlowActionArea(const SelectionContext &selectionContext);
|
||||||
void addTransition(const SelectionContext &selectionState);
|
void addTransition(const SelectionContext &selectionState);
|
||||||
void addFlowEffect(const SelectionContext &selectionState, const TypeName &typeName);
|
void addFlowEffect(const SelectionContext &selectionState, const TypeName &typeName);
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 286 B |
Binary file not shown.
After Width: | Height: | Size: 399 B |
@@ -33,5 +33,7 @@
|
|||||||
<file>images/x@2x.png</file>
|
<file>images/x@2x.png</file>
|
||||||
<file>images/browse.png</file>
|
<file>images/browse.png</file>
|
||||||
<file>images/browse@2x.png</file>
|
<file>images/browse@2x.png</file>
|
||||||
|
<file>images/item-video-icon.png</file>
|
||||||
|
<file>images/item-video-icon@2x.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
@@ -54,6 +54,8 @@ QPixmap ItemLibraryAssetsIconProvider::requestPixmap(const QString &id, QSize *s
|
|||||||
pixmap = Utils::StyleHelper::dpiSpecificImageFile(":/ItemLibrary/images/asset_shader_48.png");
|
pixmap = Utils::StyleHelper::dpiSpecificImageFile(":/ItemLibrary/images/asset_shader_48.png");
|
||||||
else if (ItemLibraryAssetsModel::supportedAudioSuffixes().contains(suffix))
|
else if (ItemLibraryAssetsModel::supportedAudioSuffixes().contains(suffix))
|
||||||
pixmap = Utils::StyleHelper::dpiSpecificImageFile(":/ItemLibrary/images/asset_sound_48.png");
|
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) {
|
if (size) {
|
||||||
size->setWidth(pixmap.width());
|
size->setWidth(pixmap.width());
|
||||||
|
@@ -167,7 +167,13 @@ const QStringList &ItemLibraryAssetsModel::supportedFontSuffixes()
|
|||||||
|
|
||||||
const QStringList &ItemLibraryAssetsModel::supportedAudioSuffixes()
|
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;
|
return retList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -300,6 +306,7 @@ const QSet<QString> &ItemLibraryAssetsModel::supportedSuffixes() const
|
|||||||
insertSuffixes(supportedShaderSuffixes());
|
insertSuffixes(supportedShaderSuffixes());
|
||||||
insertSuffixes(supportedFontSuffixes());
|
insertSuffixes(supportedFontSuffixes());
|
||||||
insertSuffixes(supportedAudioSuffixes());
|
insertSuffixes(supportedAudioSuffixes());
|
||||||
|
insertSuffixes(supportedVideoSuffixes());
|
||||||
insertSuffixes(supportedTexture3DSuffixes());
|
insertSuffixes(supportedTexture3DSuffixes());
|
||||||
}
|
}
|
||||||
return allSuffixes;
|
return allSuffixes;
|
||||||
|
@@ -66,6 +66,7 @@ public:
|
|||||||
static const QStringList &supportedShaderSuffixes();
|
static const QStringList &supportedShaderSuffixes();
|
||||||
static const QStringList &supportedFontSuffixes();
|
static const QStringList &supportedFontSuffixes();
|
||||||
static const QStringList &supportedAudioSuffixes();
|
static const QStringList &supportedAudioSuffixes();
|
||||||
|
static const QStringList &supportedVideoSuffixes();
|
||||||
static const QStringList &supportedTexture3DSuffixes();
|
static const QStringList &supportedTexture3DSuffixes();
|
||||||
|
|
||||||
const QSet<QString> &previewableSuffixes() const;
|
const QSet<QString> &previewableSuffixes() const;
|
||||||
|
@@ -552,6 +552,9 @@ QPair<QString, QByteArray> ItemLibraryWidget::getAssetTypeAndData(const QString
|
|||||||
} else if (ItemLibraryAssetsModel::supportedAudioSuffixes().contains(suffix)) {
|
} else if (ItemLibraryAssetsModel::supportedAudioSuffixes().contains(suffix)) {
|
||||||
// No extra data for sounds
|
// No extra data for sounds
|
||||||
return {"application/vnd.bauhaus.libraryresource.sound", {}};
|
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)) {
|
} else if (ItemLibraryAssetsModel::supportedTexture3DSuffixes().contains(suffix)) {
|
||||||
// Data: Image format (suffix)
|
// Data: Image format (suffix)
|
||||||
return {"application/vnd.bauhaus.libraryresource.texture3d", suffix.toUtf8()};
|
return {"application/vnd.bauhaus.libraryresource.texture3d", suffix.toUtf8()};
|
||||||
|
Reference in New Issue
Block a user