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);