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

View File

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

View File

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

View File

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