forked from qt-creator/qt-creator
Core: Register mimetype of softload plugin
Change-Id: I81713d951caaf4e2d97fa1a58c4f512a280af351 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -126,17 +126,22 @@ CoreArguments parseArguments(const QStringList &arguments)
|
||||
return args;
|
||||
}
|
||||
|
||||
void CorePlugin::loadMimeFromPlugin(const ExtensionSystem::PluginSpec *plugin)
|
||||
{
|
||||
const QJsonObject metaData = plugin->metaData();
|
||||
const QJsonValue mimetypes = metaData.value("Mimetypes");
|
||||
QString mimetypeString;
|
||||
if (Utils::readMultiLineString(mimetypes, &mimetypeString))
|
||||
Utils::addMimeTypes(plugin->name() + ".mimetypes", mimetypeString.trimmed().toUtf8());
|
||||
}
|
||||
|
||||
bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage)
|
||||
{
|
||||
// register all mime types from all plugins
|
||||
for (ExtensionSystem::PluginSpec *plugin : ExtensionSystem::PluginManager::plugins()) {
|
||||
if (!plugin->isEffectivelyEnabled())
|
||||
continue;
|
||||
const QJsonObject metaData = plugin->metaData();
|
||||
const QJsonValue mimetypes = metaData.value("Mimetypes");
|
||||
QString mimetypeString;
|
||||
if (Utils::readMultiLineString(mimetypes, &mimetypeString))
|
||||
Utils::addMimeTypes(plugin->name() + ".mimetypes", mimetypeString.trimmed().toUtf8());
|
||||
loadMimeFromPlugin(plugin);
|
||||
}
|
||||
|
||||
if (ThemeEntry::availableThemes().isEmpty()) {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <qglobal.h>
|
||||
|
||||
#include <extensionsystem/iplugin.h>
|
||||
#include <extensionsystem/pluginspec.h>
|
||||
#include <utils/environment.h>
|
||||
|
||||
#include <memory>
|
||||
@@ -54,6 +55,8 @@ public:
|
||||
static void setEnvironmentChanges(const Utils::EnvironmentItems &changes);
|
||||
static QString msgCrashpadInformation();
|
||||
|
||||
static void loadMimeFromPlugin(const ExtensionSystem::PluginSpec *plugin);
|
||||
|
||||
public slots:
|
||||
void fileOpenRequest(const QString &);
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "plugindialog.h"
|
||||
|
||||
#include "coreplugin.h"
|
||||
#include "coreplugintr.h"
|
||||
#include "dialogs/restartdialog.h"
|
||||
#include "icore.h"
|
||||
@@ -87,8 +88,10 @@ void PluginDialog::closeDialog()
|
||||
{
|
||||
PluginManager::writeSettings();
|
||||
|
||||
for (PluginSpec *plugin : m_softLoad)
|
||||
for (PluginSpec *plugin : m_softLoad) {
|
||||
PluginManager::loadPlugin(plugin);
|
||||
CorePlugin::loadMimeFromPlugin(plugin);
|
||||
}
|
||||
|
||||
if (m_isRestartRequired) {
|
||||
RestartDialog restartDialog(ICore::dialogParent(),
|
||||
|
||||
Reference in New Issue
Block a user