summaryrefslogtreecommitdiffstats
path: root/archivemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archivemodel.cpp')
-rw-r--r--archivemodel.cpp36
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 */