Allow an app to cut down start time by not doing unnecessary mime types initialisation

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54358 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2008-06-25 08:38:10 +00:00
parent 0ddec397f6
commit c895624b13

View File

@ -23,6 +23,7 @@
#include "wx/module.h"
#endif
#include "wx/sysopt.h"
#include "wx/wfstream.h"
#include "wx/mimetype.h"
#include "wx/filename.h"
@ -77,6 +78,16 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
#if wxUSE_MIMETYPE
static bool s_MinimalMimeEnsured = false;
// Don't use mime types manager if the application doesn't need it and it would be
// cause an unacceptable delay, especially on startup.
bool useMimeTypesManager = true;
#if wxUSE_SYSTEM_OPTIONS
useMimeTypesManager = (wxSystemOptions::GetOptionInt(wxT("filesys.no-mimetypesmanager")) == 0);
#endif
if (useMimeTypesManager)
{
if (!s_MinimalMimeEnsured)
{
static const wxFileTypeInfo fallbacks[] =
@ -122,7 +133,10 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
delete ft;
return mime;
#else
}
else
#endif
{
if ( ext.IsSameAs(wxT("htm"), false) || ext.IsSameAs(_T("html"), false) )
return wxT("text/html");
if ( ext.IsSameAs(wxT("jpg"), false) || ext.IsSameAs(_T("jpeg"), false) )
@ -134,7 +148,7 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
if ( ext.IsSameAs(wxT("bmp"), false) )
return wxT("image/bmp");
return wxEmptyString;
#endif
}
}