diff options
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r-- | archivemodel.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/archivemodel.cpp b/archivemodel.cpp index 59d1e74..255910f 100644 --- a/archivemodel.cpp +++ b/archivemodel.cpp @@ -19,6 +19,7 @@ #include "smtreeitem.h" #include "archivemodel.h" #include "helper.h" +#include "smglobals.h" ArchiveModel::ArchiveModel(const QStringList &headers, QObject *parent) : SmTreeModel(headers, parent), mOrder(NoOrder){ mDb = QSqlDatabase::database("treedb"); @@ -38,6 +39,7 @@ ArchiveModel::ArchiveModel(const QStringList &headers, QObject *parent) : SmTree connect(collectorMapper, SIGNAL(mapped(QObject*)), this, SLOT(collectorFinished(QObject*))); mCollectors << c1 << c2 << c3; connect(this, SIGNAL(needRefresh()), this, SLOT(refresh())); + readConfig(); refresh(); } @@ -99,6 +101,12 @@ QVariant ArchiveModel::data(const QModelIndex &index, int role) const{ if(role == SubtitleRole){ return item->data(Subtitle); } + if(role == Qt::DecorationRole){ + if(index.column() == 0){ + return mNodeIcons.value(item->data(Type).toInt()); + } + return QVariant(); + } return SmTreeModel::data(index, role); } @@ -510,6 +518,17 @@ void ArchiveModel::refresh(){ } } +void ArchiveModel::readConfig(){ + QSettings s; + QString seriesS = s.value("ui/seriesicon", "Dildo").toString(); + mNodeIcons.insert(SeriesNode, QIcon(SmGlobals::instance()->icons().value(seriesS))); + mNodeIcons.insert(SeriesPartNode, QIcon(SmGlobals::instance()->icons().value(seriesS))); + QString actorS = s.value("ui/actoricon", "Dildo").toString(); + mNodeIcons.insert(ActorNode, QIcon(SmGlobals::instance()->icons().value(actorS))); + QString genreS = s.value("ui/genreicon", "Dildo").toString(); + mNodeIcons.insert(GenreNode, QIcon(SmGlobals::instance()->icons().value(genreS))); +} + void ArchiveModel::collectorFinished(QObject *thread){ ArchiveCollector *t = qobject_cast<ArchiveCollector*>(thread); SmTreeItem *rootCopy = t->rootItem(); @@ -639,6 +658,7 @@ ArchiveFilesModel::ArchiveFilesModel(const QStringList &headers, QObject *parent mRoleDbColumnMap.insert(FileTypeRole, "sifiletype"); mRoleDbColumnMap.insert(FileNumberRole, "sifileno"); mRoleDbColumnMap.insert(QualityRole, "siquality"); + readConfig(); } QVariant ArchiveFilesModel::data(const QModelIndex &index, int role) const { @@ -724,6 +744,16 @@ QVariant ArchiveFilesModel::data(const QModelIndex &index, int role) const { return QFont("courier new"); } } + if(role == Qt::DecorationRole){ + if(index.column() == 0){ + if(item->parent() == root()){ + return QVariant(); + }else{ + return decorationIcon(); + } + } + return QVariant(); + } return SmTreeModel::data(index, role); } @@ -833,6 +863,12 @@ void ArchiveFilesModel::refresh(){ populate(mSeriesPartIds); } +void ArchiveFilesModel::readConfig(){ + QSettings s; + QString fileS = s.value("ui/fileicon", "Dildo").toString(); + setDecorationIcon(QIcon(SmGlobals::instance()->icons().value(fileS))); +} + /* * ArchiveCollector BEGIN */ |