Removed most of the pre-XDG MIME code from the Unix implementation, many speed-ups by simplification
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -461,32 +461,13 @@ public:
|
|||||||
// get file type from MIME type (in format <category>/<format>)
|
// get file type from MIME type (in format <category>/<format>)
|
||||||
wxFileType *GetFileTypeFromMimeType(const wxString& mimeType);
|
wxFileType *GetFileTypeFromMimeType(const wxString& mimeType);
|
||||||
|
|
||||||
// other operations: return true if there were no errors or false if there
|
|
||||||
// were some unrecognized entries (the good entries are always read anyhow)
|
|
||||||
//
|
|
||||||
// FIXME: These ought to be private ??
|
|
||||||
|
|
||||||
// read in additional file (the standard ones are read automatically)
|
|
||||||
// in mailcap format (see mimetype.cpp for description)
|
|
||||||
//
|
|
||||||
// 'fallback' parameter may be set to true to avoid overriding the
|
|
||||||
// settings from other, previously parsed, files by this one: normally,
|
|
||||||
// the files read most recently would override the older files, but with
|
|
||||||
// fallback == true this won't happen
|
|
||||||
|
|
||||||
bool ReadMailcap(const wxString& filename, bool fallback = false);
|
|
||||||
// read in additional file in mime.types format
|
|
||||||
bool ReadMimeTypes(const wxString& filename);
|
|
||||||
|
|
||||||
// enumerate all known MIME types
|
// enumerate all known MIME types
|
||||||
//
|
//
|
||||||
// returns the number of retrieved file types
|
// returns the number of retrieved file types
|
||||||
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
||||||
|
|
||||||
// these functions can be used to provide default values for some of the
|
// these functions can be used to provide default values for some of the
|
||||||
// MIME types inside the program itself (you may also use
|
// MIME types inside the program itself
|
||||||
// ReadMailcap(filenameWithDefaultTypes, true /* use as fallback */) to
|
|
||||||
// achieve the same goal, but this requires having this info in a file).
|
|
||||||
//
|
//
|
||||||
// The filetypes array should be terminated by either NULL entry or an
|
// The filetypes array should be terminated by either NULL entry or an
|
||||||
// invalid wxFileTypeInfo (i.e. the one created with default ctor)
|
// invalid wxFileTypeInfo (i.e. the one created with default ctor)
|
||||||
|
@@ -102,12 +102,6 @@ public:
|
|||||||
|
|
||||||
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
||||||
|
|
||||||
// this are NOPs under Windows
|
|
||||||
bool ReadMailcap(const wxString& WXUNUSED(filename), bool WXUNUSED(fallback) = true)
|
|
||||||
{ return true; }
|
|
||||||
bool ReadMimeTypes(const wxString& WXUNUSED(filename))
|
|
||||||
{ return true; }
|
|
||||||
|
|
||||||
// create a new filetype association
|
// create a new filetype association
|
||||||
wxFileType *Associate(const wxFileTypeInfo& ftInfo);
|
wxFileType *Associate(const wxFileTypeInfo& ftInfo);
|
||||||
|
|
||||||
|
@@ -38,10 +38,6 @@ public :
|
|||||||
|
|
||||||
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
||||||
|
|
||||||
// this are NOPs under MacOS
|
|
||||||
bool ReadMailcap(const wxString& WXUNUSED(filename), bool WXUNUSED(fallback) = TRUE) { return TRUE; }
|
|
||||||
bool ReadMimeTypes(const wxString& WXUNUSED(filename)) { return TRUE; }
|
|
||||||
|
|
||||||
void AddFallback(const wxFileTypeInfo& ft) { m_fallbacks.Add(ft); }
|
void AddFallback(const wxFileTypeInfo& ft) { m_fallbacks.Add(ft); }
|
||||||
|
|
||||||
// create a new filetype association
|
// create a new filetype association
|
||||||
|
@@ -41,9 +41,6 @@ public:
|
|||||||
|
|
||||||
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
||||||
|
|
||||||
bool ReadMailcap(const wxString& filename, bool fallback = FALSE);
|
|
||||||
bool ReadMimeTypes(const wxString& filename);
|
|
||||||
|
|
||||||
void AddFallback(const wxFileTypeInfo& filetype);
|
void AddFallback(const wxFileTypeInfo& filetype);
|
||||||
|
|
||||||
// add information about the given mimetype
|
// add information about the given mimetype
|
||||||
@@ -80,57 +77,22 @@ protected:
|
|||||||
// are we initialized?
|
// are we initialized?
|
||||||
bool m_initialized;
|
bool m_initialized;
|
||||||
|
|
||||||
// keep track of the files we had already loaded (this is a bitwise OR of
|
|
||||||
// wxMailcapStyle values)
|
|
||||||
int m_mailcapStylesInited;
|
|
||||||
|
|
||||||
wxString GetCommand(const wxString &verb, size_t nIndex) const;
|
wxString GetCommand(const wxString &verb, size_t nIndex) const;
|
||||||
|
|
||||||
// read Gnome files
|
|
||||||
void LoadGnomeDataFromKeyFile(const wxString& filename,
|
|
||||||
const wxArrayString& dirs);
|
|
||||||
void LoadGnomeMimeTypesFromMimeFile(const wxString& filename);
|
|
||||||
void LoadGnomeMimeFilesFromDir(const wxString& dirbase,
|
|
||||||
const wxArrayString& dirs);
|
|
||||||
void GetGnomeMimeInfo(const wxString& sExtraDir);
|
|
||||||
|
|
||||||
// read KDE
|
|
||||||
void LoadKDELinksForMimeSubtype(const wxString& dirbase,
|
|
||||||
const wxString& subdir,
|
|
||||||
const wxString& filename,
|
|
||||||
const wxArrayString& icondirs);
|
|
||||||
void LoadKDELinksForMimeType(const wxString& dirbase,
|
|
||||||
const wxString& subdir,
|
|
||||||
const wxArrayString& icondirs);
|
|
||||||
void LoadKDELinkFilesFromDir(const wxString& dirbase,
|
|
||||||
const wxArrayString& icondirs);
|
|
||||||
void LoadKDEApp(const wxString& filename);
|
void LoadKDEApp(const wxString& filename);
|
||||||
void LoadKDEAppsFilesFromDir(const wxString& dirname);
|
void LoadKDEAppsFilesFromDir(const wxString& dirname);
|
||||||
void GetKDEMimeInfo(const wxString& sExtraDir);
|
|
||||||
|
|
||||||
// write KDE
|
// write KDE
|
||||||
bool WriteKDEMimeFile(int index, bool delete_index);
|
bool WriteKDEMimeFile(int index, bool delete_index);
|
||||||
bool CheckKDEDirsExist(const wxString & sOK, const wxString& sTest);
|
bool CheckKDEDirsExist(const wxString & sOK, const wxString& sTest);
|
||||||
|
|
||||||
//read write Netscape and MetaMail formats
|
|
||||||
void GetMimeInfo (const wxString& sExtraDir);
|
|
||||||
bool WriteToMailCap (int index, bool delete_index);
|
|
||||||
bool WriteToMimeTypes (int index, bool delete_index);
|
|
||||||
bool WriteToNSMimeTypes (int index, bool delete_index);
|
|
||||||
|
|
||||||
// ReadMailcap() helper
|
|
||||||
bool ProcessOtherMailcapField(struct MailcapLineData& data,
|
|
||||||
const wxString& curField);
|
|
||||||
|
|
||||||
// functions used to do associations
|
// functions used to do associations
|
||||||
|
|
||||||
virtual int AddToMimeData(const wxString& strType,
|
virtual int AddToMimeData(const wxString& strType,
|
||||||
const wxString& strIcon,
|
const wxString& strIcon,
|
||||||
wxMimeTypeCommands *entry,
|
wxMimeTypeCommands *entry,
|
||||||
const wxArrayString& strExtensions,
|
const wxArrayString& strExtensions,
|
||||||
const wxString& strDesc,
|
const wxString& strDesc,
|
||||||
bool replaceExisting = TRUE);
|
bool replaceExisting = TRUE);
|
||||||
|
|
||||||
virtual bool DoAssociation(const wxString& strType,
|
virtual bool DoAssociation(const wxString& strType,
|
||||||
const wxString& strIcon,
|
const wxString& strIcon,
|
||||||
wxMimeTypeCommands *entry,
|
wxMimeTypeCommands *entry,
|
||||||
|
@@ -667,18 +667,6 @@ wxMimeTypesManager::GetFileTypeFromMimeType(const wxString& mimeType)
|
|||||||
return ft;
|
return ft;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxMimeTypesManager::ReadMailcap(const wxString& filename, bool fallback)
|
|
||||||
{
|
|
||||||
EnsureImpl();
|
|
||||||
return m_impl->ReadMailcap(filename, fallback);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool wxMimeTypesManager::ReadMimeTypes(const wxString& filename)
|
|
||||||
{
|
|
||||||
EnsureImpl();
|
|
||||||
return m_impl->ReadMimeTypes(filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxMimeTypesManager::AddFallbacks(const wxFileTypeInfo *filetypes)
|
void wxMimeTypesManager::AddFallbacks(const wxFileTypeInfo *filetypes)
|
||||||
{
|
{
|
||||||
EnsureImpl();
|
EnsureImpl();
|
||||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user