fixing multiple extensions in one filter, turning off temporarily sheets code

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2009-03-21 23:27:06 +00:00
parent b771d06bad
commit b822bdc032

View File

@ -30,6 +30,7 @@
#endif
#include "wx/filename.h"
#include "wx/tokenzr.h"
#include "wx/osx/private.h"
@ -102,34 +103,38 @@ NSArray* GetTypesFromFilter( const wxString filter )
const size_t extCount = extensions.GetCount();
for ( size_t i = 0 ; i < extCount; i++ )
{
wxString extension = extensions[i];
// Remove leading '*'
if (extension.length() && (extension.GetChar(0) == '*'))
extension = extension.Mid( 1 );
// Remove leading '.'
if (extension.length() && (extension.GetChar(0) == '.'))
extension = extension.Mid( 1 );
if ( extension.IsEmpty() )
wxString extensiongroup = extensions[i];
wxStringTokenizer tokenizer( extensiongroup , wxT(";") ) ;
while ( tokenizer.HasMoreTokens() )
{
if ( types != nil )
[types release];
return nil;
wxString extension = tokenizer.GetNextToken() ;
// Remove leading '*'
if (extension.length() && (extension.GetChar(0) == '*'))
extension = extension.Mid( 1 );
// Remove leading '.'
if (extension.length() && (extension.GetChar(0) == '.'))
extension = extension.Mid( 1 );
if ( extension.IsEmpty() )
{
if ( types != nil )
[types release];
return nil;
}
if ( types == nil )
types = [[NSMutableArray alloc] init];
wxCFStringRef cfext(extension);
[types addObject: (NSString*)cfext.AsNSString() ];
#if 0
// add support for classic fileType / creator here
wxUint32 fileType, creator;
// extension -> mactypes
#endif
}
if ( types == nil )
types = [[NSMutableArray alloc] init];
wxCFStringRef cfext(extension);
[types addObject: (NSString*)cfext.AsNSString() ];
#if 0
// add support for classic fileType / creator here
wxUint32 fileType, creator;
// extension -> mactypes
#endif
}
}
return types;
@ -172,7 +177,8 @@ int wxFileDialog::ShowModal()
{
}
if (parentWindow)
// avoid multiple event handlers on stack
if ( 0 /*parentWindow*/)
{
NSWindow* nativeParent = parentWindow->GetWXWindow();
ModalDialogDelegate* sheetDelegate = [[ModalDialogDelegate alloc] init];
@ -211,7 +217,8 @@ int wxFileDialog::ShowModal()
[oPanel setCanChooseFiles:YES];
[oPanel setMessage:cf.AsNSString()];
if (parentWindow)
// avoid multiple event handlers on stack
if ( 0 /*parentWindow*/)
{
NSWindow* nativeParent = parentWindow->GetWXWindow();
ModalDialogDelegate* sheetDelegate = [[ModalDialogDelegate alloc] init];