#include <kmimetype.h>
Public Types | |
typedef TDESharedPtr< KMimeType > | Ptr |
typedef TQValueList< Ptr > | List |
Public Types inherited from KServiceType | |
typedef TDESharedPtr< KServiceType > | Ptr |
typedef TQValueList< Ptr > | List |
Public Member Functions | |
KMimeType (const TQString &_fullpath, const TQString &_type, const TQString &_icon, const TQString &_comment, const TQStringList &_patterns) | |
KMimeType (const TQString &_fullpath) | |
KMimeType (KDesktopFile *config) | |
KMimeType (TQDataStream &_str, int offset) | |
virtual TQString | icon (const TQString &, bool) const |
virtual TQString | icon (const KURL &, bool) const |
virtual TQPixmap | pixmap (TDEIcon::Group group, int force_size=0, int state=0, TQString *path=0L) const |
virtual TQPixmap | pixmap (const KURL &_url, TDEIcon::Group _group, int _force_size=0, int _state=0, TQString *_path=0L) const |
TQString | comment () const |
virtual TQString | comment (const TQString &, bool) const |
virtual TQString | comment (const KURL &, bool) const |
const TQStringList & | patterns () const |
virtual void | load (TQDataStream &qs) |
virtual void | save (TQDataStream &qs) |
virtual TQVariant | property (const TQString &_name) const |
virtual TQStringList | propertyNames () const |
TQString | parentMimeType () const |
bool | is (const TQString &mimeTypeName) const |
Public Member Functions inherited from KServiceType | |
KServiceType (const TQString &_fullpath, const TQString &_name, const TQString &_icon, const TQString &_comment) | |
KServiceType (const TQString &_fullpath) | |
KServiceType (KDesktopFile *config) | |
KServiceType (TQDataStream &_str, int offset) | |
TQString | icon () const |
TQString | comment () const |
TQString | name () const |
TQString | desktopEntryPath () const |
bool | isDerived () const |
TQString | parentServiceType () const |
bool | inherits (const TQString &servTypeName) const |
bool | isValid () const |
virtual TQVariant::Type | propertyDef (const TQString &_name) const |
virtual TQStringList | propertyDefNames () const |
virtual const TQMap< TQString, TQVariant::Type > & | propertyDefs () const |
Ptr | parentType () |
void | addService (KService::Ptr service) |
KService::List | services () |
Static Public Member Functions | |
static TQPixmap | pixmapForURL (const KURL &_url, mode_t _mode=0, TDEIcon::Group _group=TDEIcon::Desktop, int _force_size=0, int _state=0, TQString *_path=0L) |
static TQString | iconForURL (const KURL &_url, mode_t _mode=0) |
static TQString | favIconForURL (const KURL &url) |
static Ptr | mimeType (const TQString &_name) |
static Ptr | findByURL (const KURL &_url, mode_t _mode=0, bool _is_local_file=false, bool _fast_mode=false) |
static Ptr | findByURL (const KURL &_url, mode_t _mode, bool _is_local_file, bool _fast_mode, bool *accurate) |
static Ptr | findByPath (const TQString &path, mode_t mode=0, bool fast_mode=false) |
static Ptr | findByContent (const TQByteArray &data, int *accuracy=0) |
static Ptr | findByFileContent (const TQString &fileName, int *accuracy=0) |
static Format | findFormatByFileContent (const TQString &fileName) |
static List | allMimeTypes () |
static const TQString & | defaultMimeType () |
static KMimeType::Ptr | defaultMimeTypePtr () |
static KMimeType::Ptr | diagnoseFileName (const TQString &file, TQString &pattern) |
Static Public Member Functions inherited from KServiceType | |
static Ptr | serviceType (const TQString &_name) |
static KService::List | offers (const TQString &_servicetype) |
static List | allServiceTypes () |
Protected Member Functions | |
void | loadInternal (TQDataStream &) |
void | init (KDesktopFile *) |
int | patternsAccuracy () const |
virtual void | virtual_hook (int id, void *data) |
Protected Member Functions inherited from KServiceType | |
void | init (KDesktopFile *config) |
Static Protected Member Functions | |
static void | errorMissingMimeType (const TQString &_type) |
static void | buildDefaultType () |
static void | checkEssentialMimeTypes () |
Protected Attributes | |
TQStringList | m_lstPatterns |
Protected Attributes inherited from KServiceType | |
TQString | m_strName |
TQString | m_strIcon |
TQString | m_strComment |
TQStringVariantMap | m_mapProps |
TQMap< TQString, TQVariant::Type > | m_mapPropDefs |
bool | m_bValid:1 |
bool | m_bDerived:1 |
Static Protected Attributes | |
static bool | s_bChecked = false |
static Ptr | s_pDefaultType = 0L |
Friends | |
class | KServiceTypeFactory |
Detailed Description
Represent a mime type, like "text/plain", and the data that is associated with it.
The starting point you need is often the static methods.
KMimeType inherits KServiceType because "text/plain" can be used to find services (apps and components) "which can open text/plain".
- See also
- KServiceType
Definition at line 47 of file kmimetype.h.
Constructor & Destructor Documentation
◆ KMimeType() [1/3]
KMimeType::KMimeType | ( | const TQString & | _fullpath, |
const TQString & | _type, | ||
const TQString & | _icon, | ||
const TQString & | _comment, | ||
const TQStringList & | _patterns | ||
) |
Constructor.
You may pass in arguments to create a mimetype with specific properties.
- Parameters
-
_fullpath the path to the configuration file (.desktop) _type the mime type itself _icon the name of the icon that represens the mime type _comment a comment describing the mime type _patterns a list of file globs that describes the names (or extensions) of the files with this mime type
Definition at line 359 of file kmimetype.cpp.
◆ KMimeType() [2/3]
KMimeType::KMimeType | ( | const TQString & | _fullpath | ) |
Construct a mimetype and take all information from a config file.
- Parameters
-
_fullpath the path to the configuration file (.desktop)
Definition at line 366 of file kmimetype.cpp.
◆ KMimeType() [3/3]
KMimeType::KMimeType | ( | KDesktopFile * | config | ) |
Construct a mimetype and take all information from a desktop file.
- Parameters
-
config the desktop configuration file that describes the mime type
Definition at line 375 of file kmimetype.cpp.
Member Function Documentation
◆ allMimeTypes()
|
static |
Get all the mimetypes.
Useful for showing the list of available mimetypes. More memory consuming than the ones above, don't use unless really necessary.
- Returns
- the list of all existing KMimeTypes
Definition at line 160 of file kmimetype.cpp.
◆ buildDefaultType()
|
staticprotected |
This function makes sure that the default mime type exists.
Definition at line 68 of file kmimetype.cpp.
◆ checkEssentialMimeTypes()
|
staticprotected |
This function makes sure that vital mime types are installed.
Definition at line 97 of file kmimetype.cpp.
◆ comment() [1/3]
|
inline |
Returns the descriptive comment associated with the MIME type.
- Returns
- the descriptive comment associated with the MIME type
Definition at line 202 of file kmimetype.h.
◆ comment() [2/3]
|
inlinevirtual |
Returns the descriptive comment associated with the MIME type.
The arguments are unused, but provided so that KMimeType derived classes can use them.
- Returns
- The descriptive comment associated with the MIME type, if any.
Reimplemented in KDEDesktopMimeType, and KFolderType.
Definition at line 220 of file kmimetype.h.
◆ comment() [3/3]
|
inlinevirtual |
Returns the descriptive comment associated with the MIME type.
The arguments are unused, but provided so that KMimeType derived classes can use them.
- Returns
- The descriptive comment associated with the MIME type, if any.
Reimplemented in KDEDesktopMimeType, and KFolderType.
Definition at line 211 of file kmimetype.h.
◆ defaultMimeType()
|
static |
Returns the name of the default mimetype.
Always application/octet-stream, but this method exists for performance purposes.
- Returns
- the name of the default mime type, always "application/octet-stream"
Definition at line 1160 of file kmimetype.cpp.
◆ defaultMimeTypePtr()
|
static |
Returns the default mimetype.
Always application/octet-stream. This can be used to check the result of mimeType(name).
- Returns
- the "application/octet-stream" mimetype pointer.
- Since
- 3.2
Definition at line 89 of file kmimetype.cpp.
◆ errorMissingMimeType()
|
staticprotected |
Signal a missing mime type.
- Parameters
-
_type the missinf mime type
Definition at line 134 of file kmimetype.cpp.
◆ favIconForURL()
|
static |
Return the "favicon" (see http://www.favicon.com) for the given url
, if available.
Does NOT attempt to download the favicon, it only returns one that is already available.
If unavailable, returns TQString::null.
- Parameters
-
url the URL of the favicon
- Returns
- the name of the favicon, or TQString::null
Definition at line 536 of file kmimetype.cpp.
◆ findByContent()
|
static |
Tries to find out the MIME type of a data chunk by looking for certain magic numbers and characteristic strings in it.
- Parameters
-
data the data to examine accuracy If not a null pointer, *accuracy is set to the accuracy of the match (which is in the range 0..100)
- Returns
- a pointer to the KMimeType. application/octet-stream's KMimeType of the type can not be found this way.
Definition at line 315 of file kmimetype.cpp.
◆ findByFileContent()
|
static |
Tries to find out the MIME type of a file by looking for certain magic numbers and characteristic strings in it.
This function is similar to the previous one. Note that the file name is not used for determining the file type, it is just used for loading the file's contents.
- Parameters
-
fileName the path to the file accuracy If not a null pointer, *accuracy is set to the accuracy of the match (which is in the range 0..100)
- Returns
- a pointer to the KMimeType. application/octet-stream's KMimeType of the type can not be found this way.
Definition at line 323 of file kmimetype.cpp.
◆ findByPath()
|
static |
Finds a KMimeType with the given _url
.
This function looks at mode_t first. If that does not help it looks at the extension. This is fine for FTP, FILE, TAR and friends, but is not for HTTP ( cgi scripts! ). You should use KRun instead, but this function returns immediately while KRun is async. If no extension matches, then the file will be examined if the URL a local file or "application/octet-stream" is returned otherwise.
Equivalent to
- Parameters
-
path the path to the file mode the mode of the file (used, for example, to identify executables) fast_mode If set to true no disk access is allowed to find out the mimetype. The result may be suboptimal, but it is fast.
- Returns
- A pointer to the matching mimetype. 0L is never returned.
Definition at line 308 of file kmimetype.cpp.
◆ findByURL()
|
static |
Finds a KMimeType with the given _url
.
This function looks at mode_t first. If that does not help it looks at the extension. This is fine for FTP, FILE, TAR and friends, but is not for HTTP ( cgi scripts! ). You should use KRun instead, but this function returns immediately while KRun is async. If no extension matches, then the file will be examined if the URL a local file or "application/octet-stream" is returned otherwise.
- Parameters
-
_url Is the right most URL with a filesystem protocol. It is up to you to find out about that if you have a nested URL. For example "http://localhost/mist.gz#gzip:/decompress" would have to pass the "http://..." URL part, while "file:/tmp/x.tar#tar:/src/test.gz#gzip:/decompress" would have to pass the "tar:/..." part of the URL, since gzip is a filter protocol and not a filesystem protocol. _mode the mode of the file (used, for example, to identify executables) _is_local_file true if the file is local _fast_mode If set to true no disk access is allowed to find out the mimetype. The result may be suboptimal, but it is fast.
- Returns
- A pointer to the matching mimetype. 0L is never returned. Very Important: Don't store the result in a KMimeType* !
Definition at line 165 of file kmimetype.cpp.
◆ findFormatByFileContent()
|
static |
Returns whether a file has an internal format that is human readable, or that would be human readable after decompression.
- Since
- 3.2
Definition at line 334 of file kmimetype.cpp.
◆ icon() [1/2]
|
inlinevirtual |
Return the filename of the icon associated with the mimetype.
The arguments are unused, but provided so that KMimeType-derived classes can use them (e.g. KFolderType uses the URL to return one out of 2 icons)
- Returns
- The path to the icon associated with this MIME type.
Reimplemented in KDEDesktopMimeType, and KFolderType.
Definition at line 110 of file kmimetype.h.
◆ icon() [2/2]
|
inlinevirtual |
Return the filename of the icon associated with the mimetype.
The arguments are unused, but provided so that KMimeType-derived classes can use them (e.g. KFolderType uses the URL to return one out of 2 icons)
- Returns
- The path to the icon associated with this MIME type.
Reimplemented in KDEDesktopMimeType, and KFolderType.
Definition at line 100 of file kmimetype.h.
◆ iconForURL()
|
static |
The same functionality as pixmapForURL(), but this method returns the name of the icon to load.
You'll have to use TDEIconLoader to load the pixmap for it. The advantage of this method is that you can store the result, and then use it later on for any kind of size.
- Parameters
-
_url URL for the file _mode the mode of the file. The mode may modify the icon with overlays that show special properties of the icon. Use 0 for default
- Returns
- the name of the icon. The name of a default icon if there is no icon for the mime type
Definition at line 507 of file kmimetype.cpp.
◆ is()
bool KMimeType::is | ( | const TQString & | mimeTypeName | ) | const |
Do not use name()=="somename" anymore, to check for a given mimetype.
For mimetype inheritance to work, use is("somename") instead. Warning, do not use inherits(), that's the servicetype inheritance concept!
- Since
- 3.2
Definition at line 567 of file kmimetype.cpp.
◆ load()
|
virtual |
Load the mimetype from a stream.
- Parameters
-
qs the stream to load from
Reimplemented from KServiceType.
Definition at line 417 of file kmimetype.cpp.
◆ mimeType()
|
static |
Retrieve a pointer to the mime type _name
or a pointer to the default mime type "application/octet-stream".
0L is never returned.
Very important: Don't store the result in a KMimeType* !
- Parameters
-
_name the name of the mime type
- Returns
- the pointer to the KMimeType with the given
_name
, or a pointer to the application/octet-stream KMimeType if not found
- See also
- KServiceType::serviceType
Definition at line 141 of file kmimetype.cpp.
◆ parentMimeType()
TQString KMimeType::parentMimeType | ( | ) | const |
If this mimetype inherits from ("is also") another mimetype, return the name of the parent.
For instance a text/x-log is a special kind of text/plain, so the definition of text/x-log can say "X-TDE-IsAlso=text/plain". Or an smb-workgroup is a special kind of inode/directory, etc. This mechanism can also be used to rename mimetypes and preserve compat.
Note that this notion doesn't map to the servicetype inheritance mechanism, since an application that handles the specific type doesn't necessarily handle the base type. The opposite is true though.
- Returns
- the parent mime type, or TQString::null if not set
- Since
- 3.2
Definition at line 561 of file kmimetype.cpp.
◆ patterns()
|
inline |
Retrieve the list of patterns associated with the MIME Type.
- Returns
- a list of file globs that describe the file names (or, usually, the extensions) of files with this mime type
Definition at line 227 of file kmimetype.h.
◆ pixmap() [1/2]
|
virtual |
Find the pixmap for a given file of this mimetype.
Convenience method that uses icon(), but also locates and load the pixmap.
- Parameters
-
_url URL for the file. _group The icon group where the icon is going to be used. _force_size Override globallly configured icon size. Use 0 for the default size _state The icon state, one of: TDEIcon::DefaultState, TDEIcon::ActiveState or TDEIcon::DisabledState. _path Output parameter to get the full path. Seldom needed. Ignored if 0
- Returns
- the pixmap of the URL, can be a default icon if not found
Reimplemented in KDEDesktopMimeType.
Definition at line 473 of file kmimetype.cpp.
◆ pixmap() [2/2]
|
virtual |
Use this function only if you don't have a special URL for which you search a pixmap.
This function is useful to find out, which icon is usually chosen for a certain mime type. Since no URL is passed, it is impossible to obey icon hints in desktop entries for example.
- Parameters
-
group The icon group where the icon is going to be used. force_size Override globallly configured icon size. Use 0 for the default size state The icon state, one of: TDEIcon::DefaultState
,TDEIcon::ActiveState
orTDEIcon::DisabledState
.path Output parameter to get the full path. Seldom needed. Ignored if 0
- Returns
- the pixmap of the mime type, can be a default icon if not found
Reimplemented in KDEDesktopMimeType.
Definition at line 457 of file kmimetype.cpp.
◆ pixmapForURL()
|
static |
Convenience method to find the pixmap for a URL.
Call this one when you don't know the mimetype.
- Parameters
-
_url URL for the file. _mode the mode of the file. The mode may modify the icon with overlays that show special properties of the icon. Use 0 for default _group The icon group where the icon is going to be used. _force_size Override globally configured icon size. Use 0 for the default size _state The icon state, one of: TDEIcon::DefaultState, TDEIcon::ActiveState or TDEIcon::DisabledState. _path Output parameter to get the full path. Seldom needed. Ignored if 0
- Returns
- the pixmap of the URL, can be a default icon if not found
Definition at line 489 of file kmimetype.cpp.
◆ property()
|
virtual |
Returns the property with the given _name
.
- Parameters
-
_name the name of the property
- Returns
- the value of the property
- See also
- propertyNames()
Reimplemented from KServiceType.
Definition at line 437 of file kmimetype.cpp.
◆ propertyNames()
|
virtual |
Retrieves a list of all properties associated with this KMimeType.
- Returns
- a list of all property names
- See also
- property()
Reimplemented from KServiceType.
Definition at line 445 of file kmimetype.cpp.
◆ save()
|
virtual |
Save the mimetype to a stream.
- Parameters
-
qs the stream to save to
Reimplemented from KServiceType.
Definition at line 429 of file kmimetype.cpp.
Member Data Documentation
◆ s_bChecked
|
staticprotected |
true if check for vital mime types has been done.
Definition at line 459 of file kmimetype.h.
The documentation for this class was generated from the following files: