// Created: 01.21.00
// RCS-ID: $Id$
// Copyright: Adopted from msw port --(c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence: wxWindows license (part of wxExtra library)
+// Licence: wxWindows licence (part of wxExtra library)
/////////////////////////////////////////////////////////////////////////////
#define INCL_DOS
#include "wx/log.h"
#include "wx/file.h"
+#include "wx/iconloc.h"
#include "wx/intl.h"
#include "wx/dynarray.h"
#include "wx/confbase.h"
+#if wxUSE_MIMETYPE
+
#include "wx/os2/mimetype.h"
// other standard headers
return FALSE;
}
-bool wxFileTypeImpl::GetIcon(wxIcon *icon) const
+bool wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const
+{
+ wxString s;
+
+ if (GetMimeType(&s))
+ {
+ mimeTypes.Clear();
+ mimeTypes.Add(s);
+ return TRUE;
+ }
+ else
+ return FALSE;
+}
+
+bool wxFileTypeImpl::GetIcon(wxIconLocation *iconLoc) const
{
-#if wxUSE_GUI
if ( m_info ) {
// we don't have icons in the fallback resources
return FALSE;
if ( key.Open() ) {
wxString strIcon;
// it's the default value of the key
- if ( key.QueryValue(wxT(""), strIcon) ) {
+ if ( key.QueryValue(wxEmptyString, strIcon) ) {
// the format is the following: <full path to file>, <icon index>
// NB: icon index may be negative as well as positive and the full
// path may contain the environment variables inside '%'
strIndex = wxT("0");
}
- wxString strExpPath = wxExpandEnvVars(strFullPath);
- int nIndex = wxAtoi(strIndex);
+ if ( iconLoc )
+ {
+ iconLoc->SetFileName(wxExpandEnvVars(strFullPath));
- HICON hIcon = ExtractIcon(GetModuleHandle(NULL), strExpPath, nIndex);
- switch ( (int)hIcon ) {
- case 0: // means no icons were found
- case 1: // means no such file or it wasn't a DLL/EXE/OCX/ICO/...
- wxLogDebug(wxT("incorrect registry entry '%s': no such icon."),
- key.GetName().c_str());
- break;
-
- default:
- icon->SetHICON((WXHICON)hIcon);
- return TRUE;
+ iconLoc->SetIndex(wxAtoi(strIndex));
}
+
+ return TRUE;
}
}
// no such file type or no value or incorrect icon entry
*/
-#endif // wxUSE_GUI
return FALSE;
}
{
// add the leading point if necessary
wxString str;
- if ( ext[0u] != wxT('.') ) {
+ if ( ext[(size_t) 0] != wxT('.') ) {
str = wxT('.');
}
str << ext;
return 0;
}
+#endif //wxUSE_MIMETYPE