minor changes a bit everywhere + a small wxLog change (Enable()/IsEnabled()
added) + wxTimer member vars are made protected again (but a friend decl added for the callback) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -801,142 +801,3 @@ void RemoveTrailingSeparator(wxString& str)
|
||||
if ( !str.IsEmpty() && str.Last() == REG_SEPARATOR )
|
||||
str.Truncate(str.Len() - 1);
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// global public functions
|
||||
// ============================================================================
|
||||
|
||||
bool GetExtensionFromMimeType(wxString *pExt, const wxString& strMimeType)
|
||||
{
|
||||
// @@@ VZ: I don't know of any official documentation which mentions this
|
||||
// location, but as a matter of fact IE uses it, so why not we?
|
||||
static const char *szMimeDbase = "MIME\\Database\\Content Type\\";
|
||||
|
||||
wxString strKey = szMimeDbase;
|
||||
strKey << strMimeType;
|
||||
|
||||
// suppress possible error messages
|
||||
wxLogNull nolog;
|
||||
wxRegKey key(wxRegKey::HKCR, strKey);
|
||||
if ( key.Open() ) {
|
||||
if ( key.QueryValue("Extension", *pExt) )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// no such MIME type or no extension for it
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool GetMimeTypeFromExtension(wxString *pMimeType, const wxString& strExt)
|
||||
{
|
||||
wxCHECK( !strExt.IsEmpty(), FALSE );
|
||||
|
||||
// add the leading point if necessary
|
||||
wxString str;
|
||||
if ( strExt[0] != '.' ) {
|
||||
str = '.';
|
||||
}
|
||||
str << strExt;
|
||||
|
||||
// suppress possible error messages
|
||||
wxLogNull nolog;
|
||||
wxRegKey key(wxRegKey::HKCR, str);
|
||||
if ( key.Open() ) {
|
||||
if ( key.QueryValue("Content Type", *pMimeType) )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// no such extension or no content-type
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool GetFileTypeFromExtension(wxString *pFileType, const wxString& strExt)
|
||||
{
|
||||
wxCHECK( !strExt.IsEmpty(), FALSE );
|
||||
|
||||
// add the leading point if necessary
|
||||
wxString str;
|
||||
if ( strExt[0] != '.' ) {
|
||||
str = '.';
|
||||
}
|
||||
str << strExt;
|
||||
|
||||
// suppress possible error messages
|
||||
wxLogNull nolog;
|
||||
wxRegKey key(wxRegKey::HKCR, str);
|
||||
if ( key.Open() ) {
|
||||
if ( key.QueryValue("", *pFileType) ) // it's the default value of the key
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// no such extension or no value
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool GetFileTypeIcon(wxIcon *pIcon, const wxString& strFileType)
|
||||
{
|
||||
wxCHECK( !strFileType.IsEmpty(), FALSE );
|
||||
|
||||
wxString strIconKey;
|
||||
strIconKey << strFileType << REG_SEPARATOR << "DefaultIcon";
|
||||
|
||||
// suppress possible error messages
|
||||
wxLogNull nolog;
|
||||
wxRegKey key(wxRegKey::HKCR, strIconKey);
|
||||
|
||||
if ( key.Open() ) {
|
||||
wxString strIcon;
|
||||
if ( key.QueryValue("", strIcon) ) { // it's the default value of the key
|
||||
// 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 '%'
|
||||
wxString strFullPath = strIcon.Before(','),
|
||||
strIndex = strIcon.Right(',');
|
||||
|
||||
// index may be omitted, in which case Before(',') is empty and
|
||||
// Right(',') is the whole string
|
||||
if ( strFullPath.IsEmpty() ) {
|
||||
strFullPath = strIndex;
|
||||
strIndex = "0";
|
||||
}
|
||||
|
||||
wxString strExpPath = wxExpandEnvVars(strFullPath);
|
||||
int nIndex = atoi(strIndex);
|
||||
|
||||
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("incorrect registry entry '%s': no such icon.",
|
||||
GetFullName(&key));
|
||||
break;
|
||||
|
||||
default:
|
||||
pIcon->SetHICON((WXHICON)hIcon);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// no such file type or no value or incorrect icon entry
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool GetFileTypeDescription(wxString *pDesc, const wxString& strFileType)
|
||||
{
|
||||
wxCHECK( !strFileType.IsEmpty(), FALSE );
|
||||
|
||||
// suppress possible error messages
|
||||
wxLogNull nolog;
|
||||
wxRegKey key(wxRegKey::HKCR, strFileType);
|
||||
|
||||
if ( key.Open() ) {
|
||||
if ( key.QueryValue("", *pDesc) ) // it's the default value of the key
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// no such file type or no value
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user