From c4fb356772d13ab4c526160f4a839d6acc467692 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 19 Jun 2018 14:50:45 +0200 Subject: [PATCH] Do not show external editors in mime settings External editors are never used to open files, except on explicit request with "Open with", so should not be considered in the settings' "Handler" column Change-Id: I8fe7b9d260754ce84d52db554d6ee25d1af3bfe2 Reviewed-by: David Schulz --- .../coreplugin/editormanager/editormanager.cpp | 4 ++-- .../coreplugin/editormanager/iexternaleditor.cpp | 5 ++--- .../coreplugin/editormanager/iexternaleditor.h | 3 +-- src/plugins/coreplugin/mimetypesettings.cpp | 12 +----------- 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index c6792c5150f..318bc0a0714 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -952,7 +952,7 @@ Id EditorManagerPrivate::getOpenWithEditorId(const QString &fileName, bool *isEx allEditorDisplayNames.push_back(editors.at(i)->displayName()); } // External editors - const ExternalEditorList exEditors = IExternalEditor::externalEditors(mt, false); + const ExternalEditorList exEditors = IExternalEditor::externalEditors(mt); const int esize = exEditors.size(); for (int i = 0; i < esize; i++) { externalEditorIds.push_back(exEditors.at(i)->id()); @@ -2475,7 +2475,7 @@ void EditorManager::populateOpenWithMenu(QMenu *menu, const QString &fileName) const Utils::MimeType mt = Utils::mimeTypeForFile(fileName); if (mt.isValid()) { const EditorFactoryList factories = IEditorFactory::editorFactories(mt, false); - const ExternalEditorList extEditors = IExternalEditor::externalEditors(mt, false); + const ExternalEditorList extEditors = IExternalEditor::externalEditors(mt); anyMatches = !factories.empty() || !extEditors.empty(); if (anyMatches) { // Add all suitable editors diff --git a/src/plugins/coreplugin/editormanager/iexternaleditor.cpp b/src/plugins/coreplugin/editormanager/iexternaleditor.cpp index a802f913c98..032752d89e3 100644 --- a/src/plugins/coreplugin/editormanager/iexternaleditor.cpp +++ b/src/plugins/coreplugin/editormanager/iexternaleditor.cpp @@ -73,12 +73,11 @@ const ExternalEditorList IExternalEditor::allExternalEditors() return g_externalEditors; } -const ExternalEditorList IExternalEditor::externalEditors(const Utils::MimeType &mimeType, - bool bestMatchOnly) +const ExternalEditorList IExternalEditor::externalEditors(const Utils::MimeType &mimeType) { ExternalEditorList rc; const ExternalEditorList allEditors = IExternalEditor::allExternalEditors(); - Internal::mimeTypeFactoryLookup(mimeType, allEditors, bestMatchOnly, &rc); + Internal::mimeTypeFactoryLookup(mimeType, allEditors, /*bestmatchonly=*/false, &rc); return rc; } diff --git a/src/plugins/coreplugin/editormanager/iexternaleditor.h b/src/plugins/coreplugin/editormanager/iexternaleditor.h index d593a4a45a4..97ca8c27604 100644 --- a/src/plugins/coreplugin/editormanager/iexternaleditor.h +++ b/src/plugins/coreplugin/editormanager/iexternaleditor.h @@ -47,8 +47,7 @@ public: ~IExternalEditor() override; static const ExternalEditorList allExternalEditors(); - static const ExternalEditorList externalEditors(const Utils::MimeType &mimeType, - bool bestMatchOnly = true); + static const ExternalEditorList externalEditors(const Utils::MimeType &mimeType); virtual QStringList mimeTypes() const = 0; virtual Id id() const = 0; diff --git a/src/plugins/coreplugin/mimetypesettings.cpp b/src/plugins/coreplugin/mimetypesettings.cpp index 7e03b85c014..42daffe396c 100644 --- a/src/plugins/coreplugin/mimetypesettings.cpp +++ b/src/plugins/coreplugin/mimetypesettings.cpp @@ -143,18 +143,8 @@ void MimeTypeSettingsModel::load() }); foreach (const Utils::MimeType &mimeType, m_mimeTypes) { - QString value; const QList factories = IEditorFactory::editorFactories(mimeType); - if (!factories.isEmpty()) { - value = factories.front()->displayName(); - } else { - const QList externalEditors = IExternalEditor::externalEditors( - mimeType); - if (!externalEditors.isEmpty()) - value = externalEditors.front()->displayName(); - else - value = tr("Undefined"); - } + const QString value = factories.isEmpty() ? "" : factories.front()->displayName(); m_handlersByMimeType.insert(mimeType.name(), value); } endResetModel();