X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c7ce8392e0fa752d121000b7732c8f4ac3e3088d..bfb9ee966d5d1f29e49f38e340812ade4b3cc956:/include/wx/msw/mimetype.h diff --git a/include/wx/msw/mimetype.h b/include/wx/msw/mimetype.h index 4a15a2b72f..7de0730b2f 100644 --- a/include/wx/msw/mimetype.h +++ b/include/wx/msw/mimetype.h @@ -13,19 +13,23 @@ #define _MIMETYPE_IMPL_H #ifdef __GNUG__ -#pragma interface "mimetype.h" + #pragma interface "mimetype.h" #endif #include "wx/defs.h" #include "wx/mimetype.h" +// ---------------------------------------------------------------------------- +// wxFileTypeImpl is the MSW version of wxFileType, this is a private class +// and is never used directly by the application +// ---------------------------------------------------------------------------- class WXDLLEXPORT wxFileTypeImpl { public: // ctor - wxFileTypeImpl() { m_info = NULL; } + wxFileTypeImpl() { } // one of these Init() function must be called (ctor can't take any // arguments because it's common) @@ -34,11 +38,6 @@ public: // we will read all other data from the registry void Init(const wxString& strFileType, const wxString& ext); - // initialize us with a wxFileTypeInfo object - it contains all the - // data - void Init(const wxFileTypeInfo& info) - { m_info = &info; } - // implement accessor functions bool GetExtensions(wxArrayString& extensions); bool GetMimeType(wxString *mimeType) const; @@ -53,14 +52,18 @@ public: size_t GetAllCommands(wxArrayString * verbs, wxArrayString * commands, const wxFileType::MessageParameters& params) const; - bool SetCommand(const wxString& cmd, const wxString& verb, - bool overwriteprompt = true); - bool SetMimeType(const wxString& mimeType); + bool Unassociate(); + + // set an arbitrary command, ask confirmation if it already exists and + // overwriteprompt is TRUE + bool SetCommand(const wxString& cmd, + const wxString& verb, + bool overwriteprompt = TRUE); + bool SetDefaultIcon(const wxString& cmd = wxEmptyString, int index = 0); - bool RemoveCommand(const wxString& verb); - bool RemoveMimeType(); - bool RemoveDefaultIcon(); + // this is called by Associate + bool SetDescription (const wxString& desc); private: // helper function: reads the command corresponding to the specified verb @@ -74,10 +77,17 @@ private: // doesn't, return FALSE if this failed bool EnsureExtKeyExists(); - // we use either m_info or read the data from the registry if m_info == NULL - const wxFileTypeInfo *m_info; wxString m_strFileType, // may be empty m_ext; + + // these methods are not publicly accessible (as wxMimeTypesManager + // doesn't know about them), and should only be called by Unassociate + + bool RemoveOpenCommand(); + bool RemoveCommand(const wxString& verb); + bool RemoveMimeType(); + bool RemoveDefaultIcon(); + bool RemoveDescription(); }; class WXDLLEXPORT wxMimeTypesManagerImpl @@ -89,24 +99,22 @@ public: // implement containing class functions wxFileType *GetFileTypeFromExtension(const wxString& ext); - wxFileType *GetOrAllocateFileTypeFromExtension(const wxString& ext) ; + wxFileType *GetOrAllocateFileTypeFromExtension(const wxString& ext); wxFileType *GetFileTypeFromMimeType(const wxString& mimeType); size_t EnumAllFileTypes(wxArrayString& mimetypes); // this are NOPs under Windows - bool ReadMailcap(const wxString& filename, bool fallback = TRUE) + bool ReadMailcap(const wxString& WXUNUSED(filename), bool WXUNUSED(fallback) = TRUE) { return TRUE; } - bool ReadMimeTypes(const wxString& filename) + bool ReadMimeTypes(const wxString& WXUNUSED(filename)) { return TRUE; } - void AddFallback(const wxFileTypeInfo& ft) { m_fallbacks.Add(ft); } + // create a new filetype association + wxFileType *Associate(const wxFileTypeInfo& ftInfo); // create a new filetype with the given name and extension wxFileType *CreateFileType(const wxString& filetype, const wxString& ext); - -private: - wxArrayFileTypeInfo m_fallbacks; };