diff options
| -rw-r--r-- | src/plugins/General/mpris/mpris2/root2object.cpp | 2 | ||||
| -rw-r--r-- | src/qmmp/decoder.cpp | 12 | ||||
| -rw-r--r-- | src/qmmp/decoder.h | 4 | ||||
| -rw-r--r-- | src/qmmp/metadatamanager.cpp | 6 |
4 files changed, 20 insertions, 4 deletions
diff --git a/src/plugins/General/mpris/mpris2/root2object.cpp b/src/plugins/General/mpris/mpris2/root2object.cpp index 126a81391..6faf180e6 100644 --- a/src/plugins/General/mpris/mpris2/root2object.cpp +++ b/src/plugins/General/mpris/mpris2/root2object.cpp @@ -64,7 +64,7 @@ QString Root2Object::identity() const QStringList Root2Object::supportedMimeTypes() const { QStringList mimeTypes; - foreach(DecoderFactory *factory, Decoder::factories()) + foreach(DecoderFactory *factory, Decoder::enabledFactories()) mimeTypes << factory->properties().contentTypes; foreach(EngineFactory *factory, *AbstractEngine::factories()) mimeTypes << factory->properties().contentTypes; diff --git a/src/qmmp/decoder.cpp b/src/qmmp/decoder.cpp index 2539b9e33..26a4d740a 100644 --- a/src/qmmp/decoder.cpp +++ b/src/qmmp/decoder.cpp @@ -283,3 +283,15 @@ QList<DecoderFactory *> Decoder::factories() } return list; } + +QList<DecoderFactory *> Decoder::enabledFactories() +{ + loadPlugins(); + QList<DecoderFactory *> list; + foreach (QmmpPluginCache *item, *m_cache) + { + if(!m_disabledNames.contains(item->shortName()) && item->decoderFactory()) + list.append(item->decoderFactory()); + } + return list; +} diff --git a/src/qmmp/decoder.h b/src/qmmp/decoder.h index 1af07a5c6..4d586fc13 100644 --- a/src/qmmp/decoder.h +++ b/src/qmmp/decoder.h @@ -131,6 +131,10 @@ public: */ static QList<DecoderFactory*> factories(); /*! + * Returns a list of enabled decoder factories. + */ + static QList<DecoderFactory*> enabledFactories(); + /*! * Returns plugin file path. * @param factory Decoder plugin factory. */ diff --git a/src/qmmp/metadatamanager.cpp b/src/qmmp/metadatamanager.cpp index f0cc7d88c..87f4625a2 100644 --- a/src/qmmp/metadatamanager.cpp +++ b/src/qmmp/metadatamanager.cpp @@ -115,9 +115,9 @@ MetaDataModel* MetaDataManager::createMetaDataModel(const QString &path, QObject QStringList MetaDataManager::filters() const { QStringList filters; - foreach(DecoderFactory *fact, Decoder::factories()) + foreach(DecoderFactory *fact, Decoder::enabledFactories()) { - if (Decoder::isEnabled(fact) && !fact->properties().filters.isEmpty()) + if (!fact->properties().filters.isEmpty()) filters << fact->properties().description + " (" + fact->properties().filters.join(" ") + ")"; } foreach(EngineFactory *fact, *AbstractEngine::factories()) @@ -131,7 +131,7 @@ QStringList MetaDataManager::filters() const QStringList MetaDataManager::nameFilters() const { QStringList filters; - foreach(DecoderFactory *fact, Decoder::factories()) + foreach(DecoderFactory *fact, Decoder::enabledFactories()) { if (Decoder::isEnabled(fact)) filters << fact->properties().filters; |
