76
76
foreach (const QUrl &url, urls) {
77
if (files().contains(url.path())) {
77
QString path = QUrl::fromPercentEncoding(url.path().toUtf8());
78
if (files().contains(path)) {
81
QFileInfo fileInfo(url.path());
82
QFileInfo fileInfo(path);
82
83
QStandardItem *item = 0;
83
84
if (fileInfo.isFile()) {
84
KMimeType::Ptr mime = KMimeType::findByFileContent(url.path());
85
KMimeType::Ptr mime = KMimeType::findByFileContent(path);
85
86
kDebug() << url << mime->name();
86
87
foreach (const QString &mimeType, m_mimes) {
87
88
if (mime->is(mimeType)) {
89
90
/* kDebug() << "Found Supported Mime" << mimeType << mime->iconName();*/
90
91
item = new QStandardItem(fileInfo.fileName());
91
item->setData(url.path());
92
item->setToolTip(url.path());
93
item->setToolTip(path);
93
94
item->setIcon(KIconLoader::global()->loadMimeTypeIcon(mime->iconName(),
94
KIconLoader::Desktop));
95
KIconLoader::Desktop));
99
100
if (ret == false && m_mimes.isEmpty()) {
100
101
if (mime->name() == "application/x-desktop") {
101
KService *service = new KService(url.path());
102
KService *service = new KService(path);
102
103
item = new QStandardItem(service->name());
103
104
item->setData(true, Qt::UserRole);
104
105
item->setIcon(KIconLoader::global()->loadMimeTypeIcon(service->icon(),
108
109
item->setIcon(KIconLoader::global()->loadMimeTypeIcon(mime->iconName(),
109
110
KIconLoader::Desktop));
111
item->setData(url.path());
112
item->setToolTip(url.path());
113
item->setToolTip(path);
113
114
} else if (ret == false && !m_mimes.isEmpty()) {
114
115
item = new QStandardItem(fileInfo.fileName());
115
item->setData(url.path());
116
item->setToolTip(url.path());
117
item->setToolTip(path);
117
118
item->setEnabled(false);
118
119
item->setIcon(KIconLoader::global()->loadIcon("dialog-cancel", KIconLoader::Desktop));
120
121
} else if (m_mimes.isEmpty()) {
121
122
// It's not a file but we don't have a mime so it's ok
122
123
item = new QStandardItem(fileInfo.fileName());
123
item->setData(url.path());
124
item->setToolTip(url.path());
125
item->setToolTip(path);
125
126
item->setIcon(KIconLoader::global()->loadIcon("unknown", KIconLoader::Desktop));