diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index ef9b8601439dc65a982f5de3c1afb79b6b10c39f..e172f53cc0481b3bca04d9bf33a482cd0df68427 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -48,7 +48,7 @@ NavigatorTreeModel::NavigatorTreeModel(QObject *parent) setHorizontalHeaderItem(1, new QStandardItem(tr("Type"))); setHorizontalHeaderItem(2, new QStandardItem(tr("Show in Editor"))); - setSupportedDragActions(Qt::MoveAction); + setSupportedDragActions(Qt::LinkAction); connect(this, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(handleChangedItem(QStandardItem*))); @@ -60,7 +60,7 @@ NavigatorTreeModel::~NavigatorTreeModel() Qt::DropActions NavigatorTreeModel::supportedDropActions() const { - return Qt::MoveAction; + return Qt::LinkAction; } QStringList NavigatorTreeModel::mimeTypes() const @@ -113,7 +113,7 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *data, { if (action == Qt::IgnoreAction) return true; - if (action != Qt::MoveAction) + if (action != Qt::LinkAction) return false; if (!data->hasFormat("application/vnd.modelnode.list")) return false; @@ -159,7 +159,8 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *data, if (!isAnchestorInList(node, nodeList)) { if (node.parentProperty().parentModelNode() != parentItemNode) { QmlItemNode itemNode(node); - itemNode.setParent(parentItemNode); + if (node != parentItemNode) + itemNode.setParent(parentItemNode); } if (node.parentProperty().isNodeListProperty()) { diff --git a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp index 36a08386491502e04efe702e35d3f42dbe3307e5..761b256c6108d80bfc2a21ff2109e2d430f32aa7 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp @@ -46,6 +46,7 @@ NavigatorWidget::NavigatorWidget(QWidget* parent) : m_treeView->setAcceptDrops(true); m_treeView->setSelectionMode(QAbstractItemView::ExtendedSelection); m_treeView->header()->setStretchLastSection(false); + m_treeView->setDefaultDropAction(Qt::LinkAction); QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(0);