--- np2/macosx/np2.cpp 2003/11/15 07:10:03 1.39 +++ np2/macosx/np2.cpp 2004/01/05 07:22:02 1.46 @@ -46,7 +46,7 @@ // #define OPENING_WAIT 1500 - NP2OSCFG np2oscfg = {"Neko Project IIx", 0, 2, 0, 0, 0, 0, 1, 0}; + NP2OSCFG np2oscfg = {"Neko Project IIx", -1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0}; WindowPtr hWndMain; BOOL np2running; @@ -93,18 +93,19 @@ pascal OSErr OpenAppleEventHandler(const DescType rtype; AEKeyword key; AEDescList dlist; + OSErr err = noErr; if(!AEGetParamDesc(event,keyDirectObject,typeAEList,&dlist)) { AECountItems( &dlist,&ct ); for( i=1;i<=ct;i++ ) { pp=&fsc; if (!AEGetNthPtr( &dlist,i,typeFSS,&key,&rtype,(Ptr)pp,(long)sizeof(FSSpec),&len)) { - setDropFile(fsc, i-1); + err = setDropFile(fsc, i-1); } } AEDisposeDesc( &dlist ); } - return( 0 ); + return(err); } @@ -376,32 +377,50 @@ static void HandleMenuChoice(long wParam update |= SYS_UPDATECFG; break; - case IDM_F12MOUSE: - menu_setf12copy(0); - mackbd_resetf12(); + case IDM_F11KANA: + menu_setf11key(0); + mackbd_resetf11(); update |= SYS_UPDATEOSCFG; break; - case IDM_F12COPY: - menu_setf12copy(1); - mackbd_resetf12(); + case IDM_F11STOP: + menu_setf11key(1); + mackbd_resetf11(); + update |= SYS_UPDATEOSCFG; + break; + + case IDM_F11EQU: + menu_setf11key(2); + mackbd_resetf11(); + update |= SYS_UPDATEOSCFG; + break; + + case IDM_F11NFER: + menu_setf11key(3); + mackbd_resetf11(); update |= SYS_UPDATEOSCFG; break; - case IDM_F12STOP: - menu_setf12copy(2); + case IDM_F12MOUSE: + menu_setf12key(0); mackbd_resetf12(); update |= SYS_UPDATEOSCFG; break; - case IDM_F12EQU: - menu_setf12copy(3); + case IDM_F12COPY: + menu_setf12key(1); mackbd_resetf12(); update |= SYS_UPDATEOSCFG; break; case IDM_F12COMMA: - menu_setf12copy(4); + menu_setf12key(2); + mackbd_resetf12(); + update |= SYS_UPDATEOSCFG; + break; + + case IDM_F12XFER: + menu_setf12key(3); mackbd_resetf12(); update |= SYS_UPDATEOSCFG; break; @@ -480,6 +499,11 @@ static void HandleMenuChoice(long wParam update |= SYS_UPDATECFG; break; + case IDM_JASTSOUND: + menu_setjastsound(np2oscfg.jastsnd ^ 1); + update |= SYS_UPDATEOSCFG; + break; + case IDM_SEEKSND: menu_setmotorflg(np2cfg.MOTOR ^ 1); update |= SYS_UPDATECFG; @@ -655,6 +679,7 @@ int main(int argc, char *argv[]) { EventRef theEvent; EventTargetRef theTarget; + Rect bounds; #ifdef OPENING_WAIT UINT32 tick; #endif @@ -688,9 +713,11 @@ int main(int argc, char *argv[]) { menu_setframe(np2oscfg.DRAW_SKIP); menu_setkey(0); menu_setxshift(0); - menu_setf12copy(np2oscfg.F12COPY); + menu_setf11key(np2oscfg.F11KEY); + menu_setf12key(np2oscfg.F12KEY); menu_setbeepvol(np2cfg.BEEP_VOL); menu_setsound(np2cfg.SOUND_SW); + menu_setjastsound(np2oscfg.jastsnd); menu_setmotorflg(np2cfg.MOTOR); menu_setextmem(np2cfg.EXTMEM); menu_setdispclk(np2oscfg.DISPCLK); @@ -805,6 +832,7 @@ int main(int argc, char *argv[]) { } } } + np2running = FALSE; menu_setrecording(true); @@ -812,6 +840,13 @@ int main(int argc, char *argv[]) { toggleFullscreen(); } + GetWindowBounds(hWndMain, kWindowGlobalPortRgn, &bounds); + if ((np2oscfg.winx != bounds.left) || (np2oscfg.winy != bounds.top)) { + np2oscfg.winx = bounds.left; + np2oscfg.winy = bounds.top; + sysmng_update(SYS_UPDATEOSCFG); + } + pccore_cfgupdate(); #if defined(USE_RESUME) @@ -909,7 +944,7 @@ static pascal OSStatus np2appevent (Even result = noErr; break; case kEventMouseDown: - if (buttonKind == kEventMouseButtonSecondary | modif & controlKey) { + if (buttonKind == kEventMouseButtonSecondary || modif & cmdKey) { mousemng_buttonevent(MOUSEMNG_RIGHTDOWN); } else { @@ -918,7 +953,7 @@ static pascal OSStatus np2appevent (Even result=noErr; break; case kEventMouseUp: - if (buttonKind == kEventMouseButtonSecondary | modif & controlKey) { + if (buttonKind == kEventMouseButtonSecondary || modif & cmdKey) { mousemng_buttonevent(MOUSEMNG_RIGHTUP); } else if (buttonKind == kEventMouseButtonTertiary) { @@ -1106,7 +1141,9 @@ static bool setupMainWindow(void) { } SizeWindow(hWndMain, 640, 400, TRUE); #endif - + if (np2oscfg.winx != -1 && np2oscfg.winy != -1) { + MoveWindow(hWndMain, np2oscfg.winx, np2oscfg.winy, false); + } setUpCarbonEvent(); if (backupwidth) scrnmng_setwidth(0, backupwidth); if (backupheight) scrnmng_setheight(0, backupheight); @@ -1131,6 +1168,8 @@ static void toggleFullscreen(void) { backupheight = bounds.bottom - bounds.top; toolwin = np2oscfg.toolwin; toolwin_close(); + np2oscfg.winx = bounds.left; + np2oscfg.winy = bounds.top; DisposeWindow(hWndMain); BeginFullScreen(&bkfullscreen, 0, &w, &h, &hWndMain, NULL, fullScreenAllowEvents); DisableMenuItem(menu, IDM_ROLNORMAL);