diff --git a/icon/check-circle-regular-red.svg b/icon/check-circle-regular-red.svg new file mode 100644 index 00000000..ba001cbf --- /dev/null +++ b/icon/check-circle-regular-red.svg @@ -0,0 +1 @@ + diff --git a/icon/check-circle-regular.svg b/icon/check-circle-regular.svg new file mode 100644 index 00000000..771827df --- /dev/null +++ b/icon/check-circle-regular.svg @@ -0,0 +1 @@ + diff --git a/icon/file-alt-green.svg b/icon/file-alt-green.svg new file mode 100644 index 00000000..009ad980 --- /dev/null +++ b/icon/file-alt-green.svg @@ -0,0 +1 @@ + diff --git a/icon/file-alt-red.svg b/icon/file-alt-red.svg new file mode 100644 index 00000000..f2b591ca --- /dev/null +++ b/icon/file-alt-red.svg @@ -0,0 +1 @@ + diff --git a/icon/file-alt-regular-red.svg b/icon/file-alt-regular-red.svg new file mode 100644 index 00000000..6985713f --- /dev/null +++ b/icon/file-alt-regular-red.svg @@ -0,0 +1 @@ + diff --git a/icon/file-signature-green.svg b/icon/file-signature-green.svg new file mode 100644 index 00000000..3ac0c182 --- /dev/null +++ b/icon/file-signature-green.svg @@ -0,0 +1 @@ + diff --git a/icon/file-signature-red.svg b/icon/file-signature-red.svg new file mode 100644 index 00000000..184596cc --- /dev/null +++ b/icon/file-signature-red.svg @@ -0,0 +1 @@ + diff --git a/icon/file-signature.svg b/icon/file-signature.svg new file mode 100644 index 00000000..bddd6af1 --- /dev/null +++ b/icon/file-signature.svg @@ -0,0 +1 @@ + diff --git a/icon/spell-check-red.svg b/icon/spell-check-red.svg new file mode 100644 index 00000000..a887b89a --- /dev/null +++ b/icon/spell-check-red.svg @@ -0,0 +1 @@ + diff --git a/icon/spell-check.svg b/icon/spell-check.svg new file mode 100644 index 00000000..a02d9efa --- /dev/null +++ b/icon/spell-check.svg @@ -0,0 +1 @@ + diff --git a/icon/tasks-red.svg b/icon/tasks-red.svg new file mode 100644 index 00000000..38ab9c4b --- /dev/null +++ b/icon/tasks-red.svg @@ -0,0 +1 @@ + diff --git a/swad_changelog.h b/swad_changelog.h index dae8b828..4e84518a 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -497,7 +497,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 19.128.2 (2020-02-19)" +#define Log_PLATFORM_VERSION "SWAD 19.128.3 (2020-02-19)" #define CSS_FILE "swad19.118.css" #define JS_FILE "swad19.91.1.js" /* @@ -522,6 +522,22 @@ Param // TODO: Get visibility IN API function getGames // TODO: Sugerencia de Jesús González Peñalver: añadir un poco más de espacio entre pregunta y pregunta en las opciones de un juego + Version 19.128.3: Feb 18, 2020 Changes in match results. (279151 lines) + Copy the following icons to icon public directory: +sudo cp -a icon/file-alt.svg /var/www/html/swad/icon/ +sudo cp -a icon/file-signature.svg /var/www/html/swad/icon/ +sudo cp -a icon/spell-check.svg /var/www/html/swad/icon/ +sudo cp -a icon/tasks.svg /var/www/html/swad/icon/ +sudo cp -a icon/check-circle-regular.svg /var/www/html/swad/icon/ +sudo cp -a icon/file-alt-red.svg /var/www/html/swad/icon/ +sudo cp -a icon/file-alt-green.svg /var/www/html/swad/icon/ +sudo cp -a icon/file-signature-red.svg /var/www/html/swad/icon/ +sudo cp -a icon/file-signature-green.svg /var/www/html/swad/icon/ +sudo cp -a icon/file-alt-regular-red.svg /var/www/html/swad/icon/ +sudo cp -a icon/spell-check-red.svg /var/www/html/swad/icon/ +sudo cp -a icon/tasks-red.svg /var/www/html/swad/icon/ +sudo cp -a icon/check-circle-regular-red.svg /var/www/html/swad/icon/ + Version 19.128.2: Feb 18, 2020 Changes in match results. (279119 lines) Version 19.128.1: Feb 18, 2020 Changes in match results. (279117 lines) Version 19.128: Feb 18, 2020 Changes in match results. (279175 lines) diff --git a/swad_game.c b/swad_game.c index 07092256..d66971c0 100644 --- a/swad_game.c +++ b/swad_game.c @@ -525,7 +525,7 @@ static void Gam_ShowOneGame (struct Game *Game,bool ShowOnlyThisGame) HTM_Double (Game->MaxGrade); HTM_BR (); HTM_TxtColonNBSP (Txt_Result_visibility); - TsV_ShowVisibilityIcons (Game->Visibility); + TsV_ShowVisibilityIcons (Game->Visibility,Game->Hidden); HTM_DIV_End (); /***** Number of matches in game *****/ diff --git a/swad_icon.c b/swad_icon.c index 83474dea..f330d1c2 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -407,9 +407,14 @@ void Ico_PutSettingIconLink (const char *Icon,const char *Title) } /*****************************************************************************/ -/********************** Put an inactive/disabled icon ************************/ +/********************* Put an active or disabled icon ************************/ /*****************************************************************************/ +void Ico_PutIconOn (const char *Icon,const char *Title) + { + Ico_PutIcon (Icon,Title,"CONTEXT_OPT CONTEXT_ICO_16x16"); + } + void Ico_PutIconOff (const char *Icon,const char *Title) { Ico_PutIcon (Icon,Title,"CONTEXT_OPT ICO_HIDDEN CONTEXT_ICO_16x16"); diff --git a/swad_icon.h b/swad_icon.h index db26c23b..9cc11920 100644 --- a/swad_icon.h +++ b/swad_icon.h @@ -78,6 +78,7 @@ void Ico_PutDivIconLink (const char *DivClass,const char *Icon,const char *Title void Ico_PutIconLink (const char *Icon,const char *Title); void Ico_PutIconTextLink (const char *Icon,const char *Text); void Ico_PutSettingIconLink (const char *Icon,const char *Title); +void Ico_PutIconOn (const char *Icon,const char *Title); void Ico_PutIconOff (const char *Icon,const char *Title); void Ico_PutIcon (const char *Icon,const char *Title,const char *Class); diff --git a/swad_test_visibility.c b/swad_test_visibility.c index 31ad3038..937a7316 100644 --- a/swad_test_visibility.c +++ b/swad_test_visibility.c @@ -54,24 +54,6 @@ extern struct Globals Gbl; /************************* Private global variables **************************/ /*****************************************************************************/ -static const char *TsV_Icons[TsV_NUM_ITEMS_VISIBILITY][2] = - { - [TsV_VISIBLE_QST_ANS_TXT ][0] = "file-regular-red.svg", - [TsV_VISIBLE_QST_ANS_TXT ][1] = "file-alt-regular-green.svg", - - [TsV_VISIBLE_FEEDBACK_TXT ][0] = "file-regular-red.svg", - [TsV_VISIBLE_FEEDBACK_TXT ][1] = "file-alt-regular-green.svg", - - [TsV_VISIBLE_CORRECT_ANSWER][0] = "spell-red.svg", - [TsV_VISIBLE_CORRECT_ANSWER][1] = "spell-check-green.svg", - - [TsV_VISIBLE_EACH_QST_SCORE][0] = "list-ul-red.svg", - [TsV_VISIBLE_EACH_QST_SCORE][1] = "tasks-green.svg", - - [TsV_VISIBLE_TOTAL_SCORE ][0] = "circle-regular-red.svg", - [TsV_VISIBLE_TOTAL_SCORE ][1] = "check-circle-regular-green.svg", - }; - /*****************************************************************************/ /***************************** Private prototypes ****************************/ /*****************************************************************************/ @@ -80,26 +62,44 @@ static const char *TsV_Icons[TsV_NUM_ITEMS_VISIBILITY][2] = /******************************* Show visibility *****************************/ /*****************************************************************************/ -void TsV_ShowVisibilityIcons (unsigned SelectedVisibility) +void TsV_ShowVisibilityIcons (unsigned SelectedVisibility,bool Hidden) { extern const char *Txt_TST_STR_VISIBILITY[TsV_NUM_ITEMS_VISIBILITY]; extern const char *Txt_TST_HIDDEN_VISIBLE[2]; + static const char *Icons[TsV_NUM_ITEMS_VISIBILITY][2] = + { + [TsV_VISIBLE_QST_ANS_TXT ][false] = "file-alt-red.svg", + [TsV_VISIBLE_QST_ANS_TXT ][true ] = "file-alt-green.svg", + + [TsV_VISIBLE_FEEDBACK_TXT ][false] = "file-signature-red.svg", + [TsV_VISIBLE_FEEDBACK_TXT ][true ] = "file-signature-green.svg", + + [TsV_VISIBLE_CORRECT_ANSWER][false] = "spell-check-red.svg", + [TsV_VISIBLE_CORRECT_ANSWER][true ] = "spell-check-green.svg", + + [TsV_VISIBLE_EACH_QST_SCORE][false] = "tasks-red.svg", + [TsV_VISIBLE_EACH_QST_SCORE][true ] = "tasks-green.svg", + + [TsV_VISIBLE_TOTAL_SCORE ][false] = "check-circle-regular-red.svg", + [TsV_VISIBLE_TOTAL_SCORE ][true ] = "check-circle-regular-green.svg", + }; TsV_Visibility_t Visibility; - unsigned ItemVisible; + bool ItemVisible; char *Title; for (Visibility = (TsV_Visibility_t) 0; Visibility <= (TsV_Visibility_t) (TsV_NUM_ITEMS_VISIBILITY - 1); Visibility++) { - ItemVisible = (SelectedVisibility & (1 << Visibility)) == 0 ? 0 : - 1; + ItemVisible = (SelectedVisibility & (1 << Visibility)) != 0; if (asprintf (&Title,"%s: %s", Txt_TST_STR_VISIBILITY[Visibility], Txt_TST_HIDDEN_VISIBLE[ItemVisible]) < 0) Lay_NotEnoughMemoryExit (); - Ico_PutIconOff (TsV_Icons[Visibility][ItemVisible], - Title); + if (ItemVisible && !Hidden) + Ico_PutIconOn (Icons[Visibility][ItemVisible],Title); + else + Ico_PutIconOff (Icons[Visibility][ItemVisible],Title); free (Title); } } @@ -111,18 +111,29 @@ void TsV_ShowVisibilityIcons (unsigned SelectedVisibility) void TsV_PutVisibilityCheckboxes (unsigned SelectedVisibility) { extern const char *Txt_TST_STR_VISIBILITY[TsV_NUM_ITEMS_VISIBILITY]; + static const char *Icons[TsV_NUM_ITEMS_VISIBILITY] = + { + [TsV_VISIBLE_QST_ANS_TXT ] = "file-alt.svg", + [TsV_VISIBLE_FEEDBACK_TXT ] = "file-signature.svg", + [TsV_VISIBLE_CORRECT_ANSWER] = "spell-check.svg", + [TsV_VISIBLE_EACH_QST_SCORE] = "tasks.svg", + [TsV_VISIBLE_TOTAL_SCORE ] = "check-circle-regular.svg", + }; TsV_Visibility_t Visibility; + bool ItemVisible; for (Visibility = (TsV_Visibility_t) 0; Visibility <= (TsV_Visibility_t) (TsV_NUM_ITEMS_VISIBILITY - 1); Visibility++) { + ItemVisible = (SelectedVisibility & (1 << Visibility)) != 0; HTM_LABEL_Begin ("class=\"DAT\""); HTM_INPUT_CHECKBOX ("Visibility",false, "value=\"%u\"%s", (unsigned) Visibility, - (SelectedVisibility & (1 << Visibility)) != 0 ? " checked=\"checked\"" : - ""); + ItemVisible ? " checked=\"checked\"" : + ""); + Ico_PutIconOn (Icons[Visibility],Txt_TST_STR_VISIBILITY[Visibility]); HTM_Txt (Txt_TST_STR_VISIBILITY[Visibility]); HTM_LABEL_End (); HTM_BR (); diff --git a/swad_test_visibility.h b/swad_test_visibility.h index 92e03b63..cecaa440 100644 --- a/swad_test_visibility.h +++ b/swad_test_visibility.h @@ -54,7 +54,7 @@ typedef enum /***************************** Public prototypes *****************************/ /*****************************************************************************/ -void TsV_ShowVisibilityIcons (unsigned SelectedVisibility); +void TsV_ShowVisibilityIcons (unsigned SelectedVisibility,bool Hidden); void TsV_PutVisibilityCheckboxes (unsigned SelectedVisibility); unsigned TsV_GetVisibilityFromForm (void); unsigned TsV_GetVisibilityFromStr (const char *Str);