aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autotests/kdesktopfiletest.cpp3
-rw-r--r--src/core/kdesktopfile.cpp6
-rw-r--r--src/core/kdesktopfile.h7
3 files changed, 16 insertions, 0 deletions
diff --git a/autotests/kdesktopfiletest.cpp b/autotests/kdesktopfiletest.cpp
index 1a9c1c3e..a90faf3c 100644
--- a/autotests/kdesktopfiletest.cpp
+++ b/autotests/kdesktopfiletest.cpp
@@ -37,6 +37,7 @@ void KDesktopFileTest::testRead()
"Type=Application\n"
"Name=My Application\n"
"Icon=foo\n"
+ "MimeType=text/plain;image/png;\n"
"\n";
file.close();
QVERIFY(QFile::exists(fileName));
@@ -46,6 +47,8 @@ void KDesktopFileTest::testRead()
QVERIFY(df.hasApplicationType());
QCOMPARE(df.readName(), QString::fromLatin1("My Application"));
QCOMPARE(df.readIcon(), QString::fromLatin1("foo"));
+ QCOMPARE(df.readMimeTypes(), QStringList() << QString::fromLatin1("text/plain")
+ << QString::fromLatin1("image/png"));
QVERIFY(!df.hasLinkType());
QCOMPARE(df.fileName(), QFileInfo(fileName).canonicalFilePath());
}
diff --git a/src/core/kdesktopfile.cpp b/src/core/kdesktopfile.cpp
index 254b59a6..49f37c36 100644
--- a/src/core/kdesktopfile.cpp
+++ b/src/core/kdesktopfile.cpp
@@ -237,6 +237,12 @@ QStringList KDesktopFile::readActions() const
return d->desktopGroup.readXdgListEntry("Actions");
}
+QStringList KDesktopFile::readMimeTypes() const
+{
+ Q_D(const KDesktopFile);
+ return d->desktopGroup.readXdgListEntry("MimeType");
+}
+
KConfigGroup KDesktopFile::actionGroup(const QString &group)
{
return KConfigGroup(this, QLatin1String("Desktop Action ") + group);
diff --git a/src/core/kdesktopfile.h b/src/core/kdesktopfile.h
index 2190051d..f3b293fa 100644
--- a/src/core/kdesktopfile.h
+++ b/src/core/kdesktopfile.h
@@ -160,6 +160,13 @@ public:
QStringList readActions() const;
/**
+ * Returns a list of the "MimeType=" entries.
+ * @return the list of mime types
+ * @since 5.15
+ */
+ QStringList readMimeTypes() const;
+
+ /**
* Sets the desktop action group.
* @param group the new action group
*/