aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmp/metadatamanager.cpp5
-rw-r--r--src/qmmp/metadatamanager.h5
-rw-r--r--src/qmmp/qmmpsettings.cpp2
3 files changed, 11 insertions, 1 deletions
diff --git a/src/qmmp/metadatamanager.cpp b/src/qmmp/metadatamanager.cpp
index 1c3653928..ba2c9d43d 100644
--- a/src/qmmp/metadatamanager.cpp
+++ b/src/qmmp/metadatamanager.cpp
@@ -258,6 +258,11 @@ QFileInfoList MetaDataManager::findCoverFiles(QDir dir, int depth) const
return file_list;
}
+ void MetaDataManager::clearCoverChache()
+ {
+ m_cover_cache.clear();
+ }
+
MetaDataManager *MetaDataManager::instance()
{
if(!m_instance)
diff --git a/src/qmmp/metadatamanager.h b/src/qmmp/metadatamanager.h
index c08bac2e8..11c57c0ea 100644
--- a/src/qmmp/metadatamanager.h
+++ b/src/qmmp/metadatamanager.h
@@ -82,11 +82,14 @@ public:
*/
QString getCoverPath(const QString &fileName);
/*!
+ * Clears cover path cache.
+ */
+ void clearCoverChache();
+ /*!
* Returns a pointer to the MetaDataManager instance.
*/
static MetaDataManager* instance();
static void destroy();
-
private:
QFileInfoList findCoverFiles(QDir dir, int depth) const;
QList <DecoderFactory *> *m_decoderFactories;
diff --git a/src/qmmp/qmmpsettings.cpp b/src/qmmp/qmmpsettings.cpp
index 5a92bbe06..a1a874a19 100644
--- a/src/qmmp/qmmpsettings.cpp
+++ b/src/qmmp/qmmpsettings.cpp
@@ -20,6 +20,7 @@
#include <QSettings>
#include <QApplication>
+#include "metadatamanager.h"
#include "qmmp.h"
#include "qmmpsettings.h"
@@ -125,6 +126,7 @@ void QmmpSettings::setCoverSettings(QStringList inc, QStringList exc, int depth,
m_cover_exclude = exc;
m_cover_depth = depth;
m_cover_use_files = use_files;
+ MetaDataManager::instance()->clearCoverChache();
emit coverSettingsChanged();
}