forked from qt-creator/qt-creator
GenericHighlighter: Add a typedef for definition meta data shared pointer
Change-Id: I56acf760db9581ce96cfec72bd699b26569254cc Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -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
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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()) {
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user