C++: Disable "Replace Dot for Arrow" auto-correction for ObjC sources

In the light of Obj-C properties this seems to annoy more than to help.

Change-Id: I48f92d505035369f48e8798d0972ef00306bdde0
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Nikolai Kosjar
2014-05-14 11:34:45 -04:00
parent db5f2f1411
commit e8fab22afb
6 changed files with 24 additions and 10 deletions

View File

@@ -422,14 +422,15 @@ IAssistProcessor *InternalCompletionAssistProvider::createProcessor() const
TextEditor::IAssistInterface *InternalCompletionAssistProvider::createAssistInterface(
ProjectExplorer::Project *project, BaseTextEditor *editor, QTextDocument *document,
int position, TextEditor::AssistReason reason) const
bool isObjCEnabled, int position, TextEditor::AssistReason reason) const
{
Q_UNUSED(project);
QTC_ASSERT(editor, return 0);
QTC_ASSERT(document, return 0);
CppModelManagerInterface *modelManager = CppModelManagerInterface::instance();
return new CppTools::Internal::CppCompletionAssistInterface(editor, document, position, reason,
return new CppTools::Internal::CppCompletionAssistInterface(editor, document, isObjCEnabled,
position, reason,
modelManager->workingCopy());
}
@@ -1409,10 +1410,14 @@ bool CppCompletionAssistProcessor::completeMember(const QList<CPlusPlus::LookupI
ResolveExpression resolveExpression(context);
bool *replaceDotForArrow = 0;
if (!m_interface->isObjCEnabled())
replaceDotForArrow = &m_model->m_replaceDotForArrow;
if (ClassOrNamespace *binding =
resolveExpression.baseExpression(baseResults,
m_model->m_completionOperator,
&m_model->m_replaceDotForArrow)) {
replaceDotForArrow)) {
if (binding)
completeClass(binding, /*static lookup = */ true);