forked from qt-creator/qt-creator
ProjectExplorerPlugin: Use one factory for all project managers
Change-Id: Ie2204cd82bf8e060136fd28098cce5affac2cbde Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
@@ -1220,9 +1220,8 @@ void ProjectExplorerPlugin::extensionsInitialized()
|
|||||||
|
|
||||||
const QString filterSeparator = QLatin1String(";;");
|
const QString filterSeparator = QLatin1String(";;");
|
||||||
QStringList filterStrings;
|
QStringList filterStrings;
|
||||||
foreach (IProjectManager *manager, projectManagers) {
|
|
||||||
auto factory = new IDocumentFactory;
|
auto factory = new IDocumentFactory;
|
||||||
factory->addMimeType(manager->mimeType());
|
|
||||||
factory->setOpener([this](const QString &fileName) -> IDocument* {
|
factory->setOpener([this](const QString &fileName) -> IDocument* {
|
||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
ProjectExplorerPlugin::instance()->openProject(fileName, &errorMessage);
|
ProjectExplorerPlugin::instance()->openProject(fileName, &errorMessage);
|
||||||
@@ -1231,15 +1230,19 @@ void ProjectExplorerPlugin::extensionsInitialized()
|
|||||||
tr("Failed to open project"), errorMessage);
|
tr("Failed to open project"), errorMessage);
|
||||||
return 0;
|
return 0;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
foreach (IProjectManager *manager, projectManagers) {
|
||||||
const QString mimeType = manager->mimeType();
|
const QString mimeType = manager->mimeType();
|
||||||
|
factory->addMimeType(mimeType);
|
||||||
MimeType mime = MimeDatabase::findByType(mimeType);
|
MimeType mime = MimeDatabase::findByType(mimeType);
|
||||||
allGlobPatterns.append(mime.globPatterns());
|
allGlobPatterns.append(mime.globPatterns());
|
||||||
filterStrings.append(mime.filterString());
|
filterStrings.append(mime.filterString());
|
||||||
|
|
||||||
d->m_profileMimeTypes += factory->mimeTypes();
|
d->m_profileMimeTypes += mimeType;
|
||||||
addAutoReleasedObject(factory);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addAutoReleasedObject(factory);
|
||||||
|
|
||||||
filterStrings.prepend(MimeType::formatFilterString(
|
filterStrings.prepend(MimeType::formatFilterString(
|
||||||
tr("All Projects"), allGlobPatterns));
|
tr("All Projects"), allGlobPatterns));
|
||||||
d->m_projectFilterString = filterStrings.join(filterSeparator);
|
d->m_projectFilterString = filterStrings.join(filterSeparator);
|
||||||
|
|||||||
Reference in New Issue
Block a user