summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/projectmodels.cpp
diff options
context:
space:
mode:
authorJochen Becher <jochen_becher@gmx.de>2015-06-04 12:35:59 +0200
committerJochen Becher <jochen_becher@gmx.de>2015-06-15 08:12:56 +0000
commit431b25ad27e1905060b85ed01dda8dc194e06a21 (patch)
treeaaf231cbdfd5c3ed382d65d4459b37773e7a305f /src/plugins/projectexplorer/projectmodels.cpp
parentd3118771422c71821908ac2ab88d1dcfba1a4d98 (diff)
downloadqt-creator-431b25ad27e1905060b85ed01dda8dc194e06a21.tar.gz
Introduce dragging for all explorer nodes.
Extend drop support with variant values. A drop may be a file drop or a value drop or both. Rename Utils::FileDropSupport to Utils::DropSupport and add methods to add not only files but any QVariant value to the mime data. Project explorer adds dragged nodes (which will be needed for future ModelEditor plugin). Change-Id: I799542c60fdecb3e64af0d3ba47b6caa9adbcfd7 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer/projectmodels.cpp')
-rw-r--r--src/plugins/projectexplorer/projectmodels.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp
index 5986f54876..4fa29622db 100644
--- a/src/plugins/projectexplorer/projectmodels.cpp
+++ b/src/plugins/projectexplorer/projectmodels.cpp
@@ -37,6 +37,7 @@
#include <coreplugin/fileiconprovider.h>
#include <utils/algorithm.h>
+#include <utils/dropsupport.h>
#include <QDebug>
#include <QFileInfo>
@@ -313,7 +314,7 @@ Qt::ItemFlags FlatModel::flags(const QModelIndex &index) const
// We claim that everything is editable
// That's slightly wrong
// We control the only view, and that one does the checks
- Qt::ItemFlags f = Qt::ItemIsSelectable|Qt::ItemIsEnabled;
+ Qt::ItemFlags f = Qt::ItemIsSelectable|Qt::ItemIsEnabled|Qt::ItemIsDragEnabled;
if (Node *node = nodeForIndex(index)) {
if (node == m_rootNode)
return 0; // no flags for session node...
@@ -321,8 +322,6 @@ Qt::ItemFlags FlatModel::flags(const QModelIndex &index) const
// either folder or file node
if (node->supportedActions(node).contains(Rename))
f = f | Qt::ItemIsEditable;
- if (node->asFileNode())
- f = f | Qt::ItemIsDragEnabled;
}
}
return f;
@@ -490,16 +489,17 @@ Qt::DropActions FlatModel::supportedDragActions() const
QStringList FlatModel::mimeTypes() const
{
- return Utils::FileDropSupport::mimeTypesForFilePaths();
+ return Utils::DropSupport::mimeTypesForFilePaths();
}
QMimeData *FlatModel::mimeData(const QModelIndexList &indexes) const
{
- auto data = new Utils::FileDropMimeData;
+ auto data = new Utils::DropMimeData;
foreach (const QModelIndex &index, indexes) {
Node *node = nodeForIndex(index);
if (node->asFileNode())
data->addFile(node->path().toString());
+ data->addValue(QVariant::fromValue(node));
}
return data;
}