28#include <QGlobalStatic>
41 QHash<QPair<QString, QString>, QMultiMap<int, KoShapeFactoryBase*> >
factoryMap;
59 config.
blacklist =
"FlakePluginsDisabled";
60 config.
group =
"krita";
63 config.
blacklist =
"ShapePluginsDisabled";
76 for (
int i = 0; i < factories.size(); ++i) {
77 insertFactory(factories[i]);
83 if (!s_instance.exists()) {
84 s_instance->
d->init(s_instance);
92 d->insertFactory(factory);
99 if (odfElements.isEmpty()) {
100 debugFlake <<
"Shape factory" << factory->
id() <<
" does not have OdfNamespace defined, ignoring";
104 for (
QList<QPair<QString, QStringList> >::const_iterator it(odfElements.begin()); it != odfElements.end(); ++it) {
105 foreach (
const QString &elementName, (*it).second) {
106 QPair<QString, QString>
p((*it).first, elementName);
108 QMultiMap<int, KoShapeFactoryBase*> & priorityMap = factoryMap[
p];
110 priorityMap.insert(priority, factory);
112 debugFlake <<
"Inserting factory" << factory->
id() <<
" for"
113 <<
p <<
" with priority "
114 << priority <<
" into factoryMap making "
115 << priorityMap.size() <<
" entries. ";
122#include <QMimeDatabase>
132 QPair<QString, QString>
p = QPair<QString, QString>(nameSpace, elementName);
134 QMultiMap<int, KoShapeFactoryBase*> priorityMap =
d->factoryMap.value(
p);
138 shapeFactories.prepend(f);
141 return shapeFactories;
QList< QString > QStringList
Q_GLOBAL_STATIC(KisStoragePluginRegistry, s_instance)
QList< KoShapeFactoryBase * > doubleEntries() const
QList< KoShapeFactoryBase * > values() const
void load(const QString &serviceType, const PluginsConfig &config=PluginsConfig(), QObject *owner=0, bool cache=true)
static KoPluginLoader * instance()
QList< QPair< QString, QStringList > > odfElements() const
QList< KoShapeFactoryBase * > factoriesForElement(const QString &nameSpace, const QString &elementName)
static KoShapeRegistry * instance()
QHash< QPair< QString, QString >, QMultiMap< int, KoShapeFactoryBase * > > factoryMap
~KoShapeRegistry() override
void insertFactory(KoShapeFactoryBase *factory)
void init(KoShapeRegistry *q)
void addFactory(KoShapeFactoryBase *factory)
const char * blacklist
This contains the variable name for the list of plugins (by library name) that will not be loaded.