@@ -263,6 +263,7 @@ void LauncherBackend::syncToAccounts()
263263
264264QString LauncherBackend::findDesktopFile(const QString &appId) const
265265{
266+ qDebug() << "searching for desktop file for " << appId;
266267 int dashPos = -1;
267268 QString helper = appId;
268269
@@ -282,6 +283,7 @@ QString LauncherBackend::findDesktopFile(const QString &appId) const
282283 Q_FOREACH(const QString &searchDir, searchDirs) {
283284 QFileInfo fileInfo(QDir(searchDir), helper + ".desktop");
284285 if (fileInfo.exists()) {
286+ qDebug() << "found desktop file at" << fileInfo.absoluteFilePath();
285287 return fileInfo.absoluteFilePath();
286288 }
287289 }
@@ -289,18 +291,26 @@ QString LauncherBackend::findDesktopFile(const QString &appId) const
289291 dashPos = helper.indexOf("-");
290292 } while (dashPos != -1);
291293
294+ qDebug() << "couldn't find the desktop file";
292295 return QString();
293296}
294297
295298LauncherBackendItem* LauncherBackend::parseDesktopFile(const QString &desktopFile) const
296299{
300+ qDebug() <<"parsing" << desktopFile;
297301 QSettings settings(desktopFile, QSettings::IniFormat);
298302
299303
300304 LauncherBackendItem* item = new LauncherBackendItem();
301305 item->desktopFile = desktopFile;
302306 item->displayName = settings.value("Desktop Entry/Name").toString();
303− item->icon = settings.value("Desktop Entry/Icon").toString();
307+
308+ if (settings.contains("Desktop Entry/Path")) {
309+ qDebug() << "found a different specified path" << settings.value("Path");
310+ item->icon = settings.value("Desktop Entry/Path").toString() + "/" + settings.value("Desktop Entry/Icon").toString();
311+ } else {
312+ item->icon = settings.value("Desktop Entry/Icon").toString();
313+ }
304314 item->pinned = false;
305315 return item;
306316}