1#include "desktopfilehandler.h"
4#include <QStandardPaths>
9DesktopFileHandler::DesktopFileHandler(QObject *parent):
15QString DesktopFileHandler::findDesktopFile(const QString &appId) const
18 QString helper = appId;
20 QStringList searchDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
21#ifdef LAUNCHER_TESTING
28 helper.replace(dashPos, 1, '/');
31 if (helper.contains("/")) {
32 path += helper.split('/').first() + '/';
33 helper.remove(QRegExp("^" + path));
36 Q_FOREACH(const QString &searchDirName, searchDirs) {
37 QDir searchDir(searchDirName + "/" + path);
38 Q_FOREACH(const QString &desktopFile, searchDir.entryList(QStringList() << "*.desktop")) {
39 if (desktopFile.startsWith(helper)) {
40 QFileInfo fileInfo(searchDir, desktopFile);
41 return fileInfo.absoluteFilePath();
46 dashPos = helper.indexOf("-");
47 } while (dashPos != -1);
52QString DesktopFileHandler::displayName(const QString &appId) const
54 QString desktopFile = findDesktopFile(appId);
55 if (desktopFile.isEmpty()) {
59 QSettings settings(desktopFile, QSettings::IniFormat);
60 return settings.value("Desktop Entry/Name").toString();
63QString DesktopFileHandler::icon(const QString &appId) const
65 QString desktopFile = findDesktopFile(appId);
66 if (desktopFile.isEmpty()) {
70 QSettings settings(desktopFile, QSettings::IniFormat);
71 QString iconString = settings.value("Desktop Entry/Icon").toString();
72 QString pathString = settings.value("Desktop Entry/Path").toString();
73 qDebug() << "checking icon" << iconString << pathString << desktopFile;
74 qDebug() << settings.allKeys();
75 if (QFileInfo(iconString).exists()) {
76 return QFileInfo(iconString).absoluteFilePath();
77 } else if (QFileInfo(pathString + '/' + iconString).exists()) {
78 return pathString + '/' + iconString;
80 return "image://theme/" + iconString;
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list