diff options
| -rw-r--r-- | src/plugins/Input/archive/archivemetadatamodel.cpp | 11 | ||||
| -rw-r--r-- | src/plugins/Input/archive/archivemetadatamodel.h | 1 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/Input/archive/archivemetadatamodel.cpp b/src/plugins/Input/archive/archivemetadatamodel.cpp index 02ee77770..e460ba344 100644 --- a/src/plugins/Input/archive/archivemetadatamodel.cpp +++ b/src/plugins/Input/archive/archivemetadatamodel.cpp @@ -27,9 +27,7 @@ ArchiveMetaDataModel::ArchiveMetaDataModel(const QString &url, QObject *parent) { m_reader = 0; m_input = 0; - m_input = new ArchiveInputDevice(url); - if(m_input->isOpen()) - m_reader = new ArchiveTagReader(m_input, url); + m_url = url; } ArchiveMetaDataModel::~ArchiveMetaDataModel() @@ -42,6 +40,13 @@ ArchiveMetaDataModel::~ArchiveMetaDataModel() QHash<QString, QString> ArchiveMetaDataModel::audioProperties() { + if(!m_input) + { + m_input = new ArchiveInputDevice(m_url); + if(m_input->isOpen()) + m_reader = new ArchiveTagReader(m_input, m_url); + } + QHash <QString, QString> ap; if(m_reader && m_reader->audioProperties()) { diff --git a/src/plugins/Input/archive/archivemetadatamodel.h b/src/plugins/Input/archive/archivemetadatamodel.h index 309c3b671..771106844 100644 --- a/src/plugins/Input/archive/archivemetadatamodel.h +++ b/src/plugins/Input/archive/archivemetadatamodel.h @@ -39,6 +39,7 @@ public: private: ArchiveInputDevice *m_input; ArchiveTagReader *m_reader; + QString m_url; }; |
