aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahmoud Badri <mahmoud.badri@qt.io>2022-05-10 20:31:05 +0300
committerMahmoud Badri <mahmoud.badri@qt.io>2022-05-11 07:33:44 +0000
commit666a03284042efebf8640917c09e64cfc68565c6 (patch)
tree1f73d3047c1825e0941813ba0492a7414a0dc7de
parentd4aa9eb0b7a89479673c35558e5d0d5fa1bc2620 (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>
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp14
-rw-r--r--src/plugins/qmldesigner/components/edit3d/edit3dcanvas.cpp2
-rw-r--r--src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp18
-rw-r--r--src/plugins/qmldesigner/components/formeditor/dragtool.cpp13
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp5
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp34
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatorview.cpp4
-rw-r--r--src/plugins/qmldesigner/qmldesignerconstants.h10
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";