diff --git a/icon/iconset/nuvola/house-user.svg b/icon/iconset/nuvola/house-user.svg index 40af0666..8af6c886 100644 --- a/icon/iconset/nuvola/house-user.svg +++ b/icon/iconset/nuvola/house-user.svg @@ -1,183 +1,146 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/icon/iconset/nuvola/tasks.png b/icon/iconset/nuvola/tasks.png index 6b78c916..f6ebb75b 100644 Binary files a/icon/iconset/nuvola/tasks.png and b/icon/iconset/nuvola/tasks.png differ diff --git a/swad_changelog.h b/swad_changelog.h index 794d65d2..d6a395b7 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -548,13 +548,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 19.232 (2020-05-16)" +#define Log_PLATFORM_VERSION "SWAD 19.232.1 (2020-05-16)" #define CSS_FILE "swad19.230.1.css" #define JS_FILE "swad19.230.3.js" /* TODO: Comprobar si el directorio público que devuelve Ses_GetPublicDirFromCache sigue existiendo. // Si no existe, hay que crear un nuevo directorio y meterlo en cache + Version 19.232.1: May 16, 2020 Changes in contextual icons in bank of questions and test. (301004 lines) Version 19.232: May 16, 2020 New option to edit questions separated from tests. (301000 lines) Version 19.231: May 16, 2020 Fixed bugs and code refactoring in exam results. (300956 lines) Version 19.230.3: May 15, 2020 Update maths in exam prints when user answers. (301037 lines) diff --git a/swad_test.c b/swad_test.c index 75049914..5d52a437 100644 --- a/swad_test.c +++ b/swad_test.c @@ -154,7 +154,8 @@ static void Tst_ShowFormRequestSelectTestsForSet (struct Exa_Exams *Exams, static void Tst_ShowFormRequestSelectTestsForGame (struct Gam_Games *Games, struct Tst_Test *Test); static bool Tst_CheckIfICanEditTests (void); -static void Tst_PutIconsTests (void *Test); +static void Tst_PutIconsBankQsts (void *Test); +static void Tst_PutIconsTests (__attribute__((unused)) void *Args); static void Tst_PutButtonToAddQuestion (void); static long Tst_GetParamTagCode (void); @@ -359,7 +360,7 @@ static void Tst_FreeTagsList (struct Tst_Tags *Tags) static void Tst_ShowFormRequestTest (struct Tst_Test *Test) { extern const char *Hlp_ASSESSMENT_Tests; - extern const char *Txt_Take_a_test; + extern const char *Txt_Test; extern const char *Txt_Number_of_questions; extern const char *Txt_Generate_test; extern const char *Txt_No_test_questions; @@ -369,8 +370,8 @@ static void Tst_ShowFormRequestTest (struct Tst_Test *Test) TstCfg_GetConfigFromDB (); /***** Begin box *****/ - Box_BoxBegin (NULL,Txt_Take_a_test, - Tst_PutIconsTests,Test, + Box_BoxBegin (NULL,Txt_Test, + Tst_PutIconsTests,NULL, Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE); /***** Get tags *****/ @@ -1213,7 +1214,7 @@ static void Tst_ShowFormRequestEditTests (struct Tst_Test *Test) { extern const char *Hlp_ASSESSMENT_Tests_editing_questions; extern const char *Txt_No_test_questions; - extern const char *Txt_List_edit_questions; + extern const char *Txt_Question_bank; extern const char *Txt_Show_questions; MYSQL_RES *mysql_res; static const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME] = @@ -1228,8 +1229,8 @@ static void Tst_ShowFormRequestEditTests (struct Tst_Test *Test) Mnu_ContextMenuEnd (); /***** Begin box *****/ - Box_BoxBegin (NULL,Txt_List_edit_questions, - Tst_PutIconsTests,Test, + Box_BoxBegin (NULL,Txt_Question_bank, + Tst_PutIconsBankQsts,Test, Hlp_ASSESSMENT_Tests_editing_questions,Box_NOT_CLOSABLE); /***** Get tags already present in the table of questions *****/ @@ -1442,43 +1443,48 @@ static bool Tst_CheckIfICanEditTests (void) /********************* Put contextual icons in tests *************************/ /*****************************************************************************/ -static void Tst_PutIconsTests (void *Test) +static void Tst_PutIconsBankQsts (void *Test) { extern const char *Txt_New_question; - if (Tst_CheckIfICanEditTests ()) + /***** Put form to remove selected test questions *****/ + switch (Gbl.Action.Act) { - switch (Gbl.Action.Act) - { - case ActLstTstQst: // List selected test questions for edition - case ActReqRemSevTstQst: // Request removal of selected questions - case ActReqRemOneTstQst: // Request removal of a question - case ActRemOneTstQst: // Remove a question - case ActChgShfTstQst: // Change shuffle of a question - /***** Put form to remove selected test questions *****/ - Ico_PutContextualIconToRemove (ActReqRemSevTstQst, - Tst_PutParamsRemoveSelectedQsts,Test); - break; - default: - break; - } - - if (Gbl.Action.Act != ActEdiTstQst) - /***** Put form to edit existing test questions *****/ - Ico_PutContextualIconToEdit (ActEdiTstQst,NULL, - NULL,NULL); - - if (Gbl.Action.Act != ActEdiOneTstQst) - /***** Put form to create a new test question *****/ - Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL, - NULL,NULL, - Txt_New_question); - - /***** Put form to go to test configuration *****/ - Ico_PutContextualIconToConfigure (ActCfgTst, - NULL,NULL); + case ActLstTstQst: // List selected test questions for edition + case ActReqRemSevTstQst: // Request removal of selected questions + case ActReqRemOneTstQst: // Request removal of a question + case ActRemOneTstQst: // Remove a question + case ActChgShfTstQst: // Change shuffle of a question + Ico_PutContextualIconToRemove (ActReqRemSevTstQst, + Tst_PutParamsRemoveSelectedQsts,Test); + break; + default: + break; } + if (Gbl.Action.Act != ActEdiOneTstQst) + /***** Put form to create a new test question *****/ + Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL, + NULL,NULL, + Txt_New_question); + + /***** Put icon to show a figure *****/ + Fig_PutIconToShowFigure (Fig_TESTS); + } + + +/*****************************************************************************/ +/********************* Put contextual icons in tests *************************/ +/*****************************************************************************/ + +static void Tst_PutIconsTests (__attribute__((unused)) void *Args) + { + extern const char *Txt_New_question; + + /***** Put form to go to test configuration *****/ + Ico_PutContextualIconToConfigure (ActCfgTst, + NULL,NULL); + /***** Put icon to view test exams *****/ switch (Gbl.Usrs.Me.Role.Logged) { @@ -2032,7 +2038,7 @@ static void Tst_ShowFormConfigTst (void) /***** Begin box *****/ Box_BoxBegin (NULL,Txt_Configure_tests, - Tst_PutIconsTests,&Test, + Tst_PutIconsTests,NULL, Hlp_ASSESSMENT_Tests_configuring_tests,Box_NOT_CLOSABLE); /***** Begin form *****/ @@ -2758,7 +2764,7 @@ static void Tst_ListOneQstToEdit (struct Tst_Test *Test) /***** Begin box *****/ Box_BoxBegin (NULL,Txt_Questions, - Tst_PutIconsTests,Test, + Tst_PutIconsBankQsts,Test, Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE); /***** Write the heading *****/ @@ -2792,7 +2798,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (struct Tst_Test *Test, /***** Begin box *****/ Box_BoxBegin (NULL,Txt_Questions, - Tst_PutIconsTests,Test, + Tst_PutIconsBankQsts,Test, Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE); /***** Write the heading *****/ diff --git a/swad_text.c b/swad_text.c index 7fdac07b..b709eff5 100644 --- a/swad_text.c +++ b/swad_text.c @@ -18226,27 +18226,6 @@ const char *Txt_Link_to_announcement_of_exam = "Link para chamada para exame"; #endif -const char *Txt_List_edit_questions = -#if L==1 // ca - "Llistar / editar preguntes"; -#elif L==2 // de - "Liste / bearbeiten Fragen"; -#elif L==3 // en - "List / edit questions"; -#elif L==4 // es - "Listar / editar preguntas"; -#elif L==5 // fr - "Lister / modifier questions"; -#elif L==6 // gn - "Listar / editar preguntas"; // Okoteve traducción -#elif L==7 // it - "Elencare / modificare domande"; -#elif L==8 // pl - "Wyświetlić / edytować pytania"; -#elif L==9 // pt - "Listar / editar perguntas"; -#endif - const char *Txt_List_of_detailed_clicks = #if L==1 // ca "Listado de clics detallados"; // Necessita traduccio @@ -22038,7 +22017,28 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Testes" #endif , - // 6: ActSeeAllGam + // 6: ActSeeAllExa +#if L==1 // ca + "Exàmens" +#elif L==2 // de + "Prüfungen" +#elif L==3 // en + "Exams" +#elif L==4 // es + "Exámenes" +#elif L==5 // fr + "Examens" +#elif L==6 // gn + "Exámenes" // Okoteve traducción +#elif L==7 // it + "Esami" +#elif L==8 // pl + "Egzaminy" +#elif L==9 // pt + "Exames" +#endif + , + // 7: ActSeeAllGam #if L==1 // ca "Jocs (comandament a distància)" #elif L==2 // de @@ -22059,7 +22059,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Jogos (controlo remoto)" #endif , - // 7: ActSeeAllSvy + // 8: ActSeeAllSvy #if L==1 // ca "Enquestes anònimes" #elif L==2 // de @@ -22080,7 +22080,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Inquéritos" #endif , - NULL, // 8 NULL, // 9 NULL, // 10 NULL, // 11 @@ -32633,6 +32632,27 @@ const char *Txt_Question = "Pergunta"; #endif +const char *Txt_Question_bank = +#if L==1 // ca + "Banc de preguntes"; +#elif L==2 // de + "Fragenbank"; +#elif L==3 // en + "Question bank"; +#elif L==4 // es + "Banco de preguntas"; +#elif L==5 // fr + "Banque de questions"; +#elif L==6 // gn + "Banco de preguntas"; // Okoteve traducción +#elif L==7 // it + "Banca di domande"; +#elif L==8 // pl + "Bank pytań"; +#elif L==9 // pt + "Banco de perguntas"; +#endif + const char *Txt_Question_code_X = // Warning: it is very important to include %ld in the following sentences #if L==1 // ca "Pregunta amb codi %ld"; @@ -45467,27 +45487,6 @@ const char *Txt_Tags = // Tags used in test "Descritores"; #endif -const char *Txt_Take_a_test = -#if L==1 // ca - "Fer un test"; -#elif L==2 // de - "Führen Sie einen Test"; -#elif L==3 // en - "Take a test"; -#elif L==4 // es - "Hacer un test"; -#elif L==5 // fr - "Passer un test"; -#elif L==6 // gn - "Hacer un test"; // Okoteve traducción -#elif L==7 // it - "Fare un test"; -#elif L==8 // pl - "Zrób test"; -#elif L==9 // pt - "Fazer um teste"; -#endif - const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers" #if L==1 // ca "prof.";