PIPluginLoader::pluginsDirectories()

This commit is contained in:
2021-04-18 17:40:40 +03:00
parent dd080ed5e0
commit fd7eae14c6
4 changed files with 18 additions and 2 deletions

View File

@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0)
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(pip)
set(pip_MAJOR 2)
set(pip_MINOR 22)
set(pip_MINOR 23)
set(pip_REVISION 0)
set(pip_SUFFIX )
set(pip_COMPANY SHS)

View File

@@ -21,6 +21,7 @@
#include "piplugin.h"
#include "pifile.h"
#include "pidir.h"
#include "piincludes_p.h"
/*! \class PIPluginLoader
@@ -366,6 +367,18 @@ void PIPluginLoader::mergeStatic() {
}
PIStringList PIPluginLoader::pluginsDirectories(const PIString & name) {
static PIStringList dl({".", "../plugins", "../PlugIns"});
PIString ret;
piForeachC (PIString d, dl) {
PIString dp = d + "/" + name;
if (PIDir::isExists(dp))
ret << dp;
}
return ret;
}
PIString PIPluginLoader::findLibrary(const PIString & path) {
static const PIStringList prefixes({"", "lib"});
static const PIStringList suffixes({"", libExtension()});

View File

@@ -194,6 +194,8 @@ public:
//! "to" - plugin scope
void mergeStatic();
static PIStringList pluginsDirectories(const PIString & name);
private:
NO_COPY_CLASS(PIPluginLoader)

View File

@@ -682,7 +682,8 @@ int main(int argc, char * argv[]) {
PIFile qtc(qt_conf_dir + "qt.conf", PIIODevice::ReadWrite);
qtc.clear();
PIString pp = PIDir(qt_conf_dir).relative(qt_plugins_dir);
piCout << pp;
if (!pp.isEmpty() && !pp.endsWith('/')) pp.append('/');
//piCout << pp;
qtc << "[Paths]\n\tPlugins = " << pp << "\n\tTranslations = lang/\n";
}
}