From a09ec84060db0b2d87427ffe6fffae9d4022012c Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 23 Feb 2010 15:13:26 +0000 Subject: clear cover cache when settings changed git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1573 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmp/metadatamanager.cpp | 5 +++++ src/qmmp/metadatamanager.h | 5 ++++- src/qmmp/qmmpsettings.cpp | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) 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 @@ -81,12 +81,15 @@ public: * with embedded covers. */ 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 *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 #include +#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(); } -- cgit v1.2.3-13-gbd6f