diff options
Diffstat (limited to 'coveritem.cpp')
-rw-r--r-- | coveritem.cpp | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/coveritem.cpp b/coveritem.cpp index f29e81c..f42afc5 100644 --- a/coveritem.cpp +++ b/coveritem.cpp @@ -6,7 +6,45 @@ */ #include <QString> +#include <QSettings> #include "coveritem.h" -CoverItem::CoverItem(const QString &filename, const QString &type, const QString &md5) : mFilename(filename), mType(type), mMd5(md5) {}; +CoverItem::CoverItem(const QString &filename, const QString &type, const QString &md5) : mFilename(filename), mType(type), mMd5(md5){ + setPath(); +} + +CoverItem::CoverItem() {}; + +void CoverItem::setFileName(const QString &filename){ + mFilename = filename; + setPath(); +} + +void CoverItem::setMd5(const QString &md5){ + mMd5 = md5; + setPath(); +} + +void CoverItem::setFullPath(const QString &fullPath){ + if(fullPath.contains('/')){ + mFullPath = fullPath; + QString wc = fullPath; + int idx = fullPath.lastIndexOf('/') + 1; + mFilename = wc.remove(0, idx); + } +} + +void CoverItem::setPath(){ + if(mFilename.isEmpty() || mMd5.isEmpty()){ + return; + } + // assume it's the full path + if(mFilename.contains('/')){ + return; + } + QSettings s; + QString archive = s.value("paths/archivedir").toString(); + mFullPath = QString("%1/%2/%3/%4").arg(archive).arg(mMd5[0]).arg(mMd5[1]).arg(mFilename); +} + |