--- hatari/src/gui-osx/Shared.m 2019/04/09 08:54:09 1.1.1.8 +++ hatari/src/gui-osx/Shared.m 2019/04/09 08:55:20 1.1.1.9 @@ -112,14 +112,13 @@ NSOpenPanel *openPanel ; [openPanel setAllowsOtherFileTypes:YES] ; } ; if (titre != nil) [openPanel setTitle:titre] ; -#if MAC_OS_X_VERSION_MAX_ALLOWED > 1058 - - if (defoDir!=nil) [openPanel setDirectoryURL:[NSURL URLWithString:defoDir]] ; // 10.6 & newer - if (defoFile!=nil) [openPanel setNameFieldStringValue:defoFile] ; - btOk = [openPanel runModal] == NSOKButton ; // Ok ? -#else // */ - btOk = [openPanel runModalForDirectory:defoDir file:defoFile] == NSOKButton ; // 10.5 -#endif + if ([openPanel respondsToSelector:@selector(setDirectoryURL:)]) + { if (defoDir!=nil) [openPanel setDirectoryURL:[NSURL fileURLWithPath:defoDir isDirectory:YES]] ; // A partir de 10.6 + if (defoFile!=nil) [openPanel setNameFieldStringValue:defoFile] ; + btOk = [openPanel runModal] == NSOKButton ; // Ok ? + } + else + btOk = [openPanel runModalForDirectory:defoDir file:defoFile] == NSOKButton ; // avant 10.6 if (btOk) { lesURLs = [openPanel URLs] ; @@ -149,15 +148,14 @@ NSOpenPanel *openPanel ; [savPanel setAllowsOtherFileTypes:YES] ; } ; if (titre != nil) [savPanel setTitle:titre] ; -#if MAC_OS_X_VERSION_MAX_ALLOWED > 1058 + if ([savPanel respondsToSelector:@selector(setDirectoryURL:)]) + { if (defoDir!=nil) [savPanel setDirectoryURL:[NSURL fileURLWithPath:defoDir isDirectory:YES]] ; // A partir de 10.6 + if (defoFile!=nil) [savPanel setNameFieldStringValue:defoFile] ; + btOk = [savPanel runModal] == NSOKButton ; // Ok? + } + else + btOk = [savPanel runModalForDirectory:defoDir file:defoFile] == NSOKButton ; // Ok ? deprecated en 10.6 - if (defoDir!=nil) [savPanel setDirectoryURL:[NSURL URLWithString:defoDir]] ; // A partir de 10.6 - if (defoFile!=nil) [savPanel setNameFieldStringValue:defoFile] ; - btOk = [savPanel runModal] == NSOKButton ; // Ok? - -#else // */ - btOk = [savPanel runModalForDirectory:defoDir file:defoFile] == NSOKButton ; // Ok ? deprecated en 10.6 -#endif if (btOk) { lURL = [savPanel URL] ; if (lURL != nil) @@ -207,6 +205,33 @@ NSOpenPanel *openPanel ; return apath; } -@end +// NSAlert available 10.3 to 10.9 +// +- (NSInteger)myAlerte:(NSUInteger)style Txt:(NSString *)Txt firstB:(NSString *)firstB alternateB:(NSString *)alternateB + otherB:(NSString *)otherB informativeTxt:(NSString *)informativeT +{ + NSAlert *lalerte ; + NSInteger ret ; + lalerte = [[NSAlert alloc] init] ; + [lalerte setAlertStyle:style] ; + if (Txt == nil) + [lalerte setMessageText:@"Hatari"] ; + else + [lalerte setMessageText:Txt] ; + [lalerte addButtonWithTitle:firstB] ; + if (alternateB != nil) [lalerte addButtonWithTitle:alternateB] ; + if (otherB != nil) [lalerte addButtonWithTitle:otherB] ; + if (informativeT!= nil) [lalerte setInformativeText:informativeT] ; + ret = [lalerte runModal] ; + [lalerte release] ; + switch (ret) { + case NSAlertFirstButtonReturn : return NSAlertDefaultReturn ; + break ; + case NSAlertSecondButtonReturn: return NSAlertAlternateReturn ; + break ; + default : return NSAlertOtherReturn ; + } ; +} +@end