From bf07cc0c5232c7cd486fab118defa0815ff89183 Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Mon, 25 Jul 2011 21:58:58 +0200 Subject: [PATCH] Give WinBoard Game List its own font The font fort he Game List used to be shared with the Engine Output and Move History windows, but this made it impossible to use a figurine font in the latter two (which displays piece symbols for capitals) without messing up the Game List. An option -gameListFont has been added to specify the font for the Game List(and save it in the settings file), while a control for it is added in the fonts dialog. --- args.h | 1 + common.h | 3 ++- winboard/defaults.h | 1 + winboard/resource.h | 3 +++ winboard/wgamelist.c | 2 +- winboard/winboard.c | 37 +++++++++++++++++++------------------ winboard/winboard.h | 3 ++- winboard/winboard.rc | 15 ++++++++++----- winboard/woptions.c | 8 ++++++++ 9 files changed, 47 insertions(+), 26 deletions(-) diff --git a/args.h b/args.h index 61da040..3a6449f 100644 --- a/args.h +++ b/args.h @@ -323,6 +323,7 @@ ArgDescriptor argDescriptors[] = { { "commentFont", ArgFont, (void *) COMMENT_FONT, TRUE, INVALID }, { "icsFont", ArgFont, (void *) CONSOLE_FONT, TRUE, INVALID }, { "moveHistoryFont", ArgFont, (void *) MOVEHISTORY_FONT, TRUE, INVALID }, /* [AS] */ + { "gameListFont", ArgFont, (void *) GAMELIST_FONT, TRUE, INVALID }, /* [HGM] */ { "boardSize", ArgBoardSize, (void *) &boardSize, TRUE, (ArgIniType) -1 }, /* must come after all fonts */ { "size", ArgBoardSize, (void *) &boardSize, FALSE, INVALID }, diff --git a/common.h b/common.h index 2b5b684..6b3266f 100644 --- a/common.h +++ b/common.h @@ -180,7 +180,8 @@ int pclose(FILE *); #define COMMENT_FONT 4 #define EDITTAGS_FONT 5 #define MOVEHISTORY_FONT 6 -#define NUM_FONTS 7 +#define GAMELIST_FONT 7 +#define NUM_FONTS 8 /* Default to no flashing (the "usual" XBoard behavior) */ #define FLASH_COUNT 0 /* Number of times to flash */ diff --git a/winboard/defaults.h b/winboard/defaults.h index 573367a..07eab1e 100644 --- a/winboard/defaults.h +++ b/winboard/defaults.h @@ -185,6 +185,7 @@ #define EDITTAGS_FONT_TITANIC "Courier New:8.0" #define MOVEHISTORY_FONT_ALL "MS Sans Serif:8.0" +#define GAMELIST_FONT_ALL "MS Sans Serif:8.0" #define COLOR_SHOUT "#209000" #define COLOR_SSHOUT "b #289808" diff --git a/winboard/resource.h b/winboard/resource.h index 666e76e..91b0b3a 100644 --- a/winboard/resource.h +++ b/winboard/resource.h @@ -598,6 +598,9 @@ #define IDC_Variation 1952 #define IDC_DefGames 1953 #define GPB_Variant 1954 +#define OPT_MessageFont7 1955 +#define OPT_SampleGameListFont 1956 +#define OPT_ChooseGameListFont 1957 // Next default values for new objects diff --git a/winboard/wgamelist.c b/winboard/wgamelist.c index a496359..863725a 100644 --- a/winboard/wgamelist.c +++ b/winboard/wgamelist.c @@ -166,7 +166,7 @@ GameListDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) hwndText = GetDlgItem(hDlg, OPT_TagsText); /* Set font */ - SendDlgItemMessage( hDlg, OPT_GameListText, WM_SETFONT, (WPARAM)font[boardSize][MOVEHISTORY_FONT]->hf, MAKELPARAM(TRUE, 0 )); + SendDlgItemMessage( hDlg, OPT_GameListText, WM_SETFONT, (WPARAM)font[boardSize][GAMELIST_FONT]->hf, MAKELPARAM(TRUE, 0 )); count = GameListToListBox( hDlg, gameListDialog ? TRUE : FALSE, NULL, &stats ); diff --git a/winboard/winboard.c b/winboard/winboard.c index 87b1830..e2ba141 100644 --- a/winboard/winboard.c +++ b/winboard/winboard.c @@ -314,6 +314,7 @@ int dialogItems[][40] = { { DLG_Fonts, IDOK, IDCANCEL, OPT_ChooseClockFont, OPT_ChooseMessageFont, OPT_ChooseCoordFont, OPT_ChooseTagFont, OPT_ChooseCommentsFont, OPT_ChooseConsoleFont, OPT_ChooseMoveHistoryFont, OPT_DefaultFonts, OPT_ClockFont, OPT_MessageFont, OPT_CoordFont, OPT_EditTagsFont, + OPT_SampleGameListFont, OPT_ChooseGameListFont, OPT_MessageFont7, OPT_CommentsFont, OPT_MessageFont5, GPB_Current, GPB_All, OPT_MessageFont6 }, { DLG_NewGameFRC, IDC_NFG_Label, IDC_NFG_Random, IDOK, IDCANCEL }, { DLG_GameListOptions, IDC_GLT, IDC_GLT_Up, IDC_GLT_Down, IDC_GLT_Restore, @@ -520,24 +521,24 @@ SizeInfo sizeInfo[] = #define MF(x) {x, {{0,}, 0. }, {0, }, 0} MyFont fontRec[NUM_SIZES][NUM_FONTS] = { - { MF(CLOCK_FONT_TINY), MF(MESSAGE_FONT_TINY), MF(COORD_FONT_TINY), MF(CONSOLE_FONT_TINY), MF(COMMENT_FONT_TINY), MF(EDITTAGS_FONT_TINY), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_TEENY), MF(MESSAGE_FONT_TEENY), MF(COORD_FONT_TEENY), MF(CONSOLE_FONT_TEENY), MF(COMMENT_FONT_TEENY), MF(EDITTAGS_FONT_TEENY), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_DINKY), MF(MESSAGE_FONT_DINKY), MF(COORD_FONT_DINKY), MF(CONSOLE_FONT_DINKY), MF(COMMENT_FONT_DINKY), MF(EDITTAGS_FONT_DINKY), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_PETITE), MF(MESSAGE_FONT_PETITE), MF(COORD_FONT_PETITE), MF(CONSOLE_FONT_PETITE), MF(COMMENT_FONT_PETITE), MF(EDITTAGS_FONT_PETITE), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_SLIM), MF(MESSAGE_FONT_SLIM), MF(COORD_FONT_SLIM), MF(CONSOLE_FONT_SLIM), MF(COMMENT_FONT_SLIM), MF(EDITTAGS_FONT_SLIM), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_SMALL), MF(MESSAGE_FONT_SMALL), MF(COORD_FONT_SMALL), MF(CONSOLE_FONT_SMALL), MF(COMMENT_FONT_SMALL), MF(EDITTAGS_FONT_SMALL), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_MEDIOCRE), MF(MESSAGE_FONT_MEDIOCRE), MF(COORD_FONT_MEDIOCRE), MF(CONSOLE_FONT_MEDIOCRE), MF(COMMENT_FONT_MEDIOCRE), MF(EDITTAGS_FONT_MEDIOCRE), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_MIDDLING), MF(MESSAGE_FONT_MIDDLING), MF(COORD_FONT_MIDDLING), MF(CONSOLE_FONT_MIDDLING), MF(COMMENT_FONT_MIDDLING), MF(EDITTAGS_FONT_MIDDLING), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_AVERAGE), MF(MESSAGE_FONT_AVERAGE), MF(COORD_FONT_AVERAGE), MF(CONSOLE_FONT_AVERAGE), MF(COMMENT_FONT_AVERAGE), MF(EDITTAGS_FONT_AVERAGE), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_MODERATE), MF(MESSAGE_FONT_MODERATE), MF(COORD_FONT_MODERATE), MF(CONSOLE_FONT_MODERATE), MF(COMMENT_FONT_MODERATE), MF(EDITTAGS_FONT_MODERATE), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_MEDIUM), MF(MESSAGE_FONT_MEDIUM), MF(COORD_FONT_MEDIUM), MF(CONSOLE_FONT_MEDIUM), MF(COMMENT_FONT_MEDIUM), MF(EDITTAGS_FONT_MEDIUM), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_BULKY), MF(MESSAGE_FONT_BULKY), MF(COORD_FONT_BULKY), MF(CONSOLE_FONT_BULKY), MF(COMMENT_FONT_BULKY), MF(EDITTAGS_FONT_BULKY), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_LARGE), MF(MESSAGE_FONT_LARGE), MF(COORD_FONT_LARGE), MF(CONSOLE_FONT_LARGE), MF(COMMENT_FONT_LARGE), MF(EDITTAGS_FONT_LARGE), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_BIG), MF(MESSAGE_FONT_BIG), MF(COORD_FONT_BIG), MF(CONSOLE_FONT_BIG), MF(COMMENT_FONT_BIG), MF(EDITTAGS_FONT_BIG), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_HUGE), MF(MESSAGE_FONT_HUGE), MF(COORD_FONT_HUGE), MF(CONSOLE_FONT_HUGE), MF(COMMENT_FONT_HUGE), MF(EDITTAGS_FONT_HUGE), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_GIANT), MF(MESSAGE_FONT_GIANT), MF(COORD_FONT_GIANT), MF(CONSOLE_FONT_GIANT), MF(COMMENT_FONT_GIANT), MF(EDITTAGS_FONT_GIANT), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_COLOSSAL), MF(MESSAGE_FONT_COLOSSAL), MF(COORD_FONT_COLOSSAL), MF(CONSOLE_FONT_COLOSSAL), MF(COMMENT_FONT_COLOSSAL), MF(EDITTAGS_FONT_COLOSSAL), MF(MOVEHISTORY_FONT_ALL) }, - { MF(CLOCK_FONT_TITANIC), MF(MESSAGE_FONT_TITANIC), MF(COORD_FONT_TITANIC), MF(CONSOLE_FONT_TITANIC), MF(COMMENT_FONT_TITANIC), MF(EDITTAGS_FONT_TITANIC), MF(MOVEHISTORY_FONT_ALL) }, + { MF(CLOCK_FONT_TINY), MF(MESSAGE_FONT_TINY), MF(COORD_FONT_TINY), MF(CONSOLE_FONT_TINY), MF(COMMENT_FONT_TINY), MF(EDITTAGS_FONT_TINY), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_TEENY), MF(MESSAGE_FONT_TEENY), MF(COORD_FONT_TEENY), MF(CONSOLE_FONT_TEENY), MF(COMMENT_FONT_TEENY), MF(EDITTAGS_FONT_TEENY), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_DINKY), MF(MESSAGE_FONT_DINKY), MF(COORD_FONT_DINKY), MF(CONSOLE_FONT_DINKY), MF(COMMENT_FONT_DINKY), MF(EDITTAGS_FONT_DINKY), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_PETITE), MF(MESSAGE_FONT_PETITE), MF(COORD_FONT_PETITE), MF(CONSOLE_FONT_PETITE), MF(COMMENT_FONT_PETITE), MF(EDITTAGS_FONT_PETITE), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_SLIM), MF(MESSAGE_FONT_SLIM), MF(COORD_FONT_SLIM), MF(CONSOLE_FONT_SLIM), MF(COMMENT_FONT_SLIM), MF(EDITTAGS_FONT_SLIM), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_SMALL), MF(MESSAGE_FONT_SMALL), MF(COORD_FONT_SMALL), MF(CONSOLE_FONT_SMALL), MF(COMMENT_FONT_SMALL), MF(EDITTAGS_FONT_SMALL), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_MEDIOCRE), MF(MESSAGE_FONT_MEDIOCRE), MF(COORD_FONT_MEDIOCRE), MF(CONSOLE_FONT_MEDIOCRE), MF(COMMENT_FONT_MEDIOCRE), MF(EDITTAGS_FONT_MEDIOCRE), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_MIDDLING), MF(MESSAGE_FONT_MIDDLING), MF(COORD_FONT_MIDDLING), MF(CONSOLE_FONT_MIDDLING), MF(COMMENT_FONT_MIDDLING), MF(EDITTAGS_FONT_MIDDLING), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_AVERAGE), MF(MESSAGE_FONT_AVERAGE), MF(COORD_FONT_AVERAGE), MF(CONSOLE_FONT_AVERAGE), MF(COMMENT_FONT_AVERAGE), MF(EDITTAGS_FONT_AVERAGE), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_MODERATE), MF(MESSAGE_FONT_MODERATE), MF(COORD_FONT_MODERATE), MF(CONSOLE_FONT_MODERATE), MF(COMMENT_FONT_MODERATE), MF(EDITTAGS_FONT_MODERATE), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_MEDIUM), MF(MESSAGE_FONT_MEDIUM), MF(COORD_FONT_MEDIUM), MF(CONSOLE_FONT_MEDIUM), MF(COMMENT_FONT_MEDIUM), MF(EDITTAGS_FONT_MEDIUM), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_BULKY), MF(MESSAGE_FONT_BULKY), MF(COORD_FONT_BULKY), MF(CONSOLE_FONT_BULKY), MF(COMMENT_FONT_BULKY), MF(EDITTAGS_FONT_BULKY), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_LARGE), MF(MESSAGE_FONT_LARGE), MF(COORD_FONT_LARGE), MF(CONSOLE_FONT_LARGE), MF(COMMENT_FONT_LARGE), MF(EDITTAGS_FONT_LARGE), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_BIG), MF(MESSAGE_FONT_BIG), MF(COORD_FONT_BIG), MF(CONSOLE_FONT_BIG), MF(COMMENT_FONT_BIG), MF(EDITTAGS_FONT_BIG), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_HUGE), MF(MESSAGE_FONT_HUGE), MF(COORD_FONT_HUGE), MF(CONSOLE_FONT_HUGE), MF(COMMENT_FONT_HUGE), MF(EDITTAGS_FONT_HUGE), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_GIANT), MF(MESSAGE_FONT_GIANT), MF(COORD_FONT_GIANT), MF(CONSOLE_FONT_GIANT), MF(COMMENT_FONT_GIANT), MF(EDITTAGS_FONT_GIANT), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_COLOSSAL), MF(MESSAGE_FONT_COLOSSAL), MF(COORD_FONT_COLOSSAL), MF(CONSOLE_FONT_COLOSSAL), MF(COMMENT_FONT_COLOSSAL), MF(EDITTAGS_FONT_COLOSSAL), MF(MOVEHISTORY_FONT_ALL), MF (GAMELIST_FONT_ALL) }, + { MF(CLOCK_FONT_TITANIC), MF(MESSAGE_FONT_TITANIC), MF(COORD_FONT_TITANIC), MF(CONSOLE_FONT_TITANIC), MF(COMMENT_FONT_TITANIC), MF(EDITTAGS_FONT_TITANIC), MF(MOVEHISTORY_FONT_ALL), MF(GAMELIST_FONT_ALL) }, }; MyFont *font[NUM_SIZES][NUM_FONTS]; diff --git a/winboard/winboard.h b/winboard/winboard.h index e2e4182..115dd86 100644 --- a/winboard/winboard.h +++ b/winboard/winboard.h @@ -147,7 +147,8 @@ VOID LoadEnginePopUp(); #define COMMENT_FONT 4 #define EDITTAGS_FONT 5 #define MOVEHISTORY_FONT 6 -#define NUM_FONTS 7 +#define GAMELIST_FONT 7 +#define NUM_FONTS 8 /* Positions of some menu items. Origin is zero and separator lines count. */ /* It's gross that these are needed. */ diff --git a/winboard/winboard.rc b/winboard/winboard.rc index 9644570..aedb1c1 100644 --- a/winboard/winboard.rc +++ b/winboard/winboard.rc @@ -729,13 +729,13 @@ BEGIN PUSHBUTTON "Cancel",IDCANCEL,170,232,50,14 END -DLG_Fonts DIALOG DISCARDABLE 0, 0, 266, 226 +DLG_Fonts DIALOG DISCARDABLE 0, 0, 266, 250 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Fonts" FONT 8, "MS Sans Serif" BEGIN - DEFPUSHBUTTON "OK",IDOK,156,208,50,14 - PUSHBUTTON "Cancel",IDCANCEL,212,208,50,14 + DEFPUSHBUTTON "OK",IDOK,156,232,50,14 + PUSHBUTTON "Cancel",IDCANCEL,212,232,50,14 PUSHBUTTON "Choose...",OPT_ChooseClockFont,212,15,45,15 PUSHBUTTON "Choose...",OPT_ChooseMessageFont,212,39,45,15 PUSHBUTTON "Choose...",OPT_ChooseCoordFont,212,63,45,15 @@ -743,7 +743,8 @@ BEGIN PUSHBUTTON "Choose...",OPT_ChooseCommentsFont,212,125,45,15 PUSHBUTTON "Choose...",OPT_ChooseConsoleFont,212,149,45,15 PUSHBUTTON "Choose...",OPT_ChooseMoveHistoryFont,212,174,45,15 - PUSHBUTTON "&Defaults",OPT_DefaultFonts,3,208,50,15 + PUSHBUTTON "Choose...",OPT_ChooseGameListFont,212,198,45,15 + PUSHBUTTON "&Defaults",OPT_DefaultFonts,3,232,50,15 CONTROL "",OPT_SampleCoordFont,"RICHEDIT",ES_READONLY | WS_DISABLED | WS_BORDER,77,59,130,20 CONTROL "",OPT_SampleTagFont,"RICHEDIT",ES_READONLY | @@ -764,11 +765,15 @@ BEGIN CONTROL "",OPT_SampleMessageFont,"RICHEDIT",ES_READONLY | WS_DISABLED | WS_BORDER,77,35,130,20 GROUPBOX "Current Board Size",GPB_Current,3,1,259,83 - GROUPBOX "All Board Sizes",GPB_All,3,87,259,109 + GROUPBOX "All Board Sizes",GPB_All,3,87,259,133 CONTROL "",OPT_SampleMoveHistoryFont,"RICHEDIT",ES_READONLY | WS_DISABLED | WS_BORDER,77,170,130,20 LTEXT "Move History, Engine Output",OPT_MessageFont6,13,171,63,20,NOT WS_GROUP + CONTROL "",OPT_SampleGameListFont,"RICHEDIT",ES_READONLY | + WS_DISABLED | WS_BORDER,77,194,130,20 + LTEXT "Game List",OPT_MessageFont7,13,199,63,20,NOT + WS_GROUP END DLG_NewGameFRC DIALOG DISCARDABLE 0, 0, 176, 47 diff --git a/winboard/woptions.c b/winboard/woptions.c index 00aca12..a48b924 100644 --- a/winboard/woptions.c +++ b/winboard/woptions.c @@ -1551,6 +1551,7 @@ FontOptionsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) SetSampleFontText(hDlg, OPT_SampleCommentsFont, &workFont[COMMENT_FONT]); SetSampleFontText(hDlg, OPT_SampleConsoleFont, &workFont[CONSOLE_FONT]); SetSampleFontText(hDlg, OPT_SampleMoveHistoryFont, &workFont[MOVEHISTORY_FONT]); + SetSampleFontText(hDlg, OPT_SampleGameListFont, &workFont[GAMELIST_FONT]); firstPaint = FALSE; } break; @@ -1579,6 +1580,7 @@ FontOptionsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) CopyFont(font[i][CONSOLE_FONT], &workFont[CONSOLE_FONT]); CopyFont(font[i][COMMENT_FONT], &workFont[COMMENT_FONT]); CopyFont(font[i][MOVEHISTORY_FONT], &workFont[MOVEHISTORY_FONT]); + CopyFont(font[i][GAMELIST_FONT], &workFont[GAMELIST_FONT]); } /* end sad necessity */ @@ -1668,6 +1670,11 @@ FontOptionsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) SetSampleFontText(hDlg, OPT_SampleMoveHistoryFont, &workFont[MOVEHISTORY_FONT]); break; + case OPT_ChooseGameListFont: + MyCreateFont(hDlg, &workFont[GAMELIST_FONT]); + SetSampleFontText(hDlg, OPT_SampleGameListFont, &workFont[GAMELIST_FONT]); + break; + case OPT_DefaultFonts: for (i=0; i