aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-06-20 20:12:55 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-06-20 20:12:55 +0000
commit3153d38d7f3c63e1c33fe61b21d96bd0f4ba08da (patch)
tree08b889aee5ce0c37a954f53367267c77bd269ae9 /src
parente439934003cd2746ff0f7df6d6312724e8665daf (diff)
downloadqmmp-3153d38d7f3c63e1c33fe61b21d96bd0f4ba08da.tar.gz
qmmp-3153d38d7f3c63e1c33fe61b21d96bd0f4ba08da.tar.bz2
qmmp-3153d38d7f3c63e1c33fe61b21d96bd0f4ba08da.zip
optimization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@10076 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/qmmp/abstractengine.cpp10
-rw-r--r--src/qmmp/decoder.cpp10
-rw-r--r--src/qmmp/inputsource.cpp10
-rw-r--r--src/qmmp/qmmpplugincache.cpp19
-rw-r--r--src/qmmp/qmmpplugincache_p.h3
5 files changed, 31 insertions, 21 deletions
diff --git a/src/qmmp/abstractengine.cpp b/src/qmmp/abstractengine.cpp
index 2198154aa..cb3656b48 100644
--- a/src/qmmp/abstractengine.cpp
+++ b/src/qmmp/abstractengine.cpp
@@ -215,15 +215,15 @@ QString AbstractEngine::file(const EngineFactory *factory)
QStringList AbstractEngine::protocols()
{
loadPlugins();
- QStringList protocolsList;
+ QStringList protocolList;
for(QmmpPluginCache *item : qAsConst(*m_cache))
{
if(m_disabledNames.contains(item->shortName()))
continue;
- if(item->engineFactory())
- protocolsList << item->engineFactory()->properties().protocols;
+
+ protocolList << item->protocols();
}
- protocolsList.removeDuplicates();
- return protocolsList;
+ protocolList.removeDuplicates();
+ return protocolList;
}
diff --git a/src/qmmp/decoder.cpp b/src/qmmp/decoder.cpp
index 99aed4469..a29680cf4 100644
--- a/src/qmmp/decoder.cpp
+++ b/src/qmmp/decoder.cpp
@@ -157,17 +157,17 @@ QString Decoder::file(const DecoderFactory *factory)
QStringList Decoder::protocols()
{
loadPlugins();
- QStringList protocolsList;
+ QStringList protocolList;
for(QmmpPluginCache *item : qAsConst(*m_cache))
{
if(m_disabledNames.contains(item->shortName()))
continue;
- if(item->decoderFactory())
- protocolsList << item->decoderFactory()->properties().protocols;
+
+ protocolList << item->protocols();
}
- protocolsList.removeDuplicates();
- return protocolsList;
+ protocolList.removeDuplicates();
+ return protocolList;
}
DecoderFactory *Decoder::findByFilePath(const QString &path, bool useContent)
diff --git a/src/qmmp/inputsource.cpp b/src/qmmp/inputsource.cpp
index cc3c7c353..0edb2e144 100644
--- a/src/qmmp/inputsource.cpp
+++ b/src/qmmp/inputsource.cpp
@@ -178,17 +178,17 @@ QString InputSource::file(const InputSourceFactory *factory)
QStringList InputSource::protocols()
{
loadPlugins();
- QStringList protocolsList;
+ QStringList protocolList;
for(QmmpPluginCache *item : qAsConst(*m_cache))
{
if(m_disabledNames.contains(item->shortName()))
continue;
- if(item->inputSourceFactory())
- protocolsList << item->inputSourceFactory()->properties().protocols;
+
+ protocolList << item->protocols();
}
- protocolsList.removeDuplicates();
- return protocolsList;
+ protocolList.removeDuplicates();
+ return protocolList;
}
QList<QRegularExpression> InputSource::regExps()
diff --git a/src/qmmp/qmmpplugincache.cpp b/src/qmmp/qmmpplugincache.cpp
index cd3c9f5e1..764d783db 100644
--- a/src/qmmp/qmmpplugincache.cpp
+++ b/src/qmmp/qmmpplugincache.cpp
@@ -43,18 +43,18 @@ QmmpPluginCache::QmmpPluginCache(const QString &file, QSettings *settings)
key.remove(0,1);
#endif
if(settings->allKeys().contains(key))
-
{
QStringList values = settings->value(m_path).toStringList();
- if(values.count() != 5)
+ if(values.count() != 6)
update = true;
else
{
m_shortName = values.at(0);
m_priority = values.at(1).toInt();
- m_filters = values.at(2).split(";");
- m_contentTypes = values.at(3).split(";");
- update = (info.lastModified().toString(Qt::ISODate) != values.at(4));
+ m_protocols = values.at(2).split(";");
+ m_filters = values.at(3).split(";");
+ m_contentTypes = values.at(4).split(";");
+ update = (info.lastModified().toString(Qt::ISODate) != values.at(5));
}
}
else
@@ -67,6 +67,7 @@ QmmpPluginCache::QmmpPluginCache(const QString &file, QSettings *settings)
{
m_shortName = factory->properties().shortName;
m_priority = factory->properties().priority;
+ m_protocols = factory->properties().protocols;
m_filters = factory->properties().filters;
m_contentTypes = factory->properties().contentTypes;
}
@@ -79,6 +80,7 @@ QmmpPluginCache::QmmpPluginCache(const QString &file, QSettings *settings)
{
m_shortName = factory->properties().shortName;
m_priority = 0;
+ m_protocols = factory->properties().protocols;
m_filters = factory->properties().filters;
m_contentTypes = factory->properties().contentTypes;
}
@@ -91,6 +93,7 @@ QmmpPluginCache::QmmpPluginCache(const QString &file, QSettings *settings)
{
m_shortName = factory->properties().shortName;
m_priority = 0;
+ m_protocols = factory->properties().protocols;
}
else
{
@@ -103,6 +106,7 @@ QmmpPluginCache::QmmpPluginCache(const QString &file, QSettings *settings)
QStringList values;
values << m_shortName;
values << QString::number(m_priority);
+ values << m_protocols.join(";");
values << m_filters.join(";");
values << m_contentTypes.join(";");
values << info.lastModified().toString(Qt::ISODate);
@@ -134,6 +138,11 @@ const QStringList &QmmpPluginCache::contentTypes() const
return m_contentTypes;
}
+const QStringList &QmmpPluginCache::protocols() const
+{
+ return m_protocols;
+}
+
int QmmpPluginCache::priority() const
{
return m_priority;
diff --git a/src/qmmp/qmmpplugincache_p.h b/src/qmmp/qmmpplugincache_p.h
index c800ae6c8..9c653176e 100644
--- a/src/qmmp/qmmpplugincache_p.h
+++ b/src/qmmp/qmmpplugincache_p.h
@@ -44,6 +44,7 @@ public:
const QString file() const;
const QStringList &filters() const;
const QStringList &contentTypes() const;
+ const QStringList &protocols() const;
int priority() const;
bool hasError() const;
@@ -60,7 +61,7 @@ private:
void loadTranslation(const QString &translation);
QString m_path;
QString m_shortName;
- QStringList m_filters, m_contentTypes;
+ QStringList m_filters, m_contentTypes, m_protocols;
bool m_error = false;
QObject *m_instance = nullptr;
DecoderFactory *m_decoderFactory = nullptr;