#include "wx/defs.h"
#endif
-#if wxUSE_FILE && wxUSE_TEXTFILE
+#if wxUSE_MIMETYPE && wxUSE_FILE && wxUSE_TEXTFILE
#ifndef WX_PRECOMP
#include "wx/string.h"
wxString GetVerb (size_t i)
{
- if (i < 0) return wxEmptyString;
if (i > GetCount() ) return wxEmptyString;
wxString sTmp = Item(i).BeforeFirst(wxT('='));
return sTmp;
wxString GetCmd (size_t i)
{
- if (i < 0) return wxEmptyString;
if (i > GetCount() ) return wxEmptyString;
wxString sTmp = Item(i).AfterFirst(wxT('='));
return sTmp;
wxString GetVerb (size_t i)
{
- if (i < 0) return wxEmptyString;
if (i > GetLineCount() ) return wxEmptyString;
wxString sTmp = GetLine(i).BeforeFirst(wxT('='));
return sTmp;
wxString GetCmd (size_t i)
{
- if (i < 0) return wxEmptyString;
if (i > GetLineCount() ) return wxEmptyString;
wxString sTmp = GetLine(i).AfterFirst(wxT('='));
return sTmp;
// overwriteprompt is TRUE, but this is currently ignored as *Associate* has
// no overwrite prompt
bool wxFileTypeImpl::SetCommand(const wxString& cmd, const wxString& verb, bool overwriteprompt /*= TRUE*/)
- {
+{
wxArrayString strExtensions;
wxString strDesc, strIcon ;
size_t i;
bool Ok = TRUE;
for (i = 0; i < strTypes.GetCount(); i++)
- {
+ {
if (!m_manager->DoAssociation (strTypes[i], strIcon, entry, strExtensions, strDesc))
- Ok = FALSE;
- }
+ Ok = FALSE;
+ }
return Ok;
- }
+}
// ignore index on the grouds that we only have one icon in a Unix file
bool wxFileTypeImpl::SetDefaultIcon(const wxString& strIcon /*= wxEmptyString*/, int /*index = 0*/)
- {
+{
if (strIcon.IsEmpty()) return FALSE;
wxArrayString strExtensions;
wxString strDesc;
size_t i;
bool Ok = TRUE;
for (i = 0; i < strTypes.GetCount(); i++)
- {
+ {
if (!m_manager->DoAssociation (strTypes[i], strIcon, entry, strExtensions, strDesc))
- Ok = FALSE;
- }
+ Ok = FALSE;
+ }
return Ok;
- }
+}
+
// ----------------------------------------------------------------------------
// wxMimeTypesManagerImpl (Unix)
// ----------------------------------------------------------------------------
wxString strHome = wxGetenv(wxT("HOME"));
wxArrayString dirs;
+ dirs.Add ( strHome + wxT("/.") );
dirs.Add ( wxT("/etc/") );
dirs.Add ( wxT("/usr/etc/") );
dirs.Add ( wxT("/usr/local/etc/") );
dirs.Add ( wxT("/etc/mail/") );
dirs.Add ( wxT("/usr/public/lib/") );
- dirs.Add ( strHome + wxT("/.") );
if (!sExtraDir.IsEmpty()) dirs.Add ( sExtraDir + wxT("/") );
size_t nDirs = dirs.GetCount();
strExtensions = strRHS;
}
else {
- wxLogWarning(_("Unknown field in file %s, line %d: '%s'."),
- strFileName.c_str(), nLine + 1, strLHS.c_str());
+ // this one is simply ignored: it usually refers to Netscape
+ // built in icons which are useless for us anyhow
+ if ( strLHS != _T("icon") )
+ {
+ wxLogWarning(_("Unknown field in file %s, line %d: '%s'."),
+ strFileName.c_str(), nLine + 1, strLHS.c_str());
+ }
}
if ( !entryEnded ) {
else
{
WriteMimeInfo(nIndex, TRUE );
- m_aTypes.Remove (nIndex);
- m_aEntries.Remove (nIndex);
- m_aExtensions.Remove (nIndex);
- m_aDescriptions.Remove (nIndex);
- m_aIcons.Remove (nIndex);
+ m_aTypes.RemoveAt(nIndex);
+ m_aEntries.RemoveAt(nIndex);
+ m_aExtensions.RemoveAt(nIndex);
+ m_aDescriptions.RemoveAt(nIndex);
+ m_aIcons.RemoveAt(nIndex);
}
}
// check data integrity
}
#endif
- // wxUSE_FILE && wxUSE_TEXTFILE
+ // wxUSE_MIMETYPE && wxUSE_FILE && wxUSE_TEXTFILE