Mpris2: Always use QGuiApplication::desktopFileName

This commit is contained in:
Jonas Kvinge 2023-08-02 15:27:24 +02:00
parent f3ddba3edc
commit 8b08d1d599
2 changed files with 19 additions and 30 deletions

View File

@ -131,29 +131,28 @@ Mpris2::Mpris2(Application *app, QObject *parent)
app_name_[0] = app_name_[0].toUpper();
if (!QGuiApplication::desktopFileName().isEmpty()) {
desktop_files_ << QGuiApplication::desktopFileName();
QStringList data_dirs = QString(qgetenv("XDG_DATA_DIRS")).split(":");
if (!data_dirs.contains("/usr/local/share")) {
data_dirs.append("/usr/local/share");
}
QStringList domain_split = QCoreApplication::organizationDomain().split(".");
std::reverse(domain_split.begin(), domain_split.end());
desktop_files_ << QStringList() << domain_split.join(".") + "." + QCoreApplication::applicationName().toLower();
desktop_files_ << QCoreApplication::applicationName().toLower();
desktop_file_ = desktop_files_.first();
if (!data_dirs.contains("/usr/share")) {
data_dirs.append("/usr/share");
}
data_dirs_ = QString(qgetenv("XDG_DATA_DIRS")).split(":");
data_dirs_.append("/usr/local/share");
data_dirs_.append("/usr/share");
for (const QString &directory : data_dirs_) {
for (const QString &desktop_file : desktop_files_) {
QString path = QString("%1/applications/%2.desktop").arg(directory, desktop_file);
if (QFile::exists(path)) {
desktop_file_ = desktop_file;
}
for (const QString &data_dir : data_dirs) {
const QString desktopfilepath = QString("%1/applications/%2.desktop").arg(data_dir, QGuiApplication::desktopFileName());
if (QFile::exists(desktopfilepath)) {
desktopfilepath_ = desktopfilepath;
break;
}
}
if (desktopfilepath_.isEmpty()) {
desktopfilepath_ = QGuiApplication::desktopFileName() + ".desktop";
}
}
// when PlaylistManager gets it ready, we connect PlaylistSequence with this
@ -237,19 +236,11 @@ QString Mpris2::Identity() const { return app_name_; }
QString Mpris2::DesktopEntryAbsolutePath() const {
for (const QString &directory : data_dirs_) {
for (const QString &desktop_file : desktop_files_) {
QString path = QString("%1/applications/%2.desktop").arg(directory, desktop_file);
if (QFile::exists(path)) {
return path;
}
}
}
return QString();
return desktopfilepath_;
}
QString Mpris2::DesktopEntry() const { return desktop_file_; }
QString Mpris2::DesktopEntry() const { return QGuiApplication::desktopFileName() + ".desktop"; }
QStringList Mpris2::SupportedUriSchemes() const {

View File

@ -239,9 +239,7 @@ class Mpris2 : public QObject {
Application *app_;
QString app_name_;
QStringList data_dirs_;
QStringList desktop_files_;
QString desktop_file_;
QString desktopfilepath_;
QVariantMap last_metadata_;
};