diff options
Diffstat (limited to 'fileinfoitem.cpp')
-rw-r--r-- | fileinfoitem.cpp | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/fileinfoitem.cpp b/fileinfoitem.cpp deleted file mode 100644 index 0d2e605..0000000 --- a/fileinfoitem.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version - 2 of the License, or (at your option) any later version. -*/ - -#include <QFileInfo> -#include <QVariant> -#include <QLocale> - -#include "fileinfoitem.h" -#include "moviemodel.h" -#include "helper.h" - -FileInfoItem::FileInfoItem(const QString &fn, FileInfoItem *parent, QObject *oParent) : QObject(oParent){ - mParent = parent; - mFullFilename = fn; - QFileInfo fi(fn); - mData << fi.fileName() << QVariant(); -} - -FileInfoItem::FileInfoItem(const QList<QVariant> &data, FileInfoItem *parent, QObject *oParent) : QObject(oParent){ - mParent = parent; - mData = data; -} - -FileInfoItem::FileInfoItem(const QString &title, const QModelIndex &index, FileInfoItem *parent, QObject *oParent) : QObject(oParent){ - mIndex = index; - mParent = parent; - mData << title << QVariant(); -} - -FileInfoItem::~FileInfoItem() { - qDeleteAll(mChildren); - mChildren.clear(); -} - -FileInfoItem* FileInfoItem::child(int row){ - return mChildren.value(row); -} - -int FileInfoItem::childCount() const { - return mChildren.count(); -} - -int FileInfoItem::row() const { - if(mParent){ - return mParent->mChildren.indexOf(const_cast<FileInfoItem*>(this)); - } - return 0; -} - -int FileInfoItem::columnCount() const { - return mData.count(); -} - -QVariant FileInfoItem::data(int column) const { - return mData.value(column); -} - -FileInfoItem *FileInfoItem::parent() { - return mParent; -} - -void FileInfoItem::populate() { - QFileInfo fi(mFullFilename); - QList<QVariant> d1; - d1 << tr("Size") << fi.size(); - FileInfoItem *fi1 = new FileInfoItem(d1, this); - mChildren.append(fi1); - QString md5sum = Helper::md5Sum(mFullFilename); - QList<QVariant> d2; - d2 << tr("MD5-Sum") << md5sum; - FileInfoItem *fi2 = new FileInfoItem(d2, this); - mChildren.append(fi2); - QString mt = Helper::mimeType(mFullFilename); - QList<QVariant> d3; - d3 << tr("MIME-Type") << mt; - FileInfoItem *fi3 = new FileInfoItem(d3, this); - mChildren.append(fi3); -} - -void FileInfoItem::populateFromIndex() { - const MovieModel *movieModel = static_cast<const MovieModel*>(mIndex.model()); - Q_ASSERT(movieModel); - QLocale l; - QModelIndex idx = movieModel->index(mIndex.row(), MovieItem::Title, QModelIndex()); - QList<QVariant> data1; - data1 << tr("Filename") << idx.data(MovieModel::FilenameRole); - FileInfoItem *fi1 = new FileInfoItem(data1, this); - mChildren.append(fi1); - QList<QVariant> data2; - data2 << tr("MD5-Sum") << idx.data(MovieModel::Md5Role); - FileInfoItem *fi2 = new FileInfoItem(data2, this); - mChildren.append(fi2); - QList<QVariant> data3; - data3 << tr("Size") << l.toString(idx.data(MovieModel::SizeRole).toLongLong()); - FileInfoItem *fi3 = new FileInfoItem(data3, this); - mChildren.append(fi3); - QList<QVariant> data4; - data4 << tr("Genre") << idx.data(MovieModel::GenreRole); - FileInfoItem *fi4 = new FileInfoItem(data4, this); - mChildren.append(fi4); - QList<QVariant> data5; - data5 << tr("Quality") << idx.data(MovieModel::QualityRole); - FileInfoItem *fi5 = new FileInfoItem(data5, this); - mChildren.append(fi5); - QList<QVariant> data6; - data6 << tr("DVD"); - int dvd = idx.data(MovieModel::DvdRole).toInt(); - if(dvd != -1){ - QString nr = QString("#%1").arg(dvd); - data6 << nr; - }else{ - data6 << tr("(local)"); - } - FileInfoItem *fi6 = new FileInfoItem(data6, this); - mChildren.append(fi6); -} - -void FileInfoItem::appendChild(FileInfoItem *item) { - mChildren.append(item); -} - -void FileInfoItem::removeChild(int row) { - if(row >= mChildren.count()){ - return; - } - FileInfoItem *item = mChildren.takeAt(row); - delete item; -} - |