From 7e4fd320c0c74bc45e60de18ac5d2b656aa4d821 Mon Sep 17 00:00:00 2001 From: am Date: Sun, 8 Nov 2009 20:55:40 +0000 Subject: -removed a lot of qDebug() includes -turned the Fileinformation into a QTreeview, created a model for that git-svn-id: file:///var/svn/repos2/shemov/trunk@422 f440f766-f032-0410-8965-dc7d17de2ca0 --- actorwidget.cpp | 2 - archivefilewidget.cpp | 37 +++------- archivefilewidget.h | 5 +- archiveviewwidget.cpp | 2 - configurationdialog.cpp | 1 - editarchiveitemdialog.cpp | 41 ++++------ editarchiveitemdialog.h | 6 +- fileinfoitem.cpp | 133 +++++++++++++++++++++++++++++++++ fileinfoitem.h | 41 ++++++++++ fileinfomodel.cpp | 185 ++++++++++++++++++++++++++++++++++++++++++++++ fileinfomodel.h | 47 ++++++++++++ filesystemfileproxy.cpp | 1 - filesystemwidget.cpp | 2 - fileview.cpp | 1 - listmodel.cpp | 1 - movieitem.cpp | 4 - shemov.cpp | 2 - shemov.pro | 8 +- 18 files changed, 445 insertions(+), 74 deletions(-) create mode 100644 fileinfoitem.cpp create mode 100644 fileinfoitem.h create mode 100644 fileinfomodel.cpp create mode 100644 fileinfomodel.h diff --git a/actorwidget.cpp b/actorwidget.cpp index a62331e..c887088 100644 --- a/actorwidget.cpp +++ b/actorwidget.cpp @@ -11,8 +11,6 @@ #include #include -#include - #include "actorwidget.h" #include "actormodel.h" diff --git a/archivefilewidget.cpp b/archivefilewidget.cpp index f9ca5f8..8ddad26 100644 --- a/archivefilewidget.cpp +++ b/archivefilewidget.cpp @@ -16,26 +16,25 @@ #include #include #include - -#include +#include #include "archivefilewidget.h" #include "moviemodel.h" #include "listmodel.h" #include "helper.h" #include "actorwidget.h" +#include "fileinfomodel.h" ArchiveFileWidget::ArchiveFileWidget(MovieModel *model, QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f) , mModel(model){ QVBoxLayout *mainLayout = new QVBoxLayout; //selected files QLabel *l1 = new QLabel(tr("Selected files:")); - mFiles = new QTextEdit; - mFiles->setReadOnly(true); - mFiles->setFont(QFont("Courier new")); - mFiles->setTextColor(QColor(Qt::red)); - QScrollArea *sa = new QScrollArea; - sa->setWidget(mFiles); + mFiles = new QTreeView; + mFiles->setHeaderHidden(true); + mInfoModel = new FileInfoModel(this); + mFiles->setModel(mInfoModel); + mainLayout->addWidget(l1); mainLayout->addWidget(mFiles); @@ -105,22 +104,10 @@ void ArchiveFileWidget::setActorsModel(ListModel *model){ void ArchiveFileWidget::setFiles(const QStringList &files){ mFileList = files; - mFiles->clear(); - mMd5Sums.clear(); - QLocale l; - QString html(""); - foreach(QString f, files){ - QFileInfo info(f); - qint64 size = info.size(); - QString md5 = Helper::md5Sum(f); - QString filename = info.fileName(); - QString mimeType = Helper::mimeType(f); - QString file = QString("

%1

  • Size: %2
  • MD5-Sum: %3
  • Mime Type: %4
").arg(filename).arg(l.toString(size)).arg(md5).arg(mimeType); - html.append(file); - mMd5Sums.insert(f, md5); - } - html.append(""); - mFiles->setHtml(html); + mInfoModel->clear(); + mInfoModel->addFiles(files); + mFiles->expandAll(); + mFiles->resizeColumnToContents(0); mActorWidget->clear(); mTitle->clear(); } @@ -142,8 +129,6 @@ int ArchiveFileWidget::genreId() const{ int retval(-1); if(idx.isValid()){ retval = mGenreModel->data(idx, ListModel::IdRole).toInt(); - }else{ - qDebug() << "genreId: invalid"; } return retval; } diff --git a/archivefilewidget.h b/archivefilewidget.h index 5470460..a3f52c7 100644 --- a/archivefilewidget.h +++ b/archivefilewidget.h @@ -21,6 +21,8 @@ class QStringList; class MovieModel; class ListModel; class ActorWidget; +class QTreeView; +class FileInfoModel; class ArchiveFileWidget : public QWidget { Q_OBJECT @@ -54,7 +56,8 @@ class ArchiveFileWidget : public QWidget { MovieModel *mModel; ListModel *mGenreModel; ListModel *mActorsModel; - QTextEdit *mFiles; + FileInfoModel *mInfoModel; + QTreeView *mFiles; ActorWidget *mActorWidget; QComboBox *mGenre; QSpinBox *mQuality; diff --git a/archiveviewwidget.cpp b/archiveviewwidget.cpp index 810b133..af27041 100644 --- a/archiveviewwidget.cpp +++ b/archiveviewwidget.cpp @@ -19,8 +19,6 @@ #include #include -#include - #include "archiveviewwidget.h" #include "archivefileview.h" #include "moviemodel.h" diff --git a/configurationdialog.cpp b/configurationdialog.cpp index 617a52e..6c31232 100644 --- a/configurationdialog.cpp +++ b/configurationdialog.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include "configurationdialog.h" diff --git a/editarchiveitemdialog.cpp b/editarchiveitemdialog.cpp index f24ad5f..20641a5 100644 --- a/editarchiveitemdialog.cpp +++ b/editarchiveitemdialog.cpp @@ -18,7 +18,8 @@ #include #include #include -#include +//#include +#include #include "editarchiveitemdialog.h" #include "listmodel.h" @@ -26,6 +27,7 @@ #include "listeditor.h" #include "covereditor.h" #include "coveritem.h" +#include "fileinfomodel.h" EditArchiveItemDialog::EditArchiveItemDialog(ListModel *genre, ListModel *actors, MovieModel *movies, QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f), mGenreModel(genre), mActorsModel(actors), mMovieModel(movies){ QWidget *w1 = new QWidget; @@ -34,9 +36,12 @@ EditArchiveItemDialog::EditArchiveItemDialog(ListModel *genre, ListModel *actors //movie information QLabel *l1 = new QLabel(tr("Movie information")); w1Layout->addWidget(l1); - mMovieInfo = new QTextEdit; + /*mMovieInfo = new QTextEdit; mMovieInfo->setReadOnly(true); - mMovieInfo->setFont(QFont("Courier new")); + mMovieInfo->setFont(QFont("Courier new"));*/ + mMovieInfo = new QTreeView; + mFileInfoModel = new FileInfoModel; + mMovieInfo->setModel(mFileInfoModel); w1Layout->addWidget(mMovieInfo); //actors @@ -168,44 +173,24 @@ void EditArchiveItemDialog::setActors(){ } void EditArchiveItemDialog::setMovieInfo(const QModelIndex &movie){ - QString html("
    "); QModelIndex idx = mMovieModel->index(movie.row(), MovieItem::Title, QModelIndex()); - html.append(QString(tr("
  • Title: %1
  • ")).arg(idx.data().toString())); mTitle->setText(idx.data(MovieModel::TitleBaseRole).toString()); - html.append(QString(tr("
  • Filename: %1
  • ")).arg(idx.data(MovieModel::FilenameRole).toString())); - html.append(QString(tr("
  • Md5-Sum: %1
  • ")).arg(idx.data(MovieModel::Md5Role).toString())); - QLocale l; - html.append(QString(tr("
  • Size: %1
  • ")).arg(l.toString(idx.data(MovieModel::SizeRole).toLongLong()))); - html.append(QString(tr("
  • Genre: %1
  • ")).arg(idx.data(MovieModel::GenreRole).toString())); int genreIndex = mGenre->findText(idx.data().toString()); if(genreIndex != -1){ mGenre->setCurrentIndex(genreIndex); } - html.append(QString(tr("
  • Quality: %1
  • ")).arg(l.toString(idx.data(MovieModel::QualityRole).toInt()))); mQuality->setValue(idx.data(MovieModel::QualityRole).toInt()); int dvd = idx.data(MovieModel::DvdRole).toInt(); - if(dvd != -1){ - html.append(QString(tr("
  • On DVD %1
  • ")).arg(l.toString(dvd))); - }else{ - html.append(QString(tr("
  • Not on DVD
  • "))); - } mDvd->setValue(dvd); int seriesno = idx.data(MovieModel::SeriesNoRole).toInt(); - if(seriesno == -1){ - html.append(QString(tr("
  • First or signle part
  • "))); - }else{ - html.append(QString(tr("
  • Part %1 in series
  • ")).arg(QString::number(seriesno))); - } mSeriesNo->setValue(seriesno); int partno = idx.data(MovieModel::PartNoRole).toInt(); - if(partno == -1){ - html.append(QString(tr("
  • Multipart: no
  • "))); - }else{ - html.append(QString(tr("
  • Multipart: part %1")).arg(QString::number(partno))); - } mPartNo->setValue(partno); - html.append("
"); - mMovieInfo->setHtml(html); + mFileInfoModel->clear(); + mFileInfoModel->addIndex(idx.data().toString(), movie); + mMovieInfo->setHeaderHidden(true); + mMovieInfo->resizeColumnToContents(0); + mMovieInfo->expandAll(); } void EditArchiveItemDialog::addActor(){ diff --git a/editarchiveitemdialog.h b/editarchiveitemdialog.h index e4e041c..c436c6c 100644 --- a/editarchiveitemdialog.h +++ b/editarchiveitemdialog.h @@ -20,6 +20,8 @@ class QSpinBox; class QTextEdit; class QPushButton; class QModelIndex; +class QTreeView; +class FileInfoModel; class EditArchiveItemDialog : public QDialog { Q_OBJECT @@ -39,10 +41,12 @@ class EditArchiveItemDialog : public QDialog { void setMovieInfo(const QModelIndex &movie); ListModel *mGenreModel; ListModel *mActorsModel; + FileInfoModel *mFileInfoModel; MovieModel *mMovieModel; QComboBox *mGenre; QComboBox *mActors; - QTextEdit *mMovieInfo; + //QTextEdit *mMovieInfo; + QTreeView *mMovieInfo; QTextEdit *mActorsDisplay; QSpinBox *mQuality; QSpinBox *mSeriesNo; diff --git a/fileinfoitem.cpp b/fileinfoitem.cpp new file mode 100644 index 0000000..0d2e605 --- /dev/null +++ b/fileinfoitem.cpp @@ -0,0 +1,133 @@ +/* + 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 +#include +#include + +#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 &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(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 d1; + d1 << tr("Size") << fi.size(); + FileInfoItem *fi1 = new FileInfoItem(d1, this); + mChildren.append(fi1); + QString md5sum = Helper::md5Sum(mFullFilename); + QList d2; + d2 << tr("MD5-Sum") << md5sum; + FileInfoItem *fi2 = new FileInfoItem(d2, this); + mChildren.append(fi2); + QString mt = Helper::mimeType(mFullFilename); + QList d3; + d3 << tr("MIME-Type") << mt; + FileInfoItem *fi3 = new FileInfoItem(d3, this); + mChildren.append(fi3); +} + +void FileInfoItem::populateFromIndex() { + const MovieModel *movieModel = static_cast(mIndex.model()); + Q_ASSERT(movieModel); + QLocale l; + QModelIndex idx = movieModel->index(mIndex.row(), MovieItem::Title, QModelIndex()); + QList data1; + data1 << tr("Filename") << idx.data(MovieModel::FilenameRole); + FileInfoItem *fi1 = new FileInfoItem(data1, this); + mChildren.append(fi1); + QList data2; + data2 << tr("MD5-Sum") << idx.data(MovieModel::Md5Role); + FileInfoItem *fi2 = new FileInfoItem(data2, this); + mChildren.append(fi2); + QList data3; + data3 << tr("Size") << l.toString(idx.data(MovieModel::SizeRole).toLongLong()); + FileInfoItem *fi3 = new FileInfoItem(data3, this); + mChildren.append(fi3); + QList data4; + data4 << tr("Genre") << idx.data(MovieModel::GenreRole); + FileInfoItem *fi4 = new FileInfoItem(data4, this); + mChildren.append(fi4); + QList data5; + data5 << tr("Quality") << idx.data(MovieModel::QualityRole); + FileInfoItem *fi5 = new FileInfoItem(data5, this); + mChildren.append(fi5); + QList 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; +} + diff --git a/fileinfoitem.h b/fileinfoitem.h new file mode 100644 index 0000000..067fd06 --- /dev/null +++ b/fileinfoitem.h @@ -0,0 +1,41 @@ +/* + 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. +*/ + +#ifndef FILEINFOITEM_H +#define FILEINFOITEM_H + +#include +#include + +class FileInfoItem : public QObject { + Q_OBJECT + public: + FileInfoItem(const QString &fn, FileInfoItem *parent = 0, QObject *oParent = 0); + FileInfoItem(const QList &data, FileInfoItem *parent, QObject *oParent = 0); + FileInfoItem(const QString &title, const QModelIndex &index, FileInfoItem *parent, QObject *oParent = 0); + virtual ~FileInfoItem(); + FileInfoItem *child(int row); + int childCount() const; + int row() const; + int columnCount() const; + QVariant data(int column) const; + FileInfoItem *parent(); + void populate(); + void populateFromIndex(); + void appendChild(FileInfoItem *item); + void removeChild(int row); + + private: + FileInfoItem *mParent; + QList mData; + QString mFullFilename; + QModelIndex mIndex; + QList mChildren; +}; + +#endif + diff --git a/fileinfomodel.cpp b/fileinfomodel.cpp new file mode 100644 index 0000000..681f1a1 --- /dev/null +++ b/fileinfomodel.cpp @@ -0,0 +1,185 @@ +/* + 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 +#include +#include +#include + +#include "fileinfomodel.h" +#include "fileinfoitem.h" + +FileInfoModel::FileInfoModel(QObject *parent) : QAbstractItemModel(parent) { + QList rootData; + rootData << QVariant() << QVariant(); + mRootItem = new FileInfoItem(rootData, 0); +} + +FileInfoModel::~FileInfoModel() { + delete mRootItem; +} + +QModelIndex FileInfoModel::index(int row, int column, const QModelIndex &parent) const{ + if(!hasIndex(row, column, parent)){ + return QModelIndex(); + } + FileInfoItem *parentItem; + if(!parent.isValid()){ + parentItem = mRootItem; + }else{ + parentItem = static_cast(parent.internalPointer()); + } + FileInfoItem *childItem = parentItem->child(row); + if(childItem){ + return createIndex(row, column, childItem); + } + return QModelIndex(); +} + +QModelIndex FileInfoModel::parent(const QModelIndex &index) const { + if(!index.isValid()){ + return QModelIndex(); + } + FileInfoItem *childItem = static_cast(index.internalPointer()); + Q_ASSERT(childItem); + if(!childItem){ + return QModelIndex(); + } + FileInfoItem *parentItem = childItem->parent(); + if(parentItem == mRootItem){ + return QModelIndex(); + } + if(parentItem->row() == -1){ + return QModelIndex(); + } + return createIndex(parentItem->row(), 0, parentItem); +} + +int FileInfoModel::rowCount(const QModelIndex &parent) const { + FileInfoItem *parentItem; + if(parent.column() > 0){ + return 0; + } + if(!parent.isValid()){ + parentItem = mRootItem; + }else{ + parentItem = static_cast(parent.internalPointer()); + } + return parentItem->childCount(); +} + +int FileInfoModel::columnCount(const QModelIndex &parent) const { + if(!parent.isValid()){ + return mRootItem->columnCount(); + } + FileInfoItem *item = static_cast(parent.internalPointer()); + return item->columnCount(); +} + +QVariant FileInfoModel::data(const QModelIndex &index, int role) const { + if(!index.isValid()){ + return QVariant(); + } + FileInfoItem *item = static_cast(index.internalPointer()); + switch(role) { + case Qt::DisplayRole: + return item->data(index.column()); + break; + case Qt::DecorationRole: { + if((item->parent() == mRootItem) && (index.column() == 0)){ + return QIcon(":/dildo.png"); + } + break; + } + case Qt::ForegroundRole: + if((item->parent() == mRootItem) && (index.column() == 0)){ + qApp->palette().color(QPalette::WindowText); + } + return Qt::blue; + break; + } + return QVariant(); +} + +Qt::ItemFlags FileInfoModel::flags(const QModelIndex &) const { + return Qt::ItemIsSelectable | Qt::ItemIsEnabled; +} + +QVariant FileInfoModel::headerData(int, Qt::Orientation, int) const { + return QVariant(); +} + +void FileInfoModel::addFiles(const QStringList &files){ + mCurrentIndex = QModelIndex(); + mTitle = QString(); + mMode = File; + mCurrentFiles = files; + insertRows(0, files.count(), createIndex(0, 0, mRootItem)); +} + +void FileInfoModel::addIndex(const QString &title, const QModelIndex &idx){ + mCurrentFiles.clear(); + mMode = Index; + mCurrentIndex = idx; + mTitle = title; + insertRows(0, 1, createIndex(0, 0, mRootItem)); +} + +bool FileInfoModel::insertRows(int row, int count, const QModelIndex &parent){ + if(mMode == File){ + if(count != mCurrentFiles.count()){ + return false; + } + }else{ + if((count != 1) || !mCurrentIndex.isValid()){ + return false; + } + } + beginInsertRows(parent, row, row + count - 1); + int i(0), j(0); + FileInfoItem *p = static_cast(parent.internalPointer()); + if(!p){ + p = mRootItem; + } + for(i = row, j = 0; i < (row + count); ++i, ++j){ + FileInfoItem *item = 0; + if(mMode == File){ + item = new FileInfoItem(mCurrentFiles.at(j), p); + item->populate(); + }else{ + item = new FileInfoItem(mTitle, mCurrentIndex, p); + item->populateFromIndex(); + } + p->appendChild(item); + } + endInsertRows(); + emit layoutChanged(); + mCurrentFiles.clear(); + return true; +} + +bool FileInfoModel::removeRows(int row, int count, const QModelIndex &parent){ + FileInfoItem *item = static_cast(parent.internalPointer()); + if(!item){ + item = mRootItem; + } + if(((row + count - 1) >= item->childCount()) || (count == 0)) { + return false; + } + beginRemoveRows(parent, row, row + (count - 1)); + for(int i = row + count; i > row; --i){ + item->removeChild(i - 1); + } + endRemoveRows(); + emit layoutChanged(); + return true; +} + +void FileInfoModel::clear(){ + removeRows(0, mRootItem->childCount(), QModelIndex()); +} + diff --git a/fileinfomodel.h b/fileinfomodel.h new file mode 100644 index 0000000..326a88e --- /dev/null +++ b/fileinfomodel.h @@ -0,0 +1,47 @@ +/* + 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. +*/ + +#ifndef FILEINFOMODEL_H +#define FILEINFOMODEL_H + +#include +#include + +class FileInfoItem; + +class FileInfoModel : public QAbstractItemModel { + Q_OBJECT + public: + enum Mode { File, Index }; + FileInfoModel(QObject *parent = 0); + virtual ~FileInfoModel(); + QModelIndex index(int row, int column, const QModelIndex &parent) const; + QModelIndex parent(const QModelIndex &index) const; + int rowCount(const QModelIndex &parent) const; + int columnCount(const QModelIndex &parent) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + Qt::ItemFlags flags(const QModelIndex &index) const; + QVariant headerData(int section, Qt::Orientation o, int role) const; + void addFiles(const QStringList &files); + void addIndex(const QString &title, const QModelIndex &idx); + void clear(); + + protected: + bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); + bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); + + private: + FileInfoItem *mRootItem; + QStringList mCurrentFiles; + QModelIndex mCurrentIndex; + QString mTitle; + Mode mMode; + +}; + +#endif + diff --git a/filesystemfileproxy.cpp b/filesystemfileproxy.cpp index 2379226..25fb12b 100644 --- a/filesystemfileproxy.cpp +++ b/filesystemfileproxy.cpp @@ -8,7 +8,6 @@ #include #include #include -#include #include #include "filesystemfileproxy.h" diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index e18528c..bd02098 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -22,8 +22,6 @@ #include #include -#include - #include "filesystemwidget.h" #include "filesystemdirproxy.h" #include "fileview.h" diff --git a/fileview.cpp b/fileview.cpp index 88cc15c..4e20e47 100644 --- a/fileview.cpp +++ b/fileview.cpp @@ -15,7 +15,6 @@ #include #include #include -#include #include "fileview.h" #include "messagedialog.h" diff --git a/listmodel.cpp b/listmodel.cpp index 71a5040..2f32f1c 100644 --- a/listmodel.cpp +++ b/listmodel.cpp @@ -10,7 +10,6 @@ #include #include -#include #include "listmodel.h" #include "listitem.h" diff --git a/movieitem.cpp b/movieitem.cpp index 46519db..d4760f9 100644 --- a/movieitem.cpp +++ b/movieitem.cpp @@ -7,8 +7,6 @@ #include -#include - #include "movieitem.h" #include "coveritem.h" #include "helper.h" @@ -21,7 +19,6 @@ MovieItem::MovieItem(int id, QObject *parent) : QObject(parent), mNumRows(9), m populate(); setGenreName(); setActors(); - //setSize(); setCovers(); } } @@ -31,7 +28,6 @@ void MovieItem::setId(int id){ populate(); setGenreName(); setActors(); - //setSize(); setCovers(); } diff --git a/shemov.cpp b/shemov.cpp index e45cbb7..b4b7327 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -26,8 +26,6 @@ #include #include -#include - #include "shemov.h" #include "filesystemwidget.h" #include "fileview.h" diff --git a/shemov.pro b/shemov.pro index 1e7942c..0a62789 100644 --- a/shemov.pro +++ b/shemov.pro @@ -32,7 +32,9 @@ textenterdialog.cpp \ moviepropertiesdialog.cpp \ statisticsdialog.cpp \ actorwidget.cpp \ -actormodel.cpp +actormodel.cpp \ +fileinfoitem.cpp \ +fileinfomodel.cpp HEADERS = listitem.h \ listmodel.h \ movieitem.h \ @@ -63,7 +65,9 @@ textenterdialog.h \ moviepropertiesdialog.h \ statisticsdialog.h \ actorwidget.h \ -actormodel.h +actormodel.h \ +fileinfoitem.h \ +fileinfomodel.h LIBS += -lmagic LIBS += -lcryptopp INCLUDEPATH += /usr/include/cryptopp -- cgit v1.2.3-70-g09d2