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 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",
|
||||
|
@@ -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()
|
||||
|
@@ -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();
|
||||
|
@@ -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);
|
||||
|
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/browse.png</file>
|
||||
<file>images/browse@2x.png</file>
|
||||
<file>images/item-video-icon.png</file>
|
||||
<file>images/item-video-icon@2x.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@@ -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());
|
||||
|
@@ -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<QString> &ItemLibraryAssetsModel::supportedSuffixes() const
|
||||
insertSuffixes(supportedShaderSuffixes());
|
||||
insertSuffixes(supportedFontSuffixes());
|
||||
insertSuffixes(supportedAudioSuffixes());
|
||||
insertSuffixes(supportedVideoSuffixes());
|
||||
insertSuffixes(supportedTexture3DSuffixes());
|
||||
}
|
||||
return allSuffixes;
|
||||
|
@@ -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<QString> &previewableSuffixes() const;
|
||||
|
@@ -552,6 +552,9 @@ QPair<QString, QByteArray> 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()};
|
||||
|
Reference in New Issue
Block a user