From: dt_ Date: Wed, 20 Apr 2011 13:31:20 +0000 (+0200) Subject: ProjectModel: Only claim editable if editable X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=0b1cc0f4158ddb2267a1cc7e527af43a467fe981;p=qt-creator-jp%2Fqt-creator-jp.git ProjectModel: Only claim editable if editable Task-Nr: QTCREATORBUG-4545 --- diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index 1ce7ce1db6..0cbd4e8658 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -289,7 +289,15 @@ 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 - return Qt::ItemIsSelectable|Qt::ItemIsEnabled | Qt::ItemIsEditable; + Qt::ItemFlags f = Qt::ItemIsSelectable|Qt::ItemIsEnabled; + if (Node *node = nodeForIndex(index)) { + if (!qobject_cast(node)) { + // either folder or file node + if (node->projectNode()->supportedActions(node).contains(ProjectNode::Rename)) + f = f | Qt::ItemIsEditable; + } + } + return f; } bool FlatModel::setData(const QModelIndex &index, const QVariant &value, int role)