#if wxUSE_INTL // try "Name[locale name]" first
wxLocale *locale = wxGetLocale();
if ( locale )
- nIndex = file.pIndexOf(_T("Name[")+locale->GetName()+_T("]="));
+ nIndex = file.pIndexOf(wxT("Name[")+locale->GetName()+wxT("]="));
#endif // wxUSE_INTL
if(nIndex == wxNOT_FOUND)
nIndex = file.pIndexOf( wxT("Name=") );
nIndex = wxNOT_FOUND;
#if wxUSE_INTL // try "Icon[locale name]" first
if ( locale )
- nIndex = file.pIndexOf(_T("Icon[")+locale->GetName()+_T("]="));
+ nIndex = file.pIndexOf(wxT("Icon[")+locale->GetName()+wxT("]="));
#endif // wxUSE_INTL
if(nIndex == wxNOT_FOUND)
nIndex = file.pIndexOf( wxT("Icon=") );
sCmd.Replace(wxT("%i"), nameicon);
sCmd.Replace(wxT("%m"), namemini);
- wxStringTokenizer tokenizer(mimetypes, _T(";"));
+ wxStringTokenizer tokenizer(mimetypes, wxT(";"));
while(tokenizer.HasMoreTokens()) {
wxString mimetype = tokenizer.GetNextToken().Lower();
nIndex = m_aTypes.Index(mimetype);
wxString filename;
// Look into .desktop files
- bool cont = dir.GetFirst(&filename, _T("*.desktop"), wxDIR_FILES);
+ bool cont = dir.GetFirst(&filename, wxT("*.desktop"), wxDIR_FILES);
while (cont)
{
wxFileName p(dirname, filename);
// set the flag first to prevent recursion
m_initialized = true;
- wxString wm = wxTheApp->GetTraits()->GetDesktopEnvironment();
+ int mailcapStyles = wxMAILCAP_ALL;
+ if ( wxAppTraits * const traits = wxApp::GetTraitsIfExists() )
+ {
+ wxString wm = traits->GetDesktopEnvironment();
- if (wm == wxT("KDE"))
- Initialize( wxMAILCAP_KDE );
- else if (wm == wxT("GNOME"))
- Initialize( wxMAILCAP_GNOME );
- else
- Initialize();
+ if ( wm == "KDE" )
+ mailcapStyles = wxMAILCAP_KDE;
+ else if ( wm == "GNOME" )
+ mailcapStyles = wxMAILCAP_GNOME;
+ //else: unknown, use the default
+ }
+
+ Initialize(mailcapStyles);
}
}
#ifdef __VMS
// XDG tables are never installed on OpenVMS
return;
-#endif
+#else
// Read MIME type - extension associations
LoadXDGGlobs( "/usr/share/mime/globs" );
{
if (textfile.GetLine(i).Find(wxT("=")) != wxNOT_FOUND)
{
- wxString mimeType = textfile.GetVerb(i);
wxString desktopFile = textfile.GetCmd(i);
if (deskTopFilesSeen.Index(desktopFile) == wxNOT_FOUND)
}
}
}
+#endif
}
// clear data so you can read another group of WM files
int nIndex = m_aTypes.Index(mimeType);
if ( nIndex == wxNOT_FOUND )
{
- // new file type
- m_aTypes.Add(mimeType);
- m_aIcons.Add(strIcon);
- m_aEntries.Add(entry ? entry : new wxMimeTypeCommands);
+ // We put MIME types containing "application" at the end, so that
+ // if the MIME type for the extention "htm" is searched for, it will
+ // rather find "text/html" than "application/x-mozilla-bookmarks".
+ if (mimeType.Find( "application" ) == 0)
+ {
+ // new file type
+ m_aTypes.Add(mimeType);
+ m_aIcons.Add(strIcon);
+ m_aEntries.Add(entry ? entry : new wxMimeTypeCommands);
- // change nIndex so we can use it below to add the extensions
- m_aExtensions.Add(wxEmptyString);
- nIndex = m_aExtensions.size() - 1;
+ // change nIndex so we can use it below to add the extensions
+ m_aExtensions.Add(wxEmptyString);
+ nIndex = m_aExtensions.size() - 1;
- m_aDescriptions.Add(strDesc);
+ m_aDescriptions.Add(strDesc);
+ }
+ else
+ {
+ // new file type
+ m_aTypes.Insert(mimeType,0);
+ m_aIcons.Insert(strIcon,0);
+ m_aEntries.Insert(entry ? entry : new wxMimeTypeCommands,0);
+
+ // change nIndex so we can use it below to add the extensions
+ m_aExtensions.Insert(wxEmptyString,0);
+ nIndex = 0;
+
+ m_aDescriptions.Insert(strDesc,0);
+ }
}
else // yes, we already have it
{