X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af49c4b8a2d3553e733e71c7dd3911881f4c1a2a..ec0114abef6ee06425ec5bd423cf496271c086dd:/include/wx/unix/mimetype.h diff --git a/include/wx/unix/mimetype.h b/include/wx/unix/mimetype.h index 07a88a5018..e4d925c0fe 100644 --- a/include/wx/unix/mimetype.h +++ b/include/wx/unix/mimetype.h @@ -6,23 +6,19 @@ // Created: 23.09.98 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWindows license (part of wxExtra library) +// Licence: wxWindows licence (part of wxExtra library) ///////////////////////////////////////////////////////////////////////////// #ifndef _MIMETYPE_IMPL_H #define _MIMETYPE_IMPL_H -#if defined(__GNUG__) && !defined(__APPLE__) -#pragma interface "mimetype.h" -#endif - #include "wx/mimetype.h" -#if (wxUSE_FILE && wxUSE_TEXTFILE) +#if wxUSE_MIMETYPE class wxMimeTypeCommands; -WX_DEFINE_ARRAY(wxMimeTypeCommands *, wxMimeCommandsArray); +WX_DEFINE_ARRAY_PTR(wxMimeTypeCommands *, wxMimeCommandsArray); // this is the real wxMimeTypesManager for Unix class WXDLLEXPORT wxMimeTypesManagerImpl @@ -30,10 +26,10 @@ class WXDLLEXPORT wxMimeTypesManagerImpl public: // ctor and dtor wxMimeTypesManagerImpl(); - ~wxMimeTypesManagerImpl(); + virtual ~wxMimeTypesManagerImpl(); // load all data into memory - done when it is needed for the first time - void Initialize(int mailcapStyles = wxMAILCAP_STANDARD, + void Initialize(int mailcapStyles = wxMAILCAP_ALL, const wxString& extraDir = wxEmptyString); // and delete the data here @@ -70,15 +66,8 @@ public: // file type wxString GetExtension(size_t index) { return m_aExtensions[index]; } -private: - void InitIfNeeded() - { - if ( !m_initialized ) { - // set the flag first to prevent recursion - m_initialized = TRUE; - Initialize(); - } - } +protected: + void InitIfNeeded(); wxArrayString m_aTypes, // MIME types m_aDescriptions, // descriptions (just some text) @@ -98,16 +87,13 @@ private: wxString GetCommand(const wxString &verb, size_t nIndex) const; // read Gnome files - void LoadGnomeDataFromKeyFile(const wxString& filename); + void LoadGnomeDataFromKeyFile(const wxString& filename, + const wxArrayString& dirs); void LoadGnomeMimeTypesFromMimeFile(const wxString& filename); - void LoadGnomeMimeFilesFromDir(const wxString& dirbase); + void LoadGnomeMimeFilesFromDir(const wxString& dirbase, + const wxArrayString& dirs); void GetGnomeMimeInfo(const wxString& sExtraDir); - // write gnome files - bool CheckGnomeDirsExist(); - bool WriteGnomeKeyFile(int index, bool delete_index); - bool WriteGnomeMimeFile(int index, bool delete_index); - // read KDE void LoadKDELinksForMimeSubtype(const wxString& dirbase, const wxString& subdir, @@ -118,6 +104,8 @@ private: const wxArrayString& icondirs); void LoadKDELinkFilesFromDir(const wxString& dirbase, const wxArrayString& icondirs); + void LoadKDEApp(const wxString& filename); + void LoadKDEAppsFilesFromDir(const wxString& dirname); void GetKDEMimeInfo(const wxString& sExtraDir); // write KDE @@ -136,20 +124,20 @@ private: // functions used to do associations - int AddToMimeData(const wxString& strType, + virtual int AddToMimeData(const wxString& strType, const wxString& strIcon, wxMimeTypeCommands *entry, const wxArrayString& strExtensions, const wxString& strDesc, bool replaceExisting = TRUE); - bool DoAssociation(const wxString& strType, + virtual bool DoAssociation(const wxString& strType, const wxString& strIcon, wxMimeTypeCommands *entry, const wxArrayString& strExtensions, const wxString& strDesc); - bool WriteMimeInfo(int nIndex, bool delete_mime ); + virtual bool WriteMimeInfo(int nIndex, bool delete_mime ); // give it access to m_aXXX variables friend class WXDLLEXPORT wxFileTypeImpl; @@ -175,8 +163,7 @@ public: bool GetMimeType(wxString *mimeType) const { *mimeType = m_manager->m_aTypes[m_index[0]]; return TRUE; } bool GetMimeTypes(wxArrayString& mimeTypes) const; - bool GetIcon(wxIcon *icon, wxString *iconFile = NULL, - int *iconIndex = NULL) const; + bool GetIcon(wxIconLocation *iconLoc) const; bool GetDescription(wxString *desc) const { *desc = m_manager->m_aDescriptions[m_index[0]]; return TRUE; } @@ -221,9 +208,8 @@ private: wxArrayInt m_index; // in the wxMimeTypesManagerImpl arrays }; -#endif - // wxUSE_FILE +#endif // wxUSE_MIMETYPE + +#endif // _MIMETYPE_IMPL_H -#endif - //_MIMETYPE_IMPL_H