diff options
author | Mahmoud Badri <mahmoud.badri@qt.io> | 2022-05-10 20:31:05 +0300 |
---|---|---|
committer | Mahmoud Badri <mahmoud.badri@qt.io> | 2022-05-11 07:33:44 +0000 |
commit | 666a03284042efebf8640917c09e64cfc68565c6 (patch) | |
tree | 1f73d3047c1825e0941813ba0492a7414a0dc7de | |
parent | d4aa9eb0b7a89479673c35558e5d0d5fa1bc2620 (diff) |
QmlDesigner: Move QDS mime types to constants
Also:
- Rename libraryresource to asset to match the assets view name.
- Replace the outdated "bauhaus" name with "qtdesignstudio".
Change-Id: I4cacfdc33c029431b1a7b906439dabc3d9a7ee26
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
8 files changed, 55 insertions, 45 deletions
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp index 7f7831dfbd..85f7cfc854 100644 --- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp @@ -87,7 +87,7 @@ bool AssetsLibraryWidget::eventFilter(QObject *obj, QEvent *event) auto drag = new QDrag(this); drag->setPixmap(m_assetsIconProvider->requestPixmap(m_assetsToDrag[0], nullptr, {128, 128})); QMimeData *mimeData = new QMimeData; - mimeData->setData("application/vnd.bauhaus.libraryresource", m_assetsToDrag.join(',').toUtf8()); + mimeData->setData(Constants::MIME_TYPE_ASSETS, m_assetsToDrag.join(',').toUtf8()); drag->setMimeData(mimeData); drag->exec(); drag->deleteLater(); @@ -307,25 +307,25 @@ QPair<QString, QByteArray> AssetsLibraryWidget::getAssetTypeAndData(const QStrin if (!suffix.isEmpty()) { if (AssetsLibraryModel::supportedImageSuffixes().contains(suffix)) { // Data: Image format (suffix) - return {"application/vnd.bauhaus.libraryresource.image", suffix.toUtf8()}; + return {Constants::MIME_TYPE_ASSET_IMAGE, suffix.toUtf8()}; } else if (AssetsLibraryModel::supportedFontSuffixes().contains(suffix)) { // Data: Font family name QRawFont font(assetPath, 10); QString fontFamily = font.isValid() ? font.familyName() : ""; - return {"application/vnd.bauhaus.libraryresource.font", fontFamily.toUtf8()}; + return {Constants::MIME_TYPE_ASSET_FONT, fontFamily.toUtf8()}; } else if (AssetsLibraryModel::supportedShaderSuffixes().contains(suffix)) { // Data: shader type, frament (f) or vertex (v) - return {"application/vnd.bauhaus.libraryresource.shader", + return {Constants::MIME_TYPE_ASSET_SHADER, AssetsLibraryModel::supportedFragmentShaderSuffixes().contains(suffix) ? "f" : "v"}; } else if (AssetsLibraryModel::supportedAudioSuffixes().contains(suffix)) { // No extra data for sounds - return {"application/vnd.bauhaus.libraryresource.sound", {}}; + return {Constants::MIME_TYPE_ASSET_SOUND, {}}; } else if (AssetsLibraryModel::supportedVideoSuffixes().contains(suffix)) { // No extra data for videos - return {"application/vnd.bauhaus.libraryresource.video", {}}; + return {Constants::MIME_TYPE_ASSET_VIDEO, {}}; } else if (AssetsLibraryModel::supportedTexture3DSuffixes().contains(suffix)) { // Data: Image format (suffix) - return {"application/vnd.bauhaus.libraryresource.texture3d", suffix.toUtf8()}; + return {Constants::MIME_TYPE_ASSET_TEXTURE3D, suffix.toUtf8()}; } } return {}; diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dcanvas.cpp b/src/plugins/qmldesigner/components/edit3d/edit3dcanvas.cpp index 65e1b763e5..422ceaab7b 100644 --- a/src/plugins/qmldesigner/components/edit3d/edit3dcanvas.cpp +++ b/src/plugins/qmldesigner/components/edit3d/edit3dcanvas.cpp @@ -169,7 +169,7 @@ void Edit3DCanvas::dragEnterEvent(QDragEnterEvent *e) // Allow drop when there is no valid active scene, as the drop goes under the root node of // the document in that case. if (!node.isValid() || !ModelNode::isThisOrAncestorLocked(node)) { - QByteArray data = e->mimeData()->data(QStringLiteral("application/vnd.bauhaus.itemlibraryinfo")); + QByteArray data = e->mimeData()->data(Constants::MIME_TYPE_ITEM_LIBRARY_INFO); if (!data.isEmpty()) { QDataStream stream(data); stream >> m_itemLibraryEntry; diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp index f9d05307aa..d24ff3a35b 100644 --- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp @@ -24,12 +24,12 @@ ****************************************************************************/ #include "abstractformeditortool.h" +#include "assetslibrarywidget.h" +#include "formeditorscene.h" #include "formeditorview.h" #include "formeditorwidget.h" -#include "formeditorscene.h" -#include "assetslibrarywidget.h" - -#include <modelnodecontextmenu.h> +#include "modelnodecontextmenu.h" +#include "qmldesignerconstants.h" #include <QDebug> #include <QGraphicsSceneDragDropEvent> @@ -236,20 +236,20 @@ void AbstractFormEditorTool::dropEvent(const QList<QGraphicsItem*> &/*itemList*/ void AbstractFormEditorTool::dragEnterEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneDragDropEvent *event) { bool hasValidAssets = false; - if (event->mimeData()->hasFormat("application/vnd.bauhaus.libraryresource")) { + if (event->mimeData()->hasFormat(Constants::MIME_TYPE_ASSETS)) { const QStringList assetPaths = QString::fromUtf8(event->mimeData() - ->data("application/vnd.bauhaus.libraryresource")).split(","); + ->data(Constants::MIME_TYPE_ASSETS)).split(','); for (const QString &assetPath : assetPaths) { QString assetType = AssetsLibraryWidget::getAssetTypeAndData(assetPath).first; - if (assetType == "application/vnd.bauhaus.libraryresource.image" - || assetType == "application/vnd.bauhaus.libraryresource.font") { + if (assetType == Constants::MIME_TYPE_ASSET_IMAGE + || assetType == Constants::MIME_TYPE_ASSET_FONT) { hasValidAssets = true; break; } } } - if (event->mimeData()->hasFormat(QLatin1String("application/vnd.bauhaus.itemlibraryinfo")) || hasValidAssets) { + if (event->mimeData()->hasFormat(Constants::MIME_TYPE_ITEM_LIBRARY_INFO) || hasValidAssets) { event->accept(); view()->changeToDragTool(); view()->currentTool()->dragEnterEvent(itemList, event); diff --git a/src/plugins/qmldesigner/components/formeditor/dragtool.cpp b/src/plugins/qmldesigner/components/formeditor/dragtool.cpp index b3650aaae0..f01500b6d4 100644 --- a/src/plugins/qmldesigner/components/formeditor/dragtool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/dragtool.cpp @@ -31,6 +31,7 @@ #include <metainfo.h> #include <nodehints.h> #include <rewritingexception.h> +#include "qmldesignerconstants.h" #include <QDebug> #include <QGraphicsSceneMouseEvent> @@ -219,9 +220,7 @@ void DragTool::abort() static ItemLibraryEntry itemLibraryEntryFromMimeData(const QMimeData *mimeData) { - QByteArray data = mimeData->data(QStringLiteral("application/vnd.bauhaus.itemlibraryinfo")); - - QDataStream stream(data); + QDataStream stream(mimeData->data(Constants::MIME_TYPE_ITEM_LIBRARY_INFO)); ItemLibraryEntry itemLibraryEntry; stream >> itemLibraryEntry; @@ -236,7 +235,7 @@ static bool canBeDropped(const QMimeData *mimeData) static bool hasItemLibraryInfo(const QMimeData *mimeData) { - return mimeData->hasFormat(QStringLiteral("application/vnd.bauhaus.itemlibraryinfo")); + return mimeData->hasFormat(Constants::MIME_TYPE_ITEM_LIBRARY_INFO); } void DragTool::dropEvent(const QList<QGraphicsItem *> &/*itemList*/, QGraphicsSceneDragDropEvent *event) @@ -326,12 +325,12 @@ void DragTool::createDragNodes(const QMimeData *mimeData, const QPointF &scenePo scenePosition); } else { const QStringList assetPaths = QString::fromUtf8(mimeData - ->data("application/vnd.bauhaus.libraryresource")).split(","); + ->data(Constants::MIME_TYPE_ASSETS)).split(','); for (const QString &assetPath : assetPaths) { QString assetType = AssetsLibraryWidget::getAssetTypeAndData(assetPath).first; - if (assetType == "application/vnd.bauhaus.libraryresource.image") + if (assetType == Constants::MIME_TYPE_ASSET_IMAGE) createQmlItemNodeFromImage(assetPath, targetContainerQmlItemNode, scenePosition); - else if (assetType == "application/vnd.bauhaus.libraryresource.font") + else if (assetType == Constants::MIME_TYPE_ASSET_FONT) createQmlItemNodeFromFont(assetPath, targetContainerQmlItemNode, scenePosition); } diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp index e1d078306c..76795d2817 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp @@ -36,6 +36,7 @@ #include <nodemetainfo.h> #include <projectexplorer/project.h> #include <projectexplorer/session.h> +#include "qmldesignerconstants.h" #include "qmldesignerplugin.h" #include <utils/algorithm.h> #include <utils/qtcassert.h> @@ -512,9 +513,9 @@ QMimeData *ItemLibraryModel::getMimeData(const ItemLibraryEntry &itemLibraryEntr QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); stream << itemLibraryEntry; - mimeData->setData(QStringLiteral("application/vnd.bauhaus.itemlibraryinfo"), data); + mimeData->setData(Constants::MIME_TYPE_ITEM_LIBRARY_INFO, data); - mimeData->removeFormat(QStringLiteral("text/plain")); + mimeData->removeFormat("text/plain"); return mimeData; } diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index 5f4ae02744..de4d7de88a 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -71,7 +71,7 @@ namespace QmlDesigner { static QList<ModelNode> modelNodesFromMimeData(const QMimeData *mineData, AbstractView *view) { - QByteArray encodedModelNodeData = mineData->data(QLatin1String("application/vnd.modelnode.list")); + QByteArray encodedModelNodeData = mineData->data(Constants::MIME_TYPE_MODELNODE_LIST); QDataStream modelNodeStream(&encodedModelNodeData, QIODevice::ReadOnly); QList<ModelNode> modelNodeList; @@ -465,9 +465,9 @@ void NavigatorTreeModel::setView(NavigatorView *view) QStringList NavigatorTreeModel::mimeTypes() const { - const static QStringList types({"application/vnd.modelnode.list", - "application/vnd.bauhaus.itemlibraryinfo", - "application/vnd.bauhaus.libraryresource"}); + const static QStringList types({Constants::MIME_TYPE_MODELNODE_LIST, + Constants::MIME_TYPE_ITEM_LIBRARY_INFO, + Constants::MIME_TYPE_ASSETS}); return types; } @@ -490,7 +490,7 @@ QMimeData *NavigatorTreeModel::mimeData(const QModelIndexList &modelIndexList) c } } - mimeData->setData("application/vnd.modelnode.list", encodedModelNodeData); + mimeData->setData(Constants::MIME_TYPE_MODELNODE_LIST, encodedModelNodeData); return mimeData; } @@ -560,10 +560,10 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *mimeData, widget->setDragType(""); if (dropModelIndex.model() == this) { - if (mimeData->hasFormat("application/vnd.bauhaus.itemlibraryinfo")) { + if (mimeData->hasFormat(Constants::MIME_TYPE_ITEM_LIBRARY_INFO)) { handleItemLibraryItemDrop(mimeData, rowNumber, dropModelIndex); - } else if (mimeData->hasFormat("application/vnd.bauhaus.libraryresource")) { - const QStringList assetsPaths = QString::fromUtf8(mimeData->data("application/vnd.bauhaus.libraryresource")).split(","); + } else if (mimeData->hasFormat(Constants::MIME_TYPE_ASSETS)) { + const QStringList assetsPaths = QString::fromUtf8(mimeData->data(Constants::MIME_TYPE_ASSETS)).split(','); NodeAbstractProperty targetProperty; const QModelIndex rowModelIndex = dropModelIndex.sibling(dropModelIndex.row(), 0); @@ -579,9 +579,9 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *mimeData, QSet<QString> neededImports; for (const QString &assetPath : assetsPaths) { QString assetType = AssetsLibraryWidget::getAssetTypeAndData(assetPath).first; - if (assetType == "application/vnd.bauhaus.libraryresource.shader") + if (assetType == Constants::MIME_TYPE_ASSET_SHADER) neededImports.insert("QtQuick3D"); - else if (assetType == "application/vnd.bauhaus.libraryresource.sound") + else if (assetType == Constants::MIME_TYPE_ASSET_SOUND) neededImports.insert("QtMultimedia"); if (neededImports.size() == 2) @@ -598,20 +598,20 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *mimeData, auto assetTypeAndData = AssetsLibraryWidget::getAssetTypeAndData(assetPath); QString assetType = assetTypeAndData.first; QString assetData = QString::fromUtf8(assetTypeAndData.second); - if (assetType == "application/vnd.bauhaus.libraryresource.image") { + if (assetType == Constants::MIME_TYPE_ASSET_IMAGE) { currNode = handleItemLibraryImageDrop(assetPath, targetProperty, rowModelIndex, moveNodesAfter); - } else if (assetType == "application/vnd.bauhaus.libraryresource.font") { + } else if (assetType == Constants::MIME_TYPE_ASSET_FONT) { currNode = handleItemLibraryFontDrop(assetData, // assetData is fontFamily targetProperty, rowModelIndex); - } else if (assetType == "application/vnd.bauhaus.libraryresource.shader") { + } else if (assetType == Constants::MIME_TYPE_ASSET_SHADER) { currNode = handleItemLibraryShaderDrop(assetPath, assetData == "f", targetProperty, rowModelIndex, moveNodesAfter); - } else if (assetType == "application/vnd.bauhaus.libraryresource.sound") { + } else if (assetType == Constants::MIME_TYPE_ASSET_SOUND) { currNode = handleItemLibrarySoundDrop(assetPath, targetProperty, rowModelIndex); - } else if (assetType == "application/vnd.bauhaus.libraryresource.texture3d") { + } else if (assetType == Constants::MIME_TYPE_ASSET_TEXTURE3D) { currNode = handleItemLibraryTexture3dDrop(assetPath, targetProperty, rowModelIndex, moveNodesAfter); } @@ -627,7 +627,7 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *mimeData, m_view->setSelectedModelNodes(addedNodes); } } - } else if (mimeData->hasFormat("application/vnd.modelnode.list")) { + } else if (mimeData->hasFormat(Constants::MIME_TYPE_MODELNODE_LIST)) { handleInternalDrop(mimeData, rowNumber, dropModelIndex); } } @@ -673,7 +673,7 @@ void NavigatorTreeModel::handleItemLibraryItemDrop(const QMimeData *mimeData, in NodeAbstractProperty targetProperty; const ItemLibraryEntry itemLibraryEntry = - createItemLibraryEntryFromMimeData(mimeData->data("application/vnd.bauhaus.itemlibraryinfo")); + createItemLibraryEntryFromMimeData(mimeData->data(Constants::MIME_TYPE_ITEM_LIBRARY_INFO)); const NodeHints hints = NodeHints::fromItemLibraryEntry(itemLibraryEntry); diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp index 8a368c3d2a..495982c6fc 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp @@ -268,8 +268,8 @@ void NavigatorView::bindingPropertiesChanged(const QList<BindingProperty> & prop void NavigatorView::dragStarted(QMimeData *mimeData) { - if (mimeData->hasFormat("application/vnd.bauhaus.itemlibraryinfo")) { - QByteArray data = mimeData->data("application/vnd.bauhaus.itemlibraryinfo"); + if (mimeData->hasFormat(Constants::MIME_TYPE_ITEM_LIBRARY_INFO)) { + QByteArray data = mimeData->data(Constants::MIME_TYPE_ITEM_LIBRARY_INFO); QDataStream stream(data); ItemLibraryEntry itemLibraryEntry; stream >> itemLibraryEntry; diff --git a/src/plugins/qmldesigner/qmldesignerconstants.h b/src/plugins/qmldesigner/qmldesignerconstants.h index 81b9d8a4a7..a5c7bbf33d 100644 --- a/src/plugins/qmldesigner/qmldesignerconstants.h +++ b/src/plugins/qmldesigner/qmldesignerconstants.h @@ -85,6 +85,16 @@ const char QUICK_3D_ASSET_IMPORT_DATA_OPTIONS_KEY[] = "import_options"; const char QUICK_3D_ASSET_IMPORT_DATA_SOURCE_KEY[] = "source_scene"; const char DEFAULT_ASSET_IMPORT_FOLDER[] = "/asset_imports"; +const char MIME_TYPE_ITEM_LIBRARY_INFO[] = "application/vnd.qtdesignstudio.itemlibraryinfo"; +const char MIME_TYPE_ASSETS[] = "application/vnd.qtdesignstudio.assets"; +const char MIME_TYPE_ASSET_IMAGE[] = "application/vnd.qtdesignstudio.asset.image"; +const char MIME_TYPE_ASSET_FONT[] = "application/vnd.qtdesignstudio.asset.font"; +const char MIME_TYPE_ASSET_SHADER[] = "application/vnd.qtdesignstudio.asset.shader"; +const char MIME_TYPE_ASSET_SOUND[] = "application/vnd.qtdesignstudio.asset.sound"; +const char MIME_TYPE_ASSET_VIDEO[] = "application/vnd.qtdesignstudio.asset.video"; +const char MIME_TYPE_ASSET_TEXTURE3D[] = "application/vnd.qtdesignstudio.asset.texture3d"; +const char MIME_TYPE_MODELNODE_LIST[] = "application/vnd.qtdesignstudio.modelnode.list"; + // Menus const char M_VIEW_WORKSPACES[] = "QmlDesigner.Menu.View.Workspaces"; |