Use wxIconLocation instead of wxIcon (as in the other ports).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: wx/mimetype.h
|
// Name: wx/os2/mimetype.h
|
||||||
// Purpose: classes and functions to manage MIME types
|
// Purpose: classes and functions to manage MIME types
|
||||||
// Author: David Webster
|
// Author: David Webster
|
||||||
// Modified by:
|
// Modified by:
|
||||||
@@ -12,12 +12,22 @@
|
|||||||
#ifndef _MIMETYPE_IMPL_H
|
#ifndef _MIMETYPE_IMPL_H
|
||||||
#define _MIMETYPE_IMPL_H
|
#define _MIMETYPE_IMPL_H
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "mimetype.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
|
|
||||||
|
#if wxUSE_MIMETYPE
|
||||||
|
|
||||||
#include "wx/mimetype.h"
|
#include "wx/mimetype.h"
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxFileTypeImpl is the OS/2 version of wxFileType, this is a private class
|
||||||
|
// and is never used directly by the application
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class WXDLLEXPORT wxFileTypeImpl
|
class WXDLLIMPEXP_BASE wxFileTypeImpl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// ctor
|
// ctor
|
||||||
@@ -40,7 +50,7 @@ public:
|
|||||||
bool GetExtensions(wxArrayString& extensions);
|
bool GetExtensions(wxArrayString& extensions);
|
||||||
bool GetMimeType(wxString *mimeType) const;
|
bool GetMimeType(wxString *mimeType) const;
|
||||||
bool GetMimeTypes(wxArrayString& mimeTypes) const;
|
bool GetMimeTypes(wxArrayString& mimeTypes) const;
|
||||||
bool GetIcon(wxIcon *icon, wxString *sCommand = NULL, int *iIndex = NULL) const;
|
bool GetIcon(wxIconLocation *iconLoc) const;
|
||||||
bool GetDescription(wxString *desc) const;
|
bool GetDescription(wxString *desc) const;
|
||||||
bool GetOpenCommand(wxString *openCmd,
|
bool GetOpenCommand(wxString *openCmd,
|
||||||
const wxFileType::MessageParameters& params) const;
|
const wxFileType::MessageParameters& params) const;
|
||||||
@@ -76,7 +86,7 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class WXDLLEXPORT wxMimeTypesManagerImpl
|
class WXDLLIMPEXP_BASE wxMimeTypesManagerImpl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// nothing to do here, we don't load any data but just go and fetch it from
|
// nothing to do here, we don't load any data but just go and fetch it from
|
||||||
@@ -90,7 +100,7 @@ public:
|
|||||||
|
|
||||||
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
size_t EnumAllFileTypes(wxArrayString& mimetypes);
|
||||||
|
|
||||||
// these are NOPs under Windows
|
// these are NOPs under OS/2
|
||||||
bool ReadMailcap(const wxString& filename, bool fallback = TRUE)
|
bool ReadMailcap(const wxString& filename, bool fallback = TRUE)
|
||||||
{ return TRUE; }
|
{ return TRUE; }
|
||||||
bool ReadMimeTypes(const wxString& filename)
|
bool ReadMimeTypes(const wxString& filename)
|
||||||
@@ -102,6 +112,7 @@ private:
|
|||||||
wxArrayFileTypeInfo m_fallbacks;
|
wxArrayFileTypeInfo m_fallbacks;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif // wxUSE_MIMETYPE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
//_MIMETYPE_IMPL_H
|
//_MIMETYPE_IMPL_H
|
||||||
|
@@ -23,11 +23,12 @@
|
|||||||
|
|
||||||
#include "wx/log.h"
|
#include "wx/log.h"
|
||||||
#include "wx/file.h"
|
#include "wx/file.h"
|
||||||
|
#include "wx/iconloc.h"
|
||||||
#include "wx/intl.h"
|
#include "wx/intl.h"
|
||||||
#include "wx/dynarray.h"
|
#include "wx/dynarray.h"
|
||||||
#include "wx/confbase.h"
|
#include "wx/confbase.h"
|
||||||
|
|
||||||
#if wxUSE_FILE
|
#if wxUSE_MIMETYPE
|
||||||
|
|
||||||
#include "wx/os2/mimetype.h"
|
#include "wx/os2/mimetype.h"
|
||||||
|
|
||||||
@@ -245,9 +246,8 @@ bool wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxFileTypeImpl::GetIcon(wxIcon *icon, wxString* psCommand, int* pnIndex) const
|
bool wxFileTypeImpl::GetIcon(wxIconLocation *iconLoc) const
|
||||||
{
|
{
|
||||||
#if wxUSE_GUI
|
|
||||||
if ( m_info ) {
|
if ( m_info ) {
|
||||||
// we don't have icons in the fallback resources
|
// we don't have icons in the fallback resources
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -265,7 +265,7 @@ bool wxFileTypeImpl::GetIcon(wxIcon *icon, wxString* psCommand, int* pnIndex) co
|
|||||||
if ( key.Open() ) {
|
if ( key.Open() ) {
|
||||||
wxString strIcon;
|
wxString strIcon;
|
||||||
// it's the default value of the key
|
// 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>
|
// the format is the following: <full path to file>, <icon index>
|
||||||
// NB: icon index may be negative as well as positive and the full
|
// NB: icon index may be negative as well as positive and the full
|
||||||
// path may contain the environment variables inside '%'
|
// path may contain the environment variables inside '%'
|
||||||
@@ -279,27 +279,19 @@ bool wxFileTypeImpl::GetIcon(wxIcon *icon, wxString* psCommand, int* pnIndex) co
|
|||||||
strIndex = wxT("0");
|
strIndex = wxT("0");
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString strExpPath = wxExpandEnvVars(strFullPath);
|
if ( iconLoc )
|
||||||
int nIndex = wxAtoi(strIndex);
|
{
|
||||||
|
iconLoc->SetFileName(wxExpandEnvVars(strFullPath));
|
||||||
|
|
||||||
HICON hIcon = ExtractIcon(GetModuleHandle(NULL), strExpPath, nIndex);
|
iconLoc->SetIndex(wxAtoi(strIndex));
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// no such file type or no value or incorrect icon entry
|
// no such file type or no value or incorrect icon entry
|
||||||
*/
|
*/
|
||||||
#endif // wxUSE_GUI
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -452,4 +444,4 @@ size_t wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString& mimetypes)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //wxUSE_FILE
|
#endif //wxUSE_MIMETYPE
|
||||||
|
Reference in New Issue
Block a user