X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..704ceca8d2cd8da51a5cc22f8c51fd61c762dbf5:/interface/wx/mimetype.h diff --git a/interface/wx/mimetype.h b/interface/wx/mimetype.h index 1354586b33..8fbcba7573 100644 --- a/interface/wx/mimetype.h +++ b/interface/wx/mimetype.h @@ -12,27 +12,17 @@ This class allows the application to retrieve the information about all known MIME types from a system-specific location and the filename extensions to the MIME types and vice versa. After initialization the functions - wxMimeTypesManager::GetFileTypeFromMimeType - and wxMimeTypesManager::GetFileTypeFromExtension + GetFileTypeFromMimeType() and GetFileTypeFromExtension() may be called: they will return a wxFileType object which may be further queried for file description, icon and other attributes. - @b Windows: MIME type information is stored in the registry and no additional - initialization is needed. + Under Windows, the MIME type information is queried from registry. Under + Linux and Unix, it is queried from the XDG data directories. + + Currently, wxMimeTypesManager is limited to reading MIME type information. - @b Unix: MIME type information is stored in the files mailcap and mime.types - (system-wide) and .mailcap and .mime.types in the current user's home directory: - all of these files are searched for and loaded if found by default. However, - additional functions - wxMimeTypesManager::ReadMailcap and - wxMimeTypesManager::ReadMimeTypes are - provided to load additional files. - - If GNOME or KDE desktop environment is installed, then wxMimeTypesManager - gathers MIME information from respective files (e.g. .kdelnk files under KDE). - - @note Currently, wxMimeTypesManager is limited to reading MIME type information - but it will support modifying it as well in future versions. + The application should not construct its own manaer: it should use the + object pointer ::wxTheMimeTypesManger. @library{wxbase} @category{misc} @@ -43,9 +33,7 @@ class wxMimeTypesManager { public: /** - Constructor puts the object in the "working" state, no additional initialization - are needed - but @ref init() ReadXXX may be used to load - additional mailcap/mime.types files. + Constructor puts the object in the "working" state. */ wxMimeTypesManager(); @@ -61,19 +49,10 @@ public: */ void AddFallbacks(const wxFileTypeInfo* fallbacks); - /** - @note You won't normally need to use more than one wxMimeTypesManager object in a - program. - @ref ctor() wxMimeTypesManager - - @ref dtor() ~wxMimeTypesManager - */ - - /** Gather information about the files with given extension and return the - corresponding wxFileType object or @NULL if the extension - is unknown. + corresponding wxFileType object or @NULL if the extension is unknown. + The @a extension parameter may have, or not, the leading dot, if it has it, it is stripped automatically. It must not however be empty. */ @@ -81,31 +60,10 @@ public: /** Gather information about the files with given MIME type and return the - corresponding wxFileType object or @NULL if the MIME type - is unknown. + corresponding wxFileType object or @NULL if the MIME type is unknown. */ wxFileType* GetFileTypeFromMimeType(const wxString& mimeType); - /** - All of these functions are static (i.e. don't need a wxMimeTypesManager object - to call them) and provide some useful operations for string representations of - MIME types. Their usage is recommended instead of directly working with MIME - types using wxString functions. - IsOfType() - */ - - - /** - @b Unix: These functions may be used to load additional files (except for the - default ones which are loaded automatically) containing MIME - information in either mailcap(5) or mime.types(5) format. - ReadMailcap() - - ReadMimeTypes() - - AddFallbacks() - */ - /** This function returns @true if either the given @a mimeType is exactly the @@ -115,45 +73,16 @@ public: The comparison don by this function is case insensitive so it is not necessary to convert the strings to the same case before calling it. */ - bool IsOfType(const wxString& mimeType, const wxString& wildcard); - - /** - These functions are the heart of this class: they allow to find a @ref - overview_wxfiletype "file type" object - from either file extension or MIME type. - If the function is successful, it returns a pointer to the wxFileType object - which @b must be deleted by the caller, otherwise @NULL will be returned. - GetFileTypeFromMimeType() - - GetFileTypeFromExtension() - */ - - - /** - Load additional file containing information about MIME types and associated - information in mailcap format. See metamail(1) and mailcap(5) for more - information. - @a fallback parameter may be used to load additional mailcap files without - overriding the settings found in the standard files: normally, entries from - files loaded with ReadMailcap will override the entries from files loaded - previously (and the standard ones are loaded in the very beginning), but this - will not happen if this parameter is set to @true (default is @false). - The return value is @true if there were no errors in the file or @false - otherwise. - */ - bool ReadMailcap(const wxString& filename, bool fallback = false); + static bool IsOfType(const wxString& mimeType, const wxString& wildcard); - /** - Load additional file containing information about MIME types and associated - information in mime.types file format. See metamail(1) and mailcap(5) for more - information. - The return value is @true if there were no errors in the file or @false - otherwise. - */ - bool ReadMimeTypes(const wxString& filename); }; +/** + The global wxMimeTypesManager instance. +*/ +wxMimeTypesManager* wxTheMimeTypesManager; + /** @class wxFileType @@ -243,7 +172,7 @@ public: with a brief description for this file type: for example, "text document" for the "text/plain" MIME type. */ - bool GetDescription(wxString* desc); + bool GetDescription(wxString* desc) const; /** If the function returns @true, the array @a extensions is filled @@ -270,13 +199,13 @@ public: and KDE settings and thus GetIcon's success depends on availability of these desktop environments. */ - bool GetIcon(wxIconLocation* iconLoc); + bool GetIcon(wxIconLocation* iconLoc) const; /** If the function returns @true, the string pointed to by @a mimeType is filled with full MIME type specification for this file type: for example, "text/plain". */ - bool GetMimeType(wxString* mimeType); + bool GetMimeType(wxString* mimeType) const; /** Same as GetMimeType() but returns array of MIME