From 823064d90a2c79c5836653ed9a97aac30ee27b48 Mon Sep 17 00:00:00 2001 From: Leandro Melo Date: Wed, 2 Jun 2010 17:31:25 +0200 Subject: [PATCH] Generic highlighter: Changed interface of the definition and adaptated relevant code. --- .../highlightdefinition.cpp | 26 +++++++++---------- .../generichighlighter/highlightdefinition.h | 18 ++++++------- .../highlightdefinitionhandler.cpp | 1 - src/plugins/texteditor/plaintexteditor.cpp | 1 + 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/plugins/texteditor/generichighlighter/highlightdefinition.cpp b/src/plugins/texteditor/generichighlighter/highlightdefinition.cpp index 7c723229d95..4d6d92c8974 100644 --- a/src/plugins/texteditor/generichighlighter/highlightdefinition.cpp +++ b/src/plugins/texteditor/generichighlighter/highlightdefinition.cpp @@ -49,7 +49,7 @@ HighlightDefinition::~HighlightDefinition() {} template -const QSharedPointer &HighlightDefinition:: +QSharedPointer HighlightDefinition:: GenericHelper::create(const QString &name, Container &container) { if (name.isEmpty()) @@ -58,12 +58,11 @@ GenericHelper::create(const QString &name, Container &container) if (container.contains(name)) throw HighlighterException(); - container.insert(name, QSharedPointer(new Element)); - return *container.constFind(name); + return container.insert(name, QSharedPointer(new Element)).value(); } template -const QSharedPointer &HighlightDefinition:: +QSharedPointer HighlightDefinition:: GenericHelper::find(const QString &name, const Container &container) const { typename Container::const_iterator it = container.find(name); @@ -73,34 +72,35 @@ GenericHelper::find(const QString &name, const Container &container) const return it.value(); } -const QSharedPointer &HighlightDefinition::createKeywordList(const QString &list) +QSharedPointer HighlightDefinition::createKeywordList(const QString &list) { return m_helper.create(list, m_lists); } -const QSharedPointer &HighlightDefinition::keywordList(const QString &list) +QSharedPointer HighlightDefinition::keywordList(const QString &list) { return m_helper.find(list, m_lists); } -const QSharedPointer &HighlightDefinition::createContext(const QString &context, - bool initial) +QSharedPointer HighlightDefinition::createContext(const QString &context, bool initial) { if (initial) m_initialContext = context; - return m_helper.create(context, m_contexts); + QSharedPointer newContext = m_helper.create(context, m_contexts); + newContext->setName(context); + return newContext; } -const QSharedPointer &HighlightDefinition::initialContext() const +QSharedPointer HighlightDefinition::initialContext() const { return m_helper.find(m_initialContext, m_contexts); } -const QSharedPointer &HighlightDefinition::context(const QString &context) const +QSharedPointer HighlightDefinition::context(const QString &context) const { return m_helper.find(context, m_contexts); } const QHash > &HighlightDefinition::contexts() const { return m_contexts; } -const QSharedPointer &HighlightDefinition::createItemData(const QString &itemData) +QSharedPointer HighlightDefinition::createItemData(const QString &itemData) { return m_helper.create(itemData, m_itemsData); } -const QSharedPointer &HighlightDefinition::itemData(const QString &itemData) const +QSharedPointer HighlightDefinition::itemData(const QString &itemData) const { return m_helper.find(itemData, m_itemsData); } void HighlightDefinition::setSingleLineComment(const QString &start) diff --git a/src/plugins/texteditor/generichighlighter/highlightdefinition.h b/src/plugins/texteditor/generichighlighter/highlightdefinition.h index 2f48bc24c8f..dd94838d870 100644 --- a/src/plugins/texteditor/generichighlighter/highlightdefinition.h +++ b/src/plugins/texteditor/generichighlighter/highlightdefinition.h @@ -47,16 +47,16 @@ public: HighlightDefinition(); ~HighlightDefinition(); - const QSharedPointer &createKeywordList(const QString &list); - const QSharedPointer &keywordList(const QString &list); + QSharedPointer createKeywordList(const QString &list); + QSharedPointer keywordList(const QString &list); - const QSharedPointer &createContext(const QString &context, bool initial); - const QSharedPointer &initialContext() const; - const QSharedPointer &context(const QString &context) const; + QSharedPointer createContext(const QString &context, bool initial); + QSharedPointer initialContext() const; + QSharedPointer context(const QString &context) const; const QHash > &contexts() const; - const QSharedPointer &createItemData(const QString &itemData); - const QSharedPointer &itemData(const QString &itemData) const; + QSharedPointer createItemData(const QString &itemData); + QSharedPointer itemData(const QString &itemData) const; void setKeywordsSensitive(const QString &sensitivity); Qt::CaseSensitivity keywordsSensitive() const; @@ -86,10 +86,10 @@ private: struct GenericHelper { template - const QSharedPointer &create(const QString &name, Container &container); + QSharedPointer create(const QString &name, Container &container); template - const QSharedPointer &find(const QString &name, const Container &container) const; + QSharedPointer find(const QString &name, const Container &container) const; }; GenericHelper m_helper; diff --git a/src/plugins/texteditor/generichighlighter/highlightdefinitionhandler.cpp b/src/plugins/texteditor/generichighlighter/highlightdefinitionhandler.cpp index f18d3de8f2f..c6a023aaf8a 100644 --- a/src/plugins/texteditor/generichighlighter/highlightdefinitionhandler.cpp +++ b/src/plugins/texteditor/generichighlighter/highlightdefinitionhandler.cpp @@ -224,7 +224,6 @@ void HighlightDefinitionHandler::contextElementStarted(const QXmlAttributes &att { m_currentContext = m_definition->createContext(atts.value(kName), m_initialContext); m_currentContext->setDefinition(m_definition); - m_currentContext->setName(atts.value(kName)); m_currentContext->setItemData(atts.value(kAttribute)); m_currentContext->setDynamic(atts.value(kDynamic)); m_currentContext->setFallthrough(atts.value(kFallthrough)); diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp index 04034307070..580d4a3ff2c 100644 --- a/src/plugins/texteditor/plaintexteditor.cpp +++ b/src/plugins/texteditor/plaintexteditor.cpp @@ -37,6 +37,7 @@ #include "highlighter.h" #include "highlighterexception.h" #include "manager.h" +#include "context.h" #include "normalindenter.h" #include "fontsettings.h"