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:
@@ -1990,22 +1990,22 @@ WX_DEFINE_EXPORTED_OBJARRAY(MacDefaultExtensionArray) ;
|
||||
|
||||
MacDefaultExtensionArray gMacDefaultExtensions ;
|
||||
|
||||
// load the default extensions
|
||||
MacDefaultExtensionRecord gDefaults[] =
|
||||
{
|
||||
MacDefaultExtensionRecord( wxT("txt") , 'TEXT' , 'ttxt' ) ,
|
||||
MacDefaultExtensionRecord( wxT("tif") , 'TIFF' , '****' ) ,
|
||||
MacDefaultExtensionRecord( wxT("jpg") , 'JPEG' , '****' ) ,
|
||||
} ;
|
||||
|
||||
static void MacEnsureDefaultExtensionsLoaded()
|
||||
{
|
||||
if ( !gMacDefaultExtensionsInited )
|
||||
{
|
||||
|
||||
// load the default extensions
|
||||
MacDefaultExtensionRecord defaults[1] =
|
||||
{
|
||||
MacDefaultExtensionRecord( wxT("txt") , 'TEXT' , 'ttxt' ) ,
|
||||
|
||||
} ;
|
||||
// we could load the pc exchange prefs here too
|
||||
|
||||
for ( size_t i = 0 ; i < WXSIZEOF( defaults ) ; ++i )
|
||||
for ( size_t i = 0 ; i < WXSIZEOF( gDefaults ) ; ++i )
|
||||
{
|
||||
gMacDefaultExtensions.Add( defaults[i] ) ;
|
||||
gMacDefaultExtensions.Add( gDefaults[i] ) ;
|
||||
}
|
||||
gMacDefaultExtensionsInited = true ;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "wx/filedlg.h"
|
||||
#include "wx/intl.h"
|
||||
#include "wx/tokenzr.h"
|
||||
#include "wx/filename.h"
|
||||
|
||||
#ifndef __DARWIN__
|
||||
#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 )
|
||||
{
|
||||
@@ -218,18 +201,25 @@ void MakeUserDataRec(OpenUserDataRec *myData , const wxString& filter )
|
||||
const size_t extCount = myData->extensions.GetCount();
|
||||
for ( size_t i = 0 ; i < extCount; i++ )
|
||||
{
|
||||
int j ;
|
||||
for ( j = 0 ; gfilters[j] ; j++ )
|
||||
wxUint32 fileType;
|
||||
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] )
|
||||
{
|
||||
myData->filtermactypes.Add( gfiltersmac[j] ) ;
|
||||
break ;
|
||||
extension = extension.Mid(1); // Remove leading .
|
||||
}
|
||||
}
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "wx/filedlg.h"
|
||||
#include "wx/intl.h"
|
||||
#include "wx/tokenzr.h"
|
||||
#include "wx/filename.h"
|
||||
|
||||
#ifndef __DARWIN__
|
||||
#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 )
|
||||
{
|
||||
@@ -218,18 +201,25 @@ void MakeUserDataRec(OpenUserDataRec *myData , const wxString& filter )
|
||||
const size_t extCount = myData->extensions.GetCount();
|
||||
for ( size_t i = 0 ; i < extCount; i++ )
|
||||
{
|
||||
int j ;
|
||||
for ( j = 0 ; gfilters[j] ; j++ )
|
||||
wxUint32 fileType;
|
||||
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] )
|
||||
{
|
||||
myData->filtermactypes.Add( gfiltersmac[j] ) ;
|
||||
break ;
|
||||
extension = extension.Mid(1); // Remove leading .
|
||||
}
|
||||
}
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user