Browse Source

Allows to set the chooser's type at construction time without calling the type(int) function.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8692 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
pull/49/head
Manolo Gouy 14 years ago
parent
commit
422a2570a8
  1. 25
      src/Fl_Native_File_Chooser_MAC.mm

25
src/Fl_Native_File_Chooser_MAC.mm

@ -372,18 +372,6 @@ int Fl_Native_File_Chooser::get_saveas_basename(void) {
// SET THE TYPE OF BROWSER // SET THE TYPE OF BROWSER
void Fl_Native_File_Chooser::type(int val) { void Fl_Native_File_Chooser::type(int val) {
_btype = val; _btype = val;
switch (_btype) {
case BROWSE_FILE:
case BROWSE_MULTI_FILE:
case BROWSE_DIRECTORY:
case BROWSE_MULTI_DIRECTORY:
_panel = [NSOpenPanel openPanel];
break;
case BROWSE_SAVE_DIRECTORY:
case BROWSE_SAVE_FILE:
_panel = [NSSavePanel savePanel];
break;
}
} }
@interface FLopenDelegate : NSObject @interface FLopenDelegate : NSObject
@ -481,6 +469,18 @@ int Fl_Native_File_Chooser::post() {
} }
NSAutoreleasePool *localPool; NSAutoreleasePool *localPool;
localPool = [[NSAutoreleasePool alloc] init]; localPool = [[NSAutoreleasePool alloc] init];
switch (_btype) {
case BROWSE_FILE:
case BROWSE_MULTI_FILE:
case BROWSE_DIRECTORY:
case BROWSE_MULTI_DIRECTORY:
_panel = [NSOpenPanel openPanel];
break;
case BROWSE_SAVE_DIRECTORY:
case BROWSE_SAVE_FILE:
_panel = [NSSavePanel savePanel];
break;
}
int retval; int retval;
NSString *nstitle = [NSString stringWithUTF8String: (_title ? _title : "No Title")]; NSString *nstitle = [NSString stringWithUTF8String: (_title ? _title : "No Title")];
[(NSSavePanel*)_panel setTitle:nstitle]; [(NSSavePanel*)_panel setTitle:nstitle];
@ -490,6 +490,7 @@ int Fl_Native_File_Chooser::post() {
break; break;
case BROWSE_MULTI_DIRECTORY: case BROWSE_MULTI_DIRECTORY:
[(NSOpenPanel*)_panel setAllowsMultipleSelection:YES]; [(NSOpenPanel*)_panel setAllowsMultipleSelection:YES];
/* FALLTHROUGH */
case BROWSE_DIRECTORY: case BROWSE_DIRECTORY:
[(NSOpenPanel*)_panel setCanChooseDirectories:YES]; [(NSOpenPanel*)_panel setCanChooseDirectories:YES];
break; break;

Loading…
Cancel
Save