File indexing completed on 2024-05-12 04:34:10
0001 /* 0002 SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez <aleixpol@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "okularsingleton.h" 0008 #include <KPluginMetaData> 0009 #include <QMimeDatabase> 0010 #include <QMimeType> 0011 0012 OkularSingleton::OkularSingleton() = default; 0013 0014 QStringList OkularSingleton::nameFilters() const 0015 { 0016 QStringList supportedPatterns; 0017 0018 const auto plugins = KPluginMetaData::findPlugins(QStringLiteral("okular_generators")); 0019 if (plugins.isEmpty()) { 0020 qWarning() << "okularpart plugin not found. Required to get nameFilters"; 0021 return supportedPatterns; 0022 } 0023 0024 QMimeDatabase md; 0025 for (const auto &plugin : plugins) { 0026 const QStringList mimeTypes = plugin.mimeTypes(); 0027 0028 for (const auto &mimeName : mimeTypes) { 0029 const QStringList suffixes = md.mimeTypeForName(mimeName).suffixes(); 0030 for (const QString &suffix : suffixes) { 0031 supportedPatterns += QStringLiteral("*.") + suffix; 0032 } 0033 } 0034 } 0035 0036 return supportedPatterns; 0037 }