diff options
author | hjk <hjk@qt.io> | 2017-03-15 15:46:48 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-04-05 12:47:03 +0000 |
commit | bd5e2faa756f1c852a0d7ae019561413e5278cc3 (patch) | |
tree | e1d0680c4e5e5fa9aeb6db14ecbc48c6d67ceae8 /src/plugins/resourceeditor/resourceeditorplugin.cpp | |
parent | 8410c0bbad626c8ca38a161968c71a09ffb47df7 (diff) |
ProjectNodes: Handle supported actions one-by-one
Getting the full list for a node can get quite expensive e.g. in
cases of recursive calls of QMakeProjectManager::findPriFile.
However, the FlatModel needs to decide quickly on whether an item
is editable to potentially allow renaming.
So split up QList<Actions> supportedActions() into individual
bool supportsAction(action) calls and make sure Rename is not
on the critical path.
Task-number: QTCREATORBUG-17953
Change-Id: I31841847f8aa7d7b94c63d76ce71efb1c930fa69
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins/resourceeditor/resourceeditorplugin.cpp')
-rw-r--r-- | src/plugins/resourceeditor/resourceeditorplugin.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/resourceeditor/resourceeditorplugin.cpp b/src/plugins/resourceeditor/resourceeditorplugin.cpp index 474092d350..1ae83161ca 100644 --- a/src/plugins/resourceeditor/resourceeditorplugin.cpp +++ b/src/plugins/resourceeditor/resourceeditorplugin.cpp @@ -338,8 +338,8 @@ void ResourceEditorPlugin::updateContextActions() if (isResourceNode) { FolderNode *parent = node ? node->parentFolderNode() : 0; - enableRename = parent && parent->supportedActions(node).contains(Rename); - enableRemove = parent && parent->supportedActions(node).contains(RemoveFile); + enableRename = parent && parent->supportsAction(Rename, node); + enableRemove = parent && parent->supportsAction(RemoveFile, node); } m_renameResourceFile->setEnabled(isResourceNode && enableRename); |