KApplicationTrader

KApplicationTrader Namespace Reference

Typedefs

using FilterFunc = std::function< bool(const KService::Ptr &)>
 

Functions

KSERVICE_EXPORT bool isSubsequence (const QString &pattern, const QString &text, Qt::CaseSensitivity cs=Qt::CaseSensitive)
 
KSERVICE_EXPORT KService::Ptr preferredService (const QString &mimeType)
 
KSERVICE_EXPORT KService::List query (FilterFunc filterFunc)
 
KSERVICE_EXPORT KService::List queryByMimeType (const QString &mimeType, FilterFunc filterFunc={})
 

Detailed Description

The application trader is a convenient way to find installed applications based on specific criteria (association with a MIME type, name contains Foo, etc.)

Example: say that you want to get the list of all applications that can handle PNG images. The code would look like:

If you want to get the preferred application for image/png you would use:

See also
KService

Typedef Documentation

using KApplicationTrader::FilterFunc = typedef std::function<bool(const KService::Ptr &)>

Filter function, used for filtering results of query and queryByMimeType.

Definition at line 39 of file kapplicationtrader.h.

Function Documentation

bool KApplicationTrader::isSubsequence ( const QString pattern,
const QString text,
Qt::CaseSensitivity  cs = Qt::CaseSensitive 
)

Returns true if pattern matches a subsequence of the string text.

For instance the pattern "libremath" matches the text "LibreOffice Math", assuming cs is Qt::CaseInsensitive.

This can be useful from your filter function, e.g. with text being service->name().

Since
5.68

Definition at line 116 of file kapplicationtrader.cpp.

KService::Ptr KApplicationTrader::preferredService ( const QString mimeType)

Returns the preferred service for mimeType.

This a convenience method for queryByMimeType(mimeType).at(0), with a check for empty.

Parameters
mimeTypethe MIME type (see query())
Returns
the preferred service, or nullptr if no service is available
Since
5.68

Definition at line 107 of file kapplicationtrader.cpp.

KService::List KApplicationTrader::query ( FilterFunc  filterFunc)

This method returns a list of services (applications) that match a given filter.

Parameters
filtera callback function that returns true if the application should be selected and false if it should be skipped.
Returns
A list of services that satisfy the query
Since
5.68

Definition at line 76 of file kapplicationtrader.cpp.

KService::List KApplicationTrader::queryByMimeType ( const QString mimeType,
FilterFunc  filterFunc = {} 
)

This method returns a list of services (applications) which are associated with a given MIME type.

Parameters
mimeTypea MIME type like 'text/plain' or 'text/html'
filtera callback function that returns true if the application should be selected and false if it should be skipped. Do not return true for all services, this would return the complete list of all installed applications (slow).
Returns
A list of services that satisfy the query, sorted by preference (preferred service first)
Since
5.68

Definition at line 94 of file kapplicationtrader.cpp.

This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Nov 30 2020 22:48:11 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.