X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwinboard.c;h=81aa0fb2015596aab8d0eb25c501ecad53b6e2aa;hb=36fca099ff6d67b7df504606ffa15e8e5e8c66bb;hp=4cb6ef44c8ac7a416a56be34e67ca92a7d4a930f;hpb=18fc21bfe47cf80d294fffc22eb00d7f4384cd62;p=xboard.git diff --git a/winboard/winboard.c b/winboard/winboard.c index 4cb6ef4..81aa0fb 100644 --- a/winboard/winboard.c +++ b/winboard/winboard.c @@ -497,6 +497,7 @@ static int fromX = -1, fromY = -1, toX, toY; // [HGM] moved upstream, so JAWS ca #include "jaws.c" #else #define JAWS_INIT +#define JAWS_ARGS #define JAWS_ALT_INTERCEPT #define JAWS_KB_NAVIGATION #define JAWS_MENU_ITEMS @@ -878,6 +879,7 @@ InitInstance(HINSTANCE hInstance, int nCmdShow, LPSTR lpCmdLine) ShowWindow(hwndConsole, nCmdShow); } if(!appData.noGUI) UpdateWindow(hwnd); else ShowWindow(hwnd, SW_MINIMIZE); + if(gameListDialog) SetFocus(gameListDialog); // [HGM] jaws: for if we clicked multi-game game file return TRUE; @@ -919,6 +921,7 @@ ArgDescriptor argDescriptors[] = { { "loadGameFile", ArgFilename, (LPVOID) &appData.loadGameFile, FALSE }, { "", ArgNone, NULL }, /* keyword arguments */ + JAWS_ARGS { "whitePieceColor", ArgColor, (LPVOID) &whitePieceColor, TRUE }, { "wpc", ArgColor, (LPVOID) &whitePieceColor, FALSE }, { "blackPieceColor", ArgColor, (LPVOID) &blackPieceColor, TRUE }, @@ -6131,6 +6134,12 @@ WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) DrawPosition(FALSE, NULL); break; + case IDM_MuteSounds: + mute = !mute; // [HGM] mute: keep track of global muting variable + CheckMenuItem(GetMenu(hwndMain),IDM_MuteSounds, + MF_BYCOMMAND|(mute?MF_CHECKED:MF_UNCHECKED)); + break; + case IDM_GeneralOptions: GeneralOptionsPopup(hwnd); DrawPosition(TRUE, NULL); @@ -6690,6 +6699,7 @@ MyPlaySound(MySound *ms) { BOOLEAN ok = FALSE; + if(mute) return TRUE; // [HGM] mute: suppress all sound play when muted switch (ms->name[0]) { case NULLCHAR: if(appData.debugMode) fprintf(debugFP, "silence\n"); @@ -9408,6 +9418,7 @@ static GLT_Item GLT_ItemInfo[] = { { GLT_TIME_CONTROL,"Time Control" }, { GLT_VARIANT, "Variant" }, { GLT_OUT_OF_BOOK,PGN_OUT_OF_BOOK }, + { GLT_RESULT_COMMENT, "Result Comment" }, // [HGM] rescom { 0, 0 } }; @@ -9869,6 +9880,7 @@ ScheduleDelayedEvent(DelayedEventCallback cb, long millisec) } KillTimer(hwndMain, delayedTimerEvent); delayedTimerEvent = 0; + if(delayedTimerCallback != cb) // [HGM] alive: do not "flush" same event, just postpone it delayedTimerCallback(); } delayedTimerCallback = cb;