summaryrefslogtreecommitdiffstats
path: root/shemoviconprovider.cpp
blob: c46fa13defa8dd45d8b7aedf05305814631630be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
  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 <QIcon>
#include <QFileInfo>
#include <QSettings>

#include "shemoviconprovider.h"
#include "helper.h"
#include "smglobals.h"

SheMovIconProvider::SheMovIconProvider() {};

QIcon SheMovIconProvider::icon(const QFileInfo &info) const {
	if(info.isDir()){
		QSettings s;
		QString fi(s.value("ui/foldericon").toString());
		const QHash<QString, QString> icons = SmGlobals::instance()->icons();
		return QIcon(icons.value(fi));
	}
	QString type = Helper::mimeType(info.absoluteFilePath());
	if(type.toLower().startsWith("video")){
		return QIcon(":/movie.svg");
	}
	if(type.toLower().startsWith("image")){
		return QIcon(":/picture.svg");
	}
	if(type.toLower().contains("application/x-rar")){
		return QIcon(":/archive.svg");
	}
	return QFileIconProvider::icon(info);
}