--- hatari/src/gui-osx/AlertHooks.m 2019/04/09 08:52:53 1.1.1.3 +++ hatari/src/gui-osx/AlertHooks.m 2019/04/09 08:54:08 1.1.1.4 @@ -1,5 +1,5 @@ /* - Hatari - AlertHooks.c + Hatari - AlertHooks.m This file is distributed under the GNU General Public License, version 2 or at your option any later version. Read the file gpl.txt for details. @@ -11,6 +11,7 @@ #import #import "AlertHooks.h" +#import "Shared.h" #ifdef ALERT_HOOKS @@ -20,7 +21,25 @@ */ int HookedAlertNotice(const char* szMessage) { - return (NSAlertDefaultReturn == NSRunInformationalAlertPanel(@"Hatari", [NSString stringWithCString:szMessage encoding:NSASCIIStringEncoding], nil, nil, nil)); + NSString *message ; + NSRange cantTOS, firstPv, lastPv ; + NSAlert *lalerte ; + + message = [NSString stringWithCString:szMessage encoding:NSASCIIStringEncoding] ; + //NSLog(@"Notice: %@", message ) ; + cantTOS = [message rangeOfString:@"Can not load TOS file:"] ; + firstPv = [message rangeOfString:@"'"] ; + lastPv = [message rangeOfString:@"'" options:NSBackwardsSearch] ; + + if ((cantTOS.location == NSNotFound) || (firstPv.location==lastPv.location)) + return (NSAlertDefaultReturn == NSRunInformationalAlertPanel(@"Hatari", localize(message), localize(@"Ok"), nil, nil)); + + firstPv.location++ ; firstPv.length = lastPv.location-firstPv.location ; + lalerte = [NSAlert alertWithMessageText:@"Hatari" defaultButton:localize(@"Ok") alternateButton:nil otherButton:nil + informativeTextWithFormat:localize(@"Can not load TOS file:"), [NSApp pathUser:[message substringWithRange:firstPv]]] ; + + [lalerte runModal] ; + return YES ; } /*-----------------------------------------------------------------------*/ @@ -29,9 +48,9 @@ int HookedAlertNotice(const char* szMess */ int HookedAlertQuery(const char* szMessage) { - return (NSAlertDefaultReturn == NSRunAlertPanel(@"Hatari", [NSString stringWithCString:szMessage encoding:NSASCIIStringEncoding], - NSLocalizedStringFromTable(@"Ok",@"Localizable",@"comment"), - NSLocalizedStringFromTable(@"Cancel",@"Localizable",@"comment"), nil)); +// NSLog(@"Alerte: %@", [NSString stringWithCString:szMessage encoding:NSASCIIStringEncoding] ) ; + return (NSAlertDefaultReturn == NSRunAlertPanel(@"Hatari", localize([NSString stringWithCString:szMessage encoding:NSASCIIStringEncoding]), + localize(@"Ok"), localize(@"Cancel"), nil)); } #endif