From fdc982358e89d44e1b087d234ce301b68bb1e6be Mon Sep 17 00:00:00 2001 From: hjk Date: Sun, 14 Sep 2014 21:16:28 +0200 Subject: [PATCH] GlslEditor: Simplify completion proposal setup Change-Id: I6d103eb6471687b1fe18e88a9f2cca375eeed6cd Reviewed-by: Christian Stenger --- .../glsleditor/glslcompletionassist.cpp | 31 +++++++++---------- src/plugins/glsleditor/glslcompletionassist.h | 2 -- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/plugins/glsleditor/glslcompletionassist.cpp b/src/plugins/glsleditor/glslcompletionassist.cpp index fa6bf3ec5d0..0667185da5f 100644 --- a/src/plugins/glsleditor/glslcompletionassist.cpp +++ b/src/plugins/glsleditor/glslcompletionassist.cpp @@ -242,6 +242,15 @@ GlslCompletionAssistProcessor::GlslCompletionAssistProcessor() GlslCompletionAssistProcessor::~GlslCompletionAssistProcessor() {} +static AssistProposalItem *createCompletionItem(const QString &text, const QIcon &icon, int order = 0) +{ + AssistProposalItem *item = new AssistProposalItem; + item->setText(text); + item->setIcon(icon); + item->setOrder(order); + return item; +} + IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *interface) { m_interface.reset(static_cast(interface)); @@ -259,6 +268,7 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i QList members; QStringList specialMembers; + QList m_completions; bool functionCall = (ch == QLatin1Char('(') && pos == m_interface->position() - 1); @@ -379,9 +389,9 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i 0 }; for (int index = 0; attributeNames[index]; ++index) - addCompletion(QString::fromLatin1(attributeNames[index]), m_attributeIcon); + m_completions << createCompletionItem(QString::fromLatin1(attributeNames[index]), m_attributeIcon); for (int index = 0; uniformNames[index]; ++index) - addCompletion(QString::fromLatin1(uniformNames[index]), m_uniformIcon); + m_completions << createCompletionItem(QString::fromLatin1(uniformNames[index]), m_uniformIcon); } } @@ -389,7 +399,7 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i QStringList keywords = GLSL::Lexer::keywords(languageVariant(m_interface->mimeType())); // m_keywordCompletions.clear(); for (int index = 0; index < keywords.size(); ++index) - addCompletion(keywords.at(index), m_keywordIcon); + m_completions << createCompletionItem(keywords.at(index), m_keywordIcon); // m_keywordVariant = languageVariant(m_interface->mimeType()); // } @@ -421,9 +431,9 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i icon = m_otherIcon; } if (specialMembers.contains(s->name())) - addCompletion(s->name(), icon, SpecialMemberOrder); + m_completions << createCompletionItem(s->name(), icon, SpecialMemberOrder); else - addCompletion(s->name(), icon); + m_completions << createCompletionItem(s->name(), icon); } m_startPosition = pos + 1; @@ -469,17 +479,6 @@ bool GlslCompletionAssistProcessor::acceptsIdleEditor() const return isActivationChar(ch); } -void GlslCompletionAssistProcessor::addCompletion(const QString &text, - const QIcon &icon, - int order) -{ - AssistProposalItem *item = new AssistProposalItem; - item->setText(text); - item->setIcon(icon); - item->setOrder(order); - m_completions.append(item); -} - // ----------------------------- // GlslCompletionAssistInterface // ----------------------------- diff --git a/src/plugins/glsleditor/glslcompletionassist.h b/src/plugins/glsleditor/glslcompletionassist.h index 2d50b6e2248..2cb41d7df02 100644 --- a/src/plugins/glsleditor/glslcompletionassist.h +++ b/src/plugins/glsleditor/glslcompletionassist.h @@ -109,11 +109,9 @@ public: private: TextEditor::IAssistProposal *createHintProposal(const QVector &symbols); bool acceptsIdleEditor() const; - void addCompletion(const QString &text, const QIcon &icon, int order = 0); int m_startPosition; QScopedPointer m_interface; - QList m_completions; QIcon m_keywordIcon; QIcon m_varIcon;