GenericHighlighter: Add a typedef for definition meta data shared pointer

Change-Id: I56acf760db9581ce96cfec72bd699b26569254cc
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
Orgad Shaneh
2014-07-01 11:52:28 +03:00
committed by hjk
parent 817d02d113
commit 55b764565a
4 changed files with 16 additions and 13 deletions

View File

@@ -30,6 +30,7 @@
#ifndef HIGHLIGHTDEFINITIONMETADATA_H #ifndef HIGHLIGHTDEFINITIONMETADATA_H
#define HIGHLIGHTDEFINITIONMETADATA_H #define HIGHLIGHTDEFINITIONMETADATA_H
#include <QSharedPointer>
#include <QStringList> #include <QStringList>
#include <QUrl> #include <QUrl>
@@ -52,6 +53,8 @@ public:
QUrl url; QUrl url;
}; };
typedef QSharedPointer<HighlightDefinitionMetaData> DefinitionMetaDataPtr;
} // namespace Internal } // namespace Internal
} // namespace TextEditor } // namespace TextEditor

View File

@@ -77,7 +77,7 @@ void ManageDefinitionsDialog::populateDefinitionsWidget()
QFileInfo fi(m_path + downloadData.fileName); QFileInfo fi(m_path + downloadData.fileName);
QFile definitionFile(fi.absoluteFilePath()); QFile definitionFile(fi.absoluteFilePath());
if (definitionFile.open(QIODevice::ReadOnly | QIODevice::Text)) { if (definitionFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
const QSharedPointer<HighlightDefinitionMetaData> &data = Manager::parseMetadata(fi); const DefinitionMetaDataPtr data = Manager::parseMetadata(fi);
if (!data.isNull()) if (!data.isNull())
dirVersion = data->version; dirVersion = data->version;
} }

View File

@@ -149,7 +149,7 @@ QSharedPointer<HighlightDefinition> Manager::definition(const QString &id)
return m_definitions.value(id); return m_definitions.value(id);
} }
QSharedPointer<HighlightDefinitionMetaData> Manager::definitionMetaData(const QString &id) const DefinitionMetaDataPtr Manager::definitionMetaData(const QString &id) const
{ {
return m_register.m_definitionsMetaData.value(id); return m_register.m_definitionsMetaData.value(id);
} }
@@ -216,21 +216,21 @@ void ManagerProcessor::process(QFutureInterface<QPair<Manager::RegisterData,
QDir definitionsDir(path); QDir definitionsDir(path);
QStringList filter(QLatin1String("*.xml")); QStringList filter(QLatin1String("*.xml"));
definitionsDir.setNameFilters(filter); definitionsDir.setNameFilters(filter);
QList<QSharedPointer<HighlightDefinitionMetaData> > allMetaData; QList<DefinitionMetaDataPtr> allMetaData;
foreach (const QFileInfo &fileInfo, definitionsDir.entryInfoList()) { foreach (const QFileInfo &fileInfo, definitionsDir.entryInfoList()) {
const QSharedPointer<HighlightDefinitionMetaData> &metaData = const DefinitionMetaDataPtr &metaData =
Manager::parseMetadata(fileInfo); Manager::parseMetadata(fileInfo);
if (!metaData.isNull()) if (!metaData.isNull())
allMetaData.append(metaData); allMetaData.append(metaData);
} }
// Consider definitions with higher priority first. // Consider definitions with higher priority first.
Utils::sort(allMetaData, [](const QSharedPointer<HighlightDefinitionMetaData> &l, Utils::sort(allMetaData, [](const DefinitionMetaDataPtr &l,
const QSharedPointer<HighlightDefinitionMetaData> &r) { const DefinitionMetaDataPtr &r) {
return l->priority > r->priority; return l->priority > r->priority;
}); });
foreach (const QSharedPointer<HighlightDefinitionMetaData> &metaData, allMetaData) { foreach (const DefinitionMetaDataPtr &metaData, allMetaData) {
if (future.isCanceled()) if (future.isCanceled())
return; return;
if (future.progressValue() < kMaxProgress - 1) if (future.progressValue() < kMaxProgress - 1)
@@ -333,7 +333,7 @@ void Manager::registerMimeTypesFinished()
} }
} }
QSharedPointer<HighlightDefinitionMetaData> Manager::parseMetadata(const QFileInfo &fileInfo) DefinitionMetaDataPtr Manager::parseMetadata(const QFileInfo &fileInfo)
{ {
static const QLatin1Char kSemiColon(';'); static const QLatin1Char kSemiColon(';');
static const QLatin1Char kSpace(' '); static const QLatin1Char kSpace(' ');
@@ -343,9 +343,9 @@ QSharedPointer<HighlightDefinitionMetaData> Manager::parseMetadata(const QFileIn
QFile definitionFile(fileInfo.absoluteFilePath()); QFile definitionFile(fileInfo.absoluteFilePath());
if (!definitionFile.open(QIODevice::ReadOnly | QIODevice::Text)) if (!definitionFile.open(QIODevice::ReadOnly | QIODevice::Text))
return QSharedPointer<HighlightDefinitionMetaData>(); return DefinitionMetaDataPtr();
QSharedPointer<HighlightDefinitionMetaData> metaData(new HighlightDefinitionMetaData); DefinitionMetaDataPtr metaData(new HighlightDefinitionMetaData);
QXmlStreamReader reader(&definitionFile); QXmlStreamReader reader(&definitionFile);
while (!reader.atEnd() && !reader.hasError()) { while (!reader.atEnd() && !reader.hasError()) {

View File

@@ -72,13 +72,13 @@ public:
bool isBuildingDefinition(const QString &id) const; bool isBuildingDefinition(const QString &id) const;
QSharedPointer<HighlightDefinition> definition(const QString &id); QSharedPointer<HighlightDefinition> definition(const QString &id);
QSharedPointer<HighlightDefinitionMetaData> definitionMetaData(const QString &id) const; DefinitionMetaDataPtr definitionMetaData(const QString &id) const;
void downloadAvailableDefinitionsMetaData(); void downloadAvailableDefinitionsMetaData();
void downloadDefinitions(const QList<QUrl> &urls, const QString &savePath); void downloadDefinitions(const QList<QUrl> &urls, const QString &savePath);
bool isDownloadingDefinitions() const; bool isDownloadingDefinitions() const;
static QSharedPointer<HighlightDefinitionMetaData> parseMetadata(const QFileInfo &fileInfo); static DefinitionMetaDataPtr parseMetadata(const QFileInfo &fileInfo);
public slots: public slots:
void registerMimeTypes(); void registerMimeTypes();
@@ -108,7 +108,7 @@ private:
{ {
QHash<QString, QString> m_idByName; QHash<QString, QString> m_idByName;
QHash<QString, QString> m_idByMimeType; QHash<QString, QString> m_idByMimeType;
QHash<QString, QSharedPointer<HighlightDefinitionMetaData> > m_definitionsMetaData; QHash<QString, DefinitionMetaDataPtr> m_definitionsMetaData;
}; };
RegisterData m_register; RegisterData m_register;
bool m_hasQueuedRegistration; bool m_hasQueuedRegistration;