mirror of
https://github.com/rizinorg/cutter.git
synced 2025-02-07 15:32:13 +00:00
Load Plugins from QStandardPaths::AppDataLocation
This commit is contained in:
parent
986041380c
commit
ea6dea3cc1
@ -11,6 +11,7 @@
|
|||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QCoreApplication>
|
#include <QCoreApplication>
|
||||||
#include <QPluginLoader>
|
#include <QPluginLoader>
|
||||||
|
#include <QStandardPaths>
|
||||||
|
|
||||||
Q_GLOBAL_STATIC(PluginManager, uniqueInstance)
|
Q_GLOBAL_STATIC(PluginManager, uniqueInstance)
|
||||||
|
|
||||||
@ -31,27 +32,26 @@ void PluginManager::loadPlugins()
|
|||||||
{
|
{
|
||||||
assert(plugins.isEmpty());
|
assert(plugins.isEmpty());
|
||||||
|
|
||||||
QDir pluginsDir(qApp->applicationDirPath());
|
QStringList locations = QStandardPaths::standardLocations(QStandardPaths::AppDataLocation);
|
||||||
#if defined(Q_OS_WIN)
|
if (locations.isEmpty()) {
|
||||||
if (pluginsDir.dirName().toLower() == "debug" || pluginsDir.dirName().toLower() == "release")
|
qCritical() << "Failed to get a standard path to load plugins from.";
|
||||||
pluginsDir.cdUp();
|
return;
|
||||||
#elif defined(Q_OS_MAC)
|
|
||||||
if (pluginsDir.dirName() == "MacOS") {
|
|
||||||
pluginsDir.cdUp();
|
|
||||||
pluginsDir.cdUp();
|
|
||||||
pluginsDir.cdUp();
|
|
||||||
}
|
}
|
||||||
#endif
|
QDir pluginsDir(locations.first());
|
||||||
|
|
||||||
|
pluginsDir.mkdir("plugins");
|
||||||
if (!pluginsDir.cd("plugins")) {
|
if (!pluginsDir.cd("plugins")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QDir nativePluginsDir = pluginsDir;
|
QDir nativePluginsDir = pluginsDir;
|
||||||
|
nativePluginsDir.mkdir("native");
|
||||||
if (nativePluginsDir.cd("native")) {
|
if (nativePluginsDir.cd("native")) {
|
||||||
loadNativePlugins(nativePluginsDir);
|
loadNativePlugins(nativePluginsDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
QDir pythonPluginsDir = pluginsDir;
|
QDir pythonPluginsDir = pluginsDir;
|
||||||
|
pythonPluginsDir.mkdir("python");
|
||||||
if (pythonPluginsDir.cd("python")) {
|
if (pythonPluginsDir.cd("python")) {
|
||||||
loadPythonPlugins(pythonPluginsDir.absolutePath());
|
loadPythonPlugins(pythonPluginsDir.absolutePath());
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user