KMimeTypeTrader
#include <KMimeTypeTrader>
Public Member Functions | |
~KMimeTypeTrader () | |
KService::Ptr | preferredService (const QString &mimeType, const QString &genericServiceType=QStringLiteral("Application")) |
KService::List | query (const QString &mimeType, const QString &genericServiceType=QStringLiteral("Application"), const QString &constraint=QString()) const |
Static Public Member Functions | |
template<class T > | |
static T * | createInstanceFromQuery (const QString &mimeType, const QString &serviceType, QObject *parent=nullptr, const QString &constraint=QString(), const QVariantList &args=QVariantList(), QString *error=nullptr) |
template<class T > | |
static T * | createPartInstanceFromQuery (const QString &mimeType, QWidget *parentWidget=nullptr, QObject *parent=nullptr, const QString &constraint=QString(), const QVariantList &args=QVariantList(), QString *error=nullptr) |
static KMimeTypeTrader * | self () |
Detailed Description
KDE's trader for services associated to a given MIME type.
Example: say that you want to the list of all KParts components that can handle HTML. Our code would look like:
If you want to get the preferred KParts component for text/html you would use:
Although if this is about loading that component you would use createPartInstanceFromQuery() directly.
- See also
- KServiceTypeTrader, KService
- Deprecated:
- since 5.82. For querying applications use KApplicationTrader. For querying KParts use KParts::PartLoader. For querying plugins use KPluginLoader.
Definition at line 43 of file kmimetypetrader.h.
Constructor & Destructor Documentation
◆ ~KMimeTypeTrader()
KMimeTypeTrader::~KMimeTypeTrader | ( | ) |
Standard destructor.
Definition at line 49 of file kmimetypetrader.cpp.
Member Function Documentation
◆ createInstanceFromQuery()
|
inlinestatic |
This can be used to create a service instance from a MIME type query.
- Parameters
-
mimeType a MIME type like 'text/plain' or 'text/html' serviceType a basic service type parent the parent object for the plugin itself constraint A constraint to limit the choices returned, QString() to get all services that can handle the given mimeType
args A list of arguments passed to the service component error The string passed here will contain an error description.
- Returns
- A pointer to the newly created object or a null pointer if the factory was unable to create an object of the given type.
- Deprecated:
- since 5.82. For KParts use KParts::PartLoader::createPartInstanceForMimeType(). Otherwise use KPluginLoader.
Definition at line 169 of file kmimetypetrader.h.
◆ createPartInstanceFromQuery()
|
inlinestatic |
This method creates and returns a part object from the trader query for a given mimeType
.
Example:
- Parameters
-
mimeType the MIME type which this part is associated with parentWidget the parent widget, will be set as the parent of the part's widget parent the parent object for the part itself constraint an optional constraint to pass to the trader args A list of arguments passed to the service component error The string passed here will contain an error description.
- Returns
- A pointer to the newly created object or a null pointer if the factory was unable to create an object of the given type.
- Deprecated:
- since 5.82. For KParts use KParts::PartLoader::createPartInstanceForMimeType(). Otherwise use KPluginLoader.
Definition at line 129 of file kmimetypetrader.h.
◆ preferredService()
KService::Ptr KMimeTypeTrader::preferredService | ( | const QString & | mimeType, |
const QString & | genericServiceType = QStringLiteral("Application") |
||
) |
Returns the preferred service for mimeType
and genericServiceType
.
This is almost like query().first(), except that it also checks if the service is allowed as a preferred service (see KService::allowAsDefault).
- Returns
- the preferred service, or
nullptr
if no service is available.
- Deprecated:
- since 5.82. For querying applications use KApplicationTrader::preferredService(). For querying KParts use KParts::PartLoader::partsForMimeType().first().
Definition at line 176 of file kmimetypetrader.cpp.
◆ query()
KService::List KMimeTypeTrader::query | ( | const QString & | mimeType, |
const QString & | genericServiceType = QStringLiteral("Application") , |
||
const QString & | constraint = QString() |
||
) | const |
This method returns a list of services which are associated with a given MIME type.
Example usage: To get list of applications that can handle a given MIME type, set genericServiceType
to "Application" (which is the default). To get list of embeddable components that can handle a given MIME type, set genericServiceType
to "KParts/ReadOnlyPart".
The constraint parameter is used to limit the possible choices returned based on the constraints you give it.
The constraint
language is rather full. The most common keywords are AND, OR, NOT, IN, and EXIST, all used in an almost spoken-word form. An example is:
The keys used in the query (Type, ServiceTypes, Library) are all fields found in the .desktop files.
- Parameters
-
mimeType a MIME type like 'text/plain' or 'text/html' genericServiceType a basic service type, like 'KParts/ReadOnlyPart' or 'Application' constraint A constraint to limit the choices returned, QString() to get all services that can handle the given mimetype
- Returns
- A list of services that satisfy the query, sorted by preference (preferred service first)
- Deprecated:
- since 5.82. For querying applications use KApplicationTrader::query(). For querying KParts use KParts::PartLoader::partsForMimeType(). For querying plugins use KPluginLoader.
Definition at line 163 of file kmimetypetrader.cpp.
◆ self()
|
static |
This is a static pointer to the KMimeTypeTrader singleton.
You will need to use this to access the KMimeTypeTrader functionality since the constructors are protected.
- Returns
- Static KMimeTypeTrader instance
Definition at line 39 of file kmimetypetrader.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:54:58 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.