Load plugins from app dir on Windows (#1408)

This commit is contained in:
Paul I 2019-04-04 11:58:36 +03:00 committed by Florian Märkl
parent cb51496e4f
commit b701d5a9ad
3 changed files with 17 additions and 4 deletions

View File

@ -49,8 +49,6 @@ equals(CUTTER_BUNDLE_R2_APPBUNDLE, true) CONFIG += CUTTER_BUNDLE_R2_APPBU
!defined(CUTTER_APPVEYOR_R2DEC, var) CUTTER_APPVEYOR_R2DEC=false
equals(CUTTER_APPVEYOR_R2DEC, true) CONFIG += CUTTER_APPVEYOR_R2DEC
!defined(CUTTER_APPVEYOR_R2DEC, var) CUTTER_APPVEYOR_R2DEC=false
CUTTER_ENABLE_PYTHON {
message("Python enabled.")
DEFINES += CUTTER_ENABLE_PYTHON

View File

@ -53,9 +53,22 @@ void PluginManager::loadPlugins()
qCritical() << "Failed to get a path to load plugins from.";
return;
}
QDir pluginsDir(pluginsDirStr);
loadPluginsFromDir(QDir(pluginsDirStr));
#ifdef Q_OS_WIN
QDir appDir;
appDir.mkdir("plugins");
if (appDir.cd("plugins")) {
loadPluginsFromDir(appDir);
}
#endif
}
void PluginManager::loadPluginsFromDir(const QDir &pluginsDir)
{
qInfo() << "Plugins are loaded from" << pluginsDir.absolutePath();
int loadedPlugins = plugins.length();
QDir nativePluginsDir = pluginsDir;
nativePluginsDir.mkdir("native");
@ -71,7 +84,8 @@ void PluginManager::loadPlugins()
}
#endif
qInfo() << "Loaded" << plugins.length() << "plugin(s).";
loadedPlugins = plugins.length() - loadedPlugins;
qInfo() << "Loaded" << loadedPlugins << "plugin(s).";
}

View File

@ -35,6 +35,7 @@ private:
QList<CutterPlugin *> plugins;
void loadNativePlugins(const QDir &directory);
void loadPluginsFromDir(const QDir &pluginsDir);
#ifdef CUTTER_ENABLE_PYTHON_BINDINGS
void loadPythonPlugins(const QDir &directory);