extensions management unified

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2004-01-25 15:12:02 +00:00
parent 66b7ea46c7
commit 5974c3cf06
3 changed files with 49 additions and 69 deletions

View File

@@ -1990,22 +1990,22 @@ WX_DEFINE_EXPORTED_OBJARRAY(MacDefaultExtensionArray) ;
MacDefaultExtensionArray gMacDefaultExtensions ; MacDefaultExtensionArray gMacDefaultExtensions ;
// load the default extensions
MacDefaultExtensionRecord gDefaults[] =
{
MacDefaultExtensionRecord( wxT("txt") , 'TEXT' , 'ttxt' ) ,
MacDefaultExtensionRecord( wxT("tif") , 'TIFF' , '****' ) ,
MacDefaultExtensionRecord( wxT("jpg") , 'JPEG' , '****' ) ,
} ;
static void MacEnsureDefaultExtensionsLoaded() static void MacEnsureDefaultExtensionsLoaded()
{ {
if ( !gMacDefaultExtensionsInited ) if ( !gMacDefaultExtensionsInited )
{ {
// load the default extensions
MacDefaultExtensionRecord defaults[1] =
{
MacDefaultExtensionRecord( wxT("txt") , 'TEXT' , 'ttxt' ) ,
} ;
// we could load the pc exchange prefs here too // we could load the pc exchange prefs here too
for ( size_t i = 0 ; i < WXSIZEOF( gDefaults ) ; ++i )
for ( size_t i = 0 ; i < WXSIZEOF( defaults ) ; ++i )
{ {
gMacDefaultExtensions.Add( defaults[i] ) ; gMacDefaultExtensions.Add( gDefaults[i] ) ;
} }
gMacDefaultExtensionsInited = true ; gMacDefaultExtensionsInited = true ;
} }

View File

@@ -20,6 +20,7 @@
#include "wx/filedlg.h" #include "wx/filedlg.h"
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/tokenzr.h" #include "wx/tokenzr.h"
#include "wx/filename.h"
#ifndef __DARWIN__ #ifndef __DARWIN__
#include "PLStringFuncs.h" #include "PLStringFuncs.h"
@@ -152,24 +153,6 @@ NavEventProc(
} }
} }
const wxChar * gfilters[] =
{
wxT("*.TXT") ,
wxT("*.TIF") ,
wxT("*.JPG") ,
NULL
} ;
OSType gfiltersmac[] =
{
'TEXT' ,
'TIFF' ,
'JPEG' ,
'****'
} ;
void MakeUserDataRec(OpenUserDataRec *myData , const wxString& filter ) void MakeUserDataRec(OpenUserDataRec *myData , const wxString& filter )
{ {
@@ -218,18 +201,25 @@ void MakeUserDataRec(OpenUserDataRec *myData , const wxString& filter )
const size_t extCount = myData->extensions.GetCount(); const size_t extCount = myData->extensions.GetCount();
for ( size_t i = 0 ; i < extCount; i++ ) for ( size_t i = 0 ; i < extCount; i++ )
{ {
int j ; wxUint32 fileType;
for ( j = 0 ; gfilters[j] ; j++ ) wxUint32 creator;
wxString extension = myData->extensions[i];
if (extension.GetChar(0) == '*')
extension = extension.Mid(1); // Remove leading *
if (extension.GetChar(0) == '.')
{ {
if ( myData->extensions[i] == gfilters[j] ) extension = extension.Mid(1); // Remove leading .
{
myData->filtermactypes.Add( gfiltersmac[j] ) ;
break ;
} }
}
if( gfilters[j] == NULL ) if (wxFileName::MacFindDefaultTypeAndCreator( extension, &fileType, &creator ))
{ {
myData->filtermactypes.Add( '****' ) ; myData->filtermactypes.Add( (OSType)fileType );
}
else
{
myData->filtermactypes.Add( '****' ) ; // We'll fail safe if it's not recognized
} }
} }
} }

View File

@@ -20,6 +20,7 @@
#include "wx/filedlg.h" #include "wx/filedlg.h"
#include "wx/intl.h" #include "wx/intl.h"
#include "wx/tokenzr.h" #include "wx/tokenzr.h"
#include "wx/filename.h"
#ifndef __DARWIN__ #ifndef __DARWIN__
#include "PLStringFuncs.h" #include "PLStringFuncs.h"
@@ -152,24 +153,6 @@ NavEventProc(
} }
} }
const wxChar * gfilters[] =
{
wxT("*.TXT") ,
wxT("*.TIF") ,
wxT("*.JPG") ,
NULL
} ;
OSType gfiltersmac[] =
{
'TEXT' ,
'TIFF' ,
'JPEG' ,
'****'
} ;
void MakeUserDataRec(OpenUserDataRec *myData , const wxString& filter ) void MakeUserDataRec(OpenUserDataRec *myData , const wxString& filter )
{ {
@@ -218,18 +201,25 @@ void MakeUserDataRec(OpenUserDataRec *myData , const wxString& filter )
const size_t extCount = myData->extensions.GetCount(); const size_t extCount = myData->extensions.GetCount();
for ( size_t i = 0 ; i < extCount; i++ ) for ( size_t i = 0 ; i < extCount; i++ )
{ {
int j ; wxUint32 fileType;
for ( j = 0 ; gfilters[j] ; j++ ) wxUint32 creator;
wxString extension = myData->extensions[i];
if (extension.GetChar(0) == '*')
extension = extension.Mid(1); // Remove leading *
if (extension.GetChar(0) == '.')
{ {
if ( myData->extensions[i] == gfilters[j] ) extension = extension.Mid(1); // Remove leading .
{
myData->filtermactypes.Add( gfiltersmac[j] ) ;
break ;
} }
}
if( gfilters[j] == NULL ) if (wxFileName::MacFindDefaultTypeAndCreator( extension, &fileType, &creator ))
{ {
myData->filtermactypes.Add( '****' ) ; myData->filtermactypes.Add( (OSType)fileType );
}
else
{
myData->filtermactypes.Add( '****' ) ; // We'll fail safe if it's not recognized
} }
} }
} }