From f7a2eef8ac3758cce61717a74987219da6f5d94e Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Mon, 7 Sep 2015 20:44:42 +0200 Subject: [KDesktopFile] add readMimeTypes CHANGELOG: KDesktopFile can now read mime types specified in the MimeType field REVIEW: 124746 --- autotests/kdesktopfiletest.cpp | 3 +++ src/core/kdesktopfile.cpp | 6 ++++++ src/core/kdesktopfile.h | 7 +++++++ 3 files changed, 16 insertions(+) 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 @@ -159,6 +159,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 -- cgit v1.2.1