Version 15.185.4

This commit is contained in:
Antonio Cañas Vargas 2016-04-07 14:40:50 +02:00
parent 4c49a843cc
commit d47ae8c62c
6 changed files with 81 additions and 42 deletions

BIN
icon/contract64x64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

BIN
icon/expand64x64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

View File

@ -132,13 +132,18 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.185.2 (2016-04-07)" #define Log_PLATFORM_VERSION "SWAD 15.185.4 (2016-04-07)"
#define CSS_FILE "swad15.184.7.css" #define CSS_FILE "swad15.184.7.css"
#define JS_FILE "swad15.184.8.js" #define JS_FILE "swad15.184.8.js"
// Number of lines (includes comments but not blank lines) has been got with the following command: // Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/* /*
Version 15.185.4: Apr 07, 2016 Change in edition of a test question. (198832 lines)
Version 15.185.3: Apr 07, 2016 Changed icons to expand / contract. (198801 lines)
Copy file icon/expand64x64.png to icon directory
Copy file icon/contract64x64.png to icon directory
Version 15.185.2: Apr 07, 2016 Change in title of take a test. (198797 lines) Version 15.185.2: Apr 07, 2016 Change in title of take a test. (198797 lines)
Version 15.185.1: Apr 07, 2016 Change in title of edition of test questions. (198776 lines) Version 15.185.1: Apr 07, 2016 Change in title of edition of test questions. (198776 lines)
Version 15.185: Apr 07, 2016 Fixed bugs in edition of test questions. (198755 lines) Version 15.185: Apr 07, 2016 Fixed bugs in edition of test questions. (198755 lines)

View File

@ -5339,8 +5339,8 @@ static void Brw_PutIconPasteOff (void)
static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_t ExpandTree, static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_t ExpandTree,
const char *PathInTree,const char *FileName,const char *FileNameToShow) const char *PathInTree,const char *FileName,const char *FileNameToShow)
{ {
extern const char *Txt_Expand_FOLDER_X; extern const char *Txt_Expand;
extern const char *Txt_Contract_FOLDER_X; extern const char *Txt_Contract;
char Anchor[32]; char Anchor[32];
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -5379,8 +5379,8 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_
break; break;
} }
Brw_ParamListFiles (Brw_IS_FOLDER,PathInTree,FileName); Brw_ParamListFiles (Brw_IS_FOLDER,PathInTree,FileName);
sprintf (Gbl.Title,Txt_Expand_FOLDER_X,FileNameToShow); sprintf (Gbl.Title,"%s %s",Txt_Expand,FileNameToShow);
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/expand16x16.gif\"" fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/expand64x64.png\""
" alt=\"%s\" title=\"%s\"" " alt=\"%s\" title=\"%s\""
" class=\"ICON20x20B\" />", " class=\"ICON20x20B\" />",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
@ -5411,8 +5411,8 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_
break; break;
} }
Brw_ParamListFiles (Brw_IS_FOLDER,PathInTree,FileName); Brw_ParamListFiles (Brw_IS_FOLDER,PathInTree,FileName);
sprintf (Gbl.Title,Txt_Contract_FOLDER_X,FileNameToShow); sprintf (Gbl.Title,"%s %s",Txt_Contract,FileNameToShow);
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/contract16x16.gif\"" fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/contract64x64.png\""
" alt=\"%s\" title=\"%s\"" " alt=\"%s\" title=\"%s\""
" class=\"ICON20x20B\" />", " class=\"ICON20x20B\" />",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,

View File

@ -1601,7 +1601,7 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,
"<input type=\"checkbox\" name=\"AllTags\" value=\"Y\"", "<input type=\"checkbox\" name=\"AllTags\" value=\"Y\"",
The_ClassForm[Gbl.Prefs.Theme]); The_ClassForm[Gbl.Prefs.Theme]);
if (Gbl.Test.Tags.All) if (Gbl.Test.Tags.All)
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," onclick=\"togglecheckChildren(this,'ChkTag')\" />" fprintf (Gbl.F.Out," onclick=\"togglecheckChildren(this,'ChkTag')\" />"
" %s" " %s"
"</td>" "</td>"
@ -4372,6 +4372,8 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback)
extern const char *Txt_Real_number_between_A_and_B_2; extern const char *Txt_Real_number_between_A_and_B_2;
extern const char *Txt_TF_QST[2]; extern const char *Txt_TF_QST[2];
extern const char *Txt_Shuffle; extern const char *Txt_Shuffle;
extern const char *Txt_Expand;
extern const char *Txt_Contract;
extern const char *Txt_Save; extern const char *Txt_Save;
extern const char *Txt_Create_question; extern const char *Txt_Create_question;
char Title[512]; char Title[512];
@ -4633,6 +4635,11 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback)
{ {
Gbl.RowEvenOdd = NumOpt % 2; Gbl.RowEvenOdd = NumOpt % 2;
AnswerHasContent = false;
if (Gbl.Test.Answer.Options[NumOpt].Text)
if (Gbl.Test.Answer.Options[NumOpt].Text[0])
AnswerHasContent = true;
/***** Left column: selectors and letter of the answer *****/ /***** Left column: selectors and letter of the answer *****/
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s TEST_EDI_ANS_LEFT_COL COLOR%u\">" "<td class=\"%s TEST_EDI_ANS_LEFT_COL COLOR%u\">"
@ -4650,23 +4657,50 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback)
fprintf (Gbl.F.Out," disabled=\"disabled\""); fprintf (Gbl.F.Out," disabled=\"disabled\"");
if (Gbl.Test.Answer.Options[NumOpt].Correct) if (Gbl.Test.Answer.Options[NumOpt].Correct)
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," />" fprintf (Gbl.F.Out," />&nbsp;%c)&nbsp;",
"&nbsp;"
"<a href=\"\" class=\"%s\""
" onclick=\"toggleDisplay('answer_%u');return false;\" />"
"%c)"
"</a>"
"</td>",
The_ClassForm[Gbl.Prefs.Theme],
NumOpt,
'a' + (char) NumOpt); 'a' + (char) NumOpt);
/***** Right column: content of the answer *****/ // Icon to expand
AnswerHasContent = false; sprintf (Gbl.Title,"%s %c",Txt_Expand,'a' + (char) NumOpt);
if (Gbl.Test.Answer.Options[NumOpt].Text) fprintf (Gbl.F.Out,"<div id=\"expand_%u\"",
if (Gbl.Test.Answer.Options[NumOpt].Text[0]) NumOpt);
AnswerHasContent = true; if (AnswerHasContent) // Answer does not have content
fprintf (Gbl.F.Out," style=\"display:none;\""); // Hide icon
fprintf (Gbl.F.Out,">"
"<a href=\"\""
" onclick=\"toggleDisplay('answer_%u');toggleDisplay('expand_%u');toggleDisplay('contract_%u');return false;\" />"
"<img src=\"%s/expand64x64.png\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON20x20B\" />"
"</a>"
"</div>",
NumOpt,NumOpt,NumOpt,
Gbl.Prefs.IconsURL,
Gbl.Title,
Gbl.Title);
// Icon to contract
sprintf (Gbl.Title,"%s %c",Txt_Contract,'a' + (char) NumOpt);
fprintf (Gbl.F.Out,"<div id=\"contract_%u\"",
NumOpt);
if (!AnswerHasContent) // Answer does not have content
fprintf (Gbl.F.Out," style=\"display:none;\""); // Hide icon
fprintf (Gbl.F.Out,">"
"<a href=\"\""
" onclick=\"toggleDisplay('answer_%u');toggleDisplay('contract_%u');toggleDisplay('expand_%u');return false;\" />"
"<img src=\"%s/contract64x64.png\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON20x20B\" />"
"</a>"
"</div>",
NumOpt,NumOpt,NumOpt,
Gbl.Prefs.IconsURL,
Gbl.Title,
Gbl.Title);
fprintf (Gbl.F.Out,"</td>");
/***** Right column: content of the answer *****/
fprintf (Gbl.F.Out,"<td class=\"TEST_EDI_ANS_RIGHT_COL COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"TEST_EDI_ANS_RIGHT_COL COLOR%u\">"
"<div id=\"answer_%u\"", "<div id=\"answer_%u\"",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,

View File

@ -4995,25 +4995,25 @@ const char *Txt_Continue =
"Continuar"; "Continuar";
#endif #endif
const char *Txt_Contract_FOLDER_X = // Warning: it is very important to include %s in the following sentences const char *Txt_Contract = // As a verb
#if L==1 #if L==1
"Contreure %s"; "Contreure";
#elif L==2 #elif L==2
"Zusammenziehen %s"; "Zusammenziehen";
#elif L==3 #elif L==3
"Contract %s"; "Contract";
#elif L==4 #elif L==4
"Contraer %s"; "Contraer";
#elif L==5 #elif L==5
"Contracter %s"; "Contracter";
#elif L==6 #elif L==6
"Contraer %s"; // Okoteve traducción "Contraer"; // Okoteve traducción
#elif L==7 #elif L==7
"Contratto %s"; "Contratto";
#elif L==8 #elif L==8
"Umowy %s"; "Umowy";
#elif L==9 #elif L==9
"Contrair %s"; "Contrair";
#endif #endif
const char *Txt_Control_of_class_attendance = const char *Txt_Control_of_class_attendance =
@ -10943,25 +10943,25 @@ const char *Txt_Existing_question =
"Quest&atilde;o existente"; "Quest&atilde;o existente";
#endif #endif
const char *Txt_Expand_FOLDER_X = // Warning: it is very important to include %s in the following sentences const char *Txt_Expand =
#if L==1 #if L==1
"Expandir %s"; "Expandir";
#elif L==2 #elif L==2
"Erweitern %s"; "Erweitern";
#elif L==3 #elif L==3
"Expand %s"; "Expand";
#elif L==4 #elif L==4
"Expandir %s"; "Expandir";
#elif L==5 #elif L==5
"&Eacute;largir %s"; "&Eacute;largir";
#elif L==6 #elif L==6
"Expandir %s"; // Okoteve traducción "Expandir"; // Okoteve traducción
#elif L==7 #elif L==7
"Espandere %s"; "Espandere";
#elif L==8 #elif L==8
"Rozwin %s"; "Rozwin";
#elif L==9 #elif L==9
"Expandir %s"; "Expandir";
#endif #endif
const char *Txt_Export_questions = const char *Txt_Export_questions =