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>)
|
||||
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
|
||||
//
|
||||
// returns the number of retrieved file types
|
||||
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
||||
|
||||
// these functions can be used to provide default values for some of the
|
||||
// MIME types inside the program itself (you may also use
|
||||
// ReadMailcap(filenameWithDefaultTypes, true /* use as fallback */) to
|
||||
// achieve the same goal, but this requires having this info in a file).
|
||||
// MIME types inside the program itself
|
||||
//
|
||||
// The filetypes array should be terminated by either NULL entry or an
|
||||
// invalid wxFileTypeInfo (i.e. the one created with default ctor)
|
||||
|
@@ -102,12 +102,6 @@ public:
|
||||
|
||||
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
|
||||
wxFileType *Associate(const wxFileTypeInfo& ftInfo);
|
||||
|
||||
|
@@ -38,10 +38,6 @@ public :
|
||||
|
||||
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); }
|
||||
|
||||
// create a new filetype association
|
||||
|
@@ -41,9 +41,6 @@ public:
|
||||
|
||||
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
||||
|
||||
bool ReadMailcap(const wxString& filename, bool fallback = FALSE);
|
||||
bool ReadMimeTypes(const wxString& filename);
|
||||
|
||||
void AddFallback(const wxFileTypeInfo& filetype);
|
||||
|
||||
// add information about the given mimetype
|
||||
@@ -80,57 +77,22 @@ protected:
|
||||
// are we 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;
|
||||
|
||||
// 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 LoadKDEAppsFilesFromDir(const wxString& dirname);
|
||||
void GetKDEMimeInfo(const wxString& sExtraDir);
|
||||
|
||||
// write KDE
|
||||
bool WriteKDEMimeFile(int index, bool delete_index);
|
||||
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
|
||||
|
||||
virtual int AddToMimeData(const wxString& strType,
|
||||
const wxString& strIcon,
|
||||
wxMimeTypeCommands *entry,
|
||||
const wxArrayString& strExtensions,
|
||||
const wxString& strDesc,
|
||||
bool replaceExisting = TRUE);
|
||||
|
||||
virtual bool DoAssociation(const wxString& strType,
|
||||
const wxString& strIcon,
|
||||
wxMimeTypeCommands *entry,
|
||||
|
@@ -667,18 +667,6 @@ wxMimeTypesManager::GetFileTypeFromMimeType(const wxString& mimeType)
|
||||
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)
|
||||
{
|
||||
EnsureImpl();
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user