From: H.G.Muller Date: Fri, 1 Apr 2016 07:13:51 +0000 (+0200) Subject: Let font entries show preview of their own setting X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=d57379116670e685638d980aa8432b3371f70f0a;p=xboard.git Let font entries show preview of their own setting The font settings are now applied to the text entries in the Fonts dialog that control them, at popup of the dialog as well as when changing them through the buttons. --- diff --git a/dialogs.c b/dialogs.c index 6239e6b..fe8f8cc 100644 --- a/dialogs.c +++ b/dialogs.c @@ -1629,8 +1629,7 @@ FontsOK (int n) { extern Option historyOptions[], engoutOptions[], gamesOptions[]; int i; - ApplyFont(&mainOptions[W_WHITE], appData.clockFont); - ApplyFont(&mainOptions[W_BLACK], appData.clockFont); + DisplayBothClocks(); ApplyFont(&mainOptions[W_MESSG], NULL); for(i=1; i<6; i++) ApplyFont(&mainOptions[W_BUTTON+i], NULL); ApplyFont(&tagsOptions[1], NULL); @@ -1643,37 +1642,37 @@ FontsOK (int n) } static Option fontOptions[] = { - { 0, 0, 70, NULL, (void*) &appData.clockFont, "", NULL, TextBox, N_("Clocks:") }, + { 0, 60, 200, NULL, (void*) &appData.clockFont, NULL, NULL, TextBox, N_("Clocks:") }, { 1, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("+") }, { 2, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("-") }, { 3, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("B") }, { 4, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("I") }, - { 0, 0, 70, NULL, (void*) &appData.font, "", NULL, TextBox, N_("Message (above board):") }, + { 0, 60, 70, NULL, (void*) &appData.font, NULL, NULL, TextBox, N_("Message (above board):") }, { 1, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("+") }, { 2, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("-") }, { 3, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("B") }, { 4, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("I") }, - { 0, 0, 70, NULL, (void*) &appData.coordFont, "", NULL, TextBox, N_("Board coordinates:") }, + { 0, 60, 70, NULL, (void*) &appData.coordFont, NULL, NULL, TextBox, N_("Board coordinates:") }, { 1, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("+") }, { 2, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("-") }, { 3, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("B") }, { 4, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("I") }, - { 0, 0, 70, NULL, (void*) &appData.tagsFont, "", NULL, TextBox, N_("Edit tags / book / engine list:") }, + { 0, 60, 70, NULL, (void*) &appData.tagsFont, NULL, NULL, TextBox, N_("Edit tags / book / engine list:") }, { 1, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("+") }, { 2, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("-") }, { 3, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("B") }, { 4, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("I") }, - { 0, 0, 70, NULL, (void*) &appData.commentFont, "", NULL, TextBox, N_("Edit comments:") }, + { 0, 60, 70, NULL, (void*) &appData.commentFont, NULL, NULL, TextBox, N_("Edit comments:") }, { 1, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("+") }, { 2, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("-") }, { 3, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("B") }, { 4, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("I") }, - { 0, 0, 70, NULL, (void*) &appData.historyFont, "", NULL, TextBox, N_("Move history / Engine Output:") }, + { 0, 60, 70, NULL, (void*) &appData.historyFont, NULL, NULL, TextBox, N_("Move history / Engine Output:") }, { 1, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("+") }, { 2, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("-") }, { 3, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("B") }, { 4, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("I") }, - { 0, 0, 70, NULL, (void*) &appData.gameListFont, "", NULL, TextBox, N_("Game list:") }, + { 0, 60, 70, NULL, (void*) &appData.gameListFont, NULL, NULL, TextBox, N_("Game list:") }, { 1, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("+") }, { 2, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("-") }, { 3, SAME_ROW, 0, NULL, (void*) &AdjustFont, NULL, NULL, Button, N_("B") }, @@ -1687,15 +1686,17 @@ static char name[MSG_SIZ], *bold, *ital, points; static void BreakUp (char *font) { - char *p = name; + char *p = name, *norm; safeStrCpy(name, font, MSG_SIZ); bold = StrCaseStr(name, "bold"); ital = StrCaseStr(name, "ital"); + norm = StrCaseStr(name, "normal"); points = 0; while(p && *p && !(points = atoi(p))) p = strchr(p+1, ' '); if(points) p[*p == ' '] = 0; if(bold) *bold = 0; if(ital) *ital = 0; + if(norm) *norm = 0; } static void @@ -1703,7 +1704,8 @@ Collect () { if(bold) strcat(name, "Bold "); if(ital) strcat(name, "Italic "); - if(points) sprintf(name + strlen(name), " %d", points); else strcat(name, "%d"); + if(!ital && !bold && strlen(name) < 2) strncpy(name, "Normal ", MSG_SIZ); + if(points) sprintf(name + strlen(name), "%d", points); else strcat(name, "%d"); } static void @@ -1721,7 +1723,7 @@ AdjustFont (int n) } Collect(); SetWidgetText(&fontOptions[base], name, TransientDlg); -// ApplyFont(&fontOptions[base], name); + ApplyFont(&fontOptions[base], name); } void @@ -1729,7 +1731,7 @@ FontsProc () { int i; GenericPopUp(fontOptions, _("Fonts"), TransientDlg, BoardWindow, MODAL, 0); -// for(i=0; i<6; i++) ApplyFont(&fontOptions[5*i], *(char**)fontOptions[5*i].target); + for(i=0; i<6; i++) ApplyFont(&fontOptions[5*i], *(char**)fontOptions[5*i].target); } //------------------------------------------------------ Time Control ----------------------------------- diff --git a/gtk/xoptions.c b/gtk/xoptions.c index 4f68db7..c4c4bd7 100644 --- a/gtk/xoptions.c +++ b/gtk/xoptions.c @@ -279,10 +279,9 @@ ApplyFont (Option *opt, char *font) case ListBox: case Label: w = opt->handle; break; case Button: if(opt->handle) w = gtk_bin_get_child(GTK_BIN(opt->handle)); break; - case TextBox: w = opt->textValue; break; + case TextBox: w = opt->textValue; if(!w) w = opt->handle; break; default: ; } -printf("set font %s\n", font); if(w && font) SetWidgetFont(w, &font); }