MimeTypeChecker Class Reference
from PyKDE4.akonadi import *
Namespace: Akonadi
Detailed Description
Helper for checking MIME types of Collections and Items.
When it is necessary to decide whether an item has a certain MIME type or whether a collection can contain a certain MIME type, direct string comparison might not render the desired result because MIME types can have aliases and be a node in an "inheritance" hierachy.
For example a check like this
if ( item.mimeType() == QLatin1String( "text/directory" ) )would fail to detect "text/x-vcard" as being the same MIME type.
- Note:
- KDE deals with this inside the KMimeType framework, this class is just a convenience helper for common Akonadi related checks.
Example: Checking whether an Akonadi.Item is contact MIME type
Akonadi.MimeTypeChecker checker;
checker.addWantedMimeType( KABC.Addressee.mimeType() );
if ( checker.isWantedItem( item ) ){
// item.mimeType() is equal KABC.Addressee.mimeType(), an aliases
// or a sub type.
}
Example: Checking whether an Akonadi.Collection could contain calendar items
Akonadi.MimeTypeChecker checker;
checker.addWantedMimeType( QLatin1String( "text/calendar" ) );
if ( checker.isWantedCollection( collection ) ) {
// collection.contentMimeTypes() contains @c "text/calendar"
// or a sub type.
}
Example: Checking whether an Akonadi.Collection could contain Calendar Event items (i.e. KCal.Event), making use of the respective MIME type "subclassing" provided by Akonadi's MIME type extensions.
Akonadi.MimeTypeChecker checker;
checker.addWantedMimeType( QLatin1String( "application/x-vnd.akonadi.calendar.event" ) );
if ( checker.isWantedCollection( collection ) ) {
// collection.contentMimeTypes() contains @c "application/x-vnd.akonadi.calendar.event"
// or a sub type, but just containing @c "text/calendar" would not
// get here
}
Example: Checking for items of more than one MIME type and treat one of them specially.
Akonadi.MimeTypeChecker mimeFilter;
mimeFilter.setWantedMimeTypes( QStringList() << KABC.Addressee.mimeType()
<< KABC.ContactGroup.mimeType() );
if ( mimeFilter.isWantedItem( item ) ) {
if ( Akonadi.MimeTypeChecker.isWantedItem( item, KABC.ContactGroup.mimeType() ) {
// treat contact group's differently
}
}
This class is implicitly shared.
- Since:
- 4.3
Methods | |
| __init__ (self) | |
| __init__ (self, Akonadi.MimeTypeChecker other) | |
| addWantedMimeType (self, QString mimeType) | |
| bool | isWantedCollection (self, Akonadi.Collection collection) |
| bool | isWantedItem (self, Akonadi.Item item) |
| removeWantedMimeType (self, QString mimeType) | |
| setWantedMimeTypes (self, QStringList mimeTypes) | |
| QStringList | wantedMimeTypes (self) |
Static Methods | |
| bool | isWantedCollection (Akonadi.Collection collection, QString wantedMimeType) |
| bool | isWantedItem (Akonadi.Item item, QString wantedMimeType) |
Method Documentation
| __init__ | ( | self ) |
Creates an empty MIME type checker.
An empty checker will not report any items or collections as wanted.
| __init__ | ( | self, | ||
| Akonadi.MimeTypeChecker | other | |||
| ) |
Creates a new MIME type checker from an other.
| addWantedMimeType | ( | self, | ||
| QString | mimeType | |||
| ) |
Adds another MIME type to the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeType The MIME types to add to the checklist.
- See also:
- setWantedMimeTypes()
| bool isWantedCollection | ( | self, | ||
| Akonadi.Collection | collection | |||
| ) |
Checks whether a given collection has the given MIME type
- Parameters:
-
item The collection to check the content MIME types of. wantedMimeType The MIME type to check against.
- Returns:
- true if one of the collection content MIME types is the given wanted one, false if it isn't, the collection is invalid or has an empty content MIME type list.
- See also:
- setWantedMimeTypes()
- See also:
- Collection.contentMimeTypes()
| bool isWantedItem | ( | self, | ||
| Akonadi.Item | item | |||
| ) |
Checks whether a given item has the given wanted MIME type
- Parameters:
-
item The item to check the MIME type of. wantedMimeType The MIME type to check against.
- Returns:
- true if the item MIME type is the given one,
- See also:
- setWantedMimeTypes()
- See also:
- Item.mimeType()
| removeWantedMimeType | ( | self, | ||
| QString | mimeType | |||
| ) |
Removes a MIME type from the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeType The MIME type to remove from the checklist.
- See also:
- addWantedMimeType()
| setWantedMimeTypes | ( | self, | ||
| QStringList | mimeTypes | |||
| ) |
Sets the list of wanted MIME types this instance checks against.
- Parameters:
-
mimeTypes The list of MIME types to check against.
- See also:
- wantedMimeTypes()
| QStringList wantedMimeTypes | ( | self ) |
Returns the list of wanted MIME types this instance checks against.
- See also:
- setWantedMimeTypes()
Static Method Documentation
| bool isWantedCollection | ( | Akonadi.Collection | collection, | |
| QString | wantedMimeType | |||
| ) |
Checks whether a given collection has the given MIME type
- Parameters:
-
item The collection to check the content MIME types of. wantedMimeType The MIME type to check against.
- Returns:
- true if one of the collection content MIME types is the given wanted one, false if it isn't, the collection is invalid or has an empty content MIME type list.
- See also:
- setWantedMimeTypes()
- See also:
- Collection.contentMimeTypes()
| bool isWantedItem | ( | Akonadi.Item | item, | |
| QString | wantedMimeType | |||
| ) |
Checks whether a given item has the given wanted MIME type
- Parameters:
-
item The item to check the MIME type of. wantedMimeType The MIME type to check against.
- Returns:
- true if the item MIME type is the given one,
- See also:
- setWantedMimeTypes()
- See also:
- Item.mimeType()
KDE 4.5 PyKDE API Reference