diff --git a/css/swad18.31.css b/css/swad18.32.css
similarity index 99%
rename from css/swad18.31.css
rename to css/swad18.32.css
index 8865aca8..03102a72 100644
--- a/css/swad18.31.css
+++ b/css/swad18.32.css
@@ -1123,6 +1123,7 @@ a:hover /* Default ==> underlined */
.CONNECTED_LIST
{
box-sizing:border-box;
+ width:100%;
margin-top:2px;
padding-top:2px;
border-style:solid;
@@ -1153,7 +1154,7 @@ a:hover /* Default ==> underlined */
}
.CON_USR_WIDE
{
- width:320px;
+ width:340px;
text-align:left;
vertical-align:middle;
}
@@ -1166,7 +1167,7 @@ a:hover /* Default ==> underlined */
}
.CON_NAME_WIDE
{
- max-width:320px;
+ max-width:340px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
@@ -1595,18 +1596,15 @@ a:hover /* Default ==> underlined */
text-align:center;
vertical-align:top;
}
-/*
-.CONTEXT_ICO
+.CONTEXT_ICO_16x16
{
width:16px;
height:16px;
margin-top:-2px;
vertical-align:middle;
}
-*/
-.CONTEXT_ICO
+.CONTEXT_ICO_x16
{
- /* width:16px; */
height:16px;
margin-top:-2px;
vertical-align:middle;
diff --git a/swad_ID.c b/swad_ID.c
index b36c3a30..7e37fad0 100644
--- a/swad_ID.c
+++ b/swad_ID.c
@@ -498,8 +498,9 @@ static void ID_PutLinkToConfirmID (struct UsrData *UsrDat,unsigned NumID,
UsrDat->IDs.List[NumID].ID);
/***** Put link *****/
- Ico_PutIconLink ("check.svg",Txt_Confirm_ID,Txt_Confirm_ID,
- The_ClassFormBold[Gbl.Prefs.Theme],NULL);
+ Frm_LinkFormSubmit (Txt_Confirm_ID,The_ClassFormBold[Gbl.Prefs.Theme],NULL);
+ Ico_PutIconWithText ("check.svg",Txt_Confirm_ID,Txt_Confirm_ID);
+ fprintf (Gbl.F.Out,"");
/***** End form *****/
Frm_EndForm ();
diff --git a/swad_QR.c b/swad_QR.c
index d78e522b..b470360c 100644
--- a/swad_QR.c
+++ b/swad_QR.c
@@ -69,10 +69,9 @@ void QR_PutLinkToPrintQRCode (Act_Action_t Action,void (*FuncParams) ())
extern const char *Txt_QR_code;
/***** Link to print QR *****/
- Lay_PutContextualLink (Action,NULL,FuncParams,
- "qrcode.svg",
- Txt_QR_code,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (Action,NULL,FuncParams,
+ "qrcode.svg",
+ Txt_QR_code);
}
/*****************************************************************************/
diff --git a/swad_account.c b/swad_account.c
index e7f9da47..ee18ba83 100644
--- a/swad_account.c
+++ b/swad_account.c
@@ -97,10 +97,10 @@ void Acc_PutLinkToCreateAccount (void)
{
extern const char *Txt_Create_account;
- Lay_PutContextualLink (ActFrmMyAcc,NULL,NULL,
- "at.svg",
- Txt_Create_account,Txt_Create_account,
- NULL);
+ Lay_PutContextualLinkIconText (ActFrmMyAcc,NULL,NULL,
+ "at.svg",
+ Txt_Create_account,
+ Txt_Create_account);
}
/*****************************************************************************/
@@ -532,10 +532,10 @@ void Acc_PutLinkToRemoveMyAccount (void)
extern const char *Txt_Remove_account;
if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Me.UsrDat.UsrCod))
- Lay_PutContextualLink (ActReqRemMyAcc,NULL,Acc_PutParamsToRemoveMyAccount,
- "trash.svg",
- Txt_Remove_account,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActReqRemMyAcc,NULL,
+ Acc_PutParamsToRemoveMyAccount,
+ "trash.svg",
+ Txt_Remove_account);
}
static void Acc_PutParamsToRemoveMyAccount (void)
@@ -1213,10 +1213,9 @@ void Acc_PutIconToChangeUsrAccount (void)
/***** Link for changing the account *****/
if (ItsMe)
- Lay_PutContextualLink (ActFrmMyAcc,NULL,NULL,
- "at.svg",
- Txt_Change_account,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActFrmMyAcc,NULL,NULL,
+ "at.svg",
+ Txt_Change_account);
else // Not me
if (Usr_ICanEditOtherUsr (Gbl.Record.UsrDat))
{
@@ -1233,9 +1232,9 @@ void Acc_PutIconToChangeUsrAccount (void)
NextAction = ActFrmAccOth;
break;
}
- Lay_PutContextualLink (NextAction,NULL,Rec_PutParamUsrCodEncrypted,
- "at.svg",
- Txt_Change_account,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "at.svg",
+ Txt_Change_account);
}
}
diff --git a/swad_agenda.c b/swad_agenda.c
index 8c1f2a61..13368672 100644
--- a/swad_agenda.c
+++ b/swad_agenda.c
@@ -199,14 +199,8 @@ static void Agd_ShowFormToSelPast__FutureEvents (void)
Gbl.Agenda.HiddenVisiblEvents,
Gbl.Agenda.CurrentPage,
-1L);
-
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Image[PstFut],
- Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut],
- Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]);
+ Ico_PutPrefIconLink (Image[PstFut],
+ Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -241,14 +235,8 @@ static void Agd_ShowFormToSelPrivatPublicEvents (void)
Gbl.Agenda.HiddenVisiblEvents,
Gbl.Agenda.CurrentPage,
-1L);
-
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Image[PrvPub],
- Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub],
- Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]);
+ Ico_PutPrefIconLink (Image[PrvPub],
+ Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -283,14 +271,8 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (void)
Gbl.Agenda.HiddenVisiblEvents ^ (1 << HidVis), // Toggle
Gbl.Agenda.CurrentPage,
-1L);
-
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Image[HidVis],
- Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis],
- Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]);
+ Ico_PutPrefIconLink (Image[HidVis],
+ Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -686,26 +668,23 @@ static void Agd_PutIconsOtherPublicAgenda (void)
/***** Button to view user's public profile *****/
if (Pri_ShowingIsAllowed (Gbl.Usrs.Other.UsrDat.ProfileVisibility,
&Gbl.Usrs.Other.UsrDat))
- Lay_PutContextualLink (ActSeeOthPubPrf,NULL,
- Usr_PutParamOtherUsrCodEncrypted,
- "user.svg",
- Txt_Another_user_s_profile,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL,
+ Usr_PutParamOtherUsrCodEncrypted,
+ "user.svg",
+ Txt_Another_user_s_profile);
/***** Button to view user's record card *****/
if (Usr_CheckIfICanViewRecordStd (&Gbl.Usrs.Other.UsrDat))
/* View student's records: common record card and course record card */
- Lay_PutContextualLink (ActSeeRecOneStd,NULL,
- Usr_PutParamOtherUsrCodEncrypted,
- "card.svg",
- Txt_View_record_for_this_course,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL,
+ Usr_PutParamOtherUsrCodEncrypted,
+ "card.svg",
+ Txt_View_record_for_this_course);
else if (Usr_CheckIfICanViewRecordTch (&Gbl.Usrs.Other.UsrDat))
- Lay_PutContextualLink (ActSeeRecOneTch,NULL,
- Usr_PutParamOtherUsrCodEncrypted,
- "card.svg",
- Txt_View_record_and_office_hours,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL,
+ Usr_PutParamOtherUsrCodEncrypted,
+ "card.svg",
+ Txt_View_record_and_office_hours);
}
/*****************************************************************************/
@@ -865,15 +844,15 @@ static void Agd_PutFormsToRemEditOneEvent (struct AgendaEvent *AgdEvent)
/***** Put form to make event public/private *****/
if (AgdEvent->Public)
- Lay_PutContextualLink (ActPrvEvtMyAgd,NULL,Agd_PutCurrentParamsMyAgenda,
- "lock-open.svg",
- Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActPrvEvtMyAgd,NULL,
+ Agd_PutCurrentParamsMyAgenda,
+ "lock-open.svg",
+ Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private);
else
- Lay_PutContextualLink (ActPubEvtMyAgd,NULL,Agd_PutCurrentParamsMyAgenda,
- "lock.svg",
- Txt_Event_private_click_to_make_it_visible_to_the_users_of_your_courses,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActPubEvtMyAgd,NULL,
+ Agd_PutCurrentParamsMyAgenda,
+ "lock.svg",
+ Txt_Event_private_click_to_make_it_visible_to_the_users_of_your_courses);
}
/*****************************************************************************/
diff --git a/swad_announcement.c b/swad_announcement.c
index c85a881d..050dcaf5 100644
--- a/swad_announcement.c
+++ b/swad_announcement.c
@@ -316,16 +316,14 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
switch (Status)
{
case Ann_ACTIVE_ANNOUNCEMENT:
- Lay_PutContextualLink (ActHidAnn,NULL,Ann_PutParams,
- "eye.svg",
- Txt_NOTICE_Active_Mark_as_obsolete,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActHidAnn,NULL,Ann_PutParams,
+ "eye.svg",
+ Txt_NOTICE_Active_Mark_as_obsolete);
break;
case Ann_OBSOLETE_ANNOUNCEMENT:
- Lay_PutContextualLink (ActRevAnn,NULL,Ann_PutParams,
- "eye-slash.svg",
- Txt_NOTICE_Obsolete_Mark_as_active,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActRevAnn,NULL,Ann_PutParams,
+ "eye-slash.svg",
+ Txt_NOTICE_Obsolete_Mark_as_active);
break;
}
}
@@ -360,10 +358,10 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
}
else
/***** Put form to mark announcement as seen *****/
- Lay_PutContextualLink (ActAnnSee,NULL,Ann_PutParams,
- "trash.svg",
- Txt_Do_not_show_again,Txt_Do_not_show_again,
- NULL);
+ Lay_PutContextualLinkIconText (ActAnnSee,NULL,Ann_PutParams,
+ "trash.svg",
+ Txt_Do_not_show_again,
+ Txt_Do_not_show_again);
fprintf (Gbl.F.Out,"");
diff --git a/swad_assignment.c b/swad_assignment.c
index a0766548..7696369b 100644
--- a/swad_assignment.c
+++ b/swad_assignment.c
@@ -192,7 +192,6 @@ static void Asg_PutHeadForSeeing (bool PrintView)
extern const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME];
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
extern const char *Txt_Assignment;
- extern const char *Txt_Upload_files_QUESTION;
extern const char *Txt_Folder;
Dat_StartEndTime_t Order;
@@ -226,9 +225,6 @@ static void Asg_PutHeadForSeeing (bool PrintView)
fprintf (Gbl.F.Out,"");
}
fprintf (Gbl.F.Out,"
"
- "%s"
- " "
- ""
"%s"
" "
""
@@ -236,7 +232,6 @@ static void Asg_PutHeadForSeeing (bool PrintView)
" "
"",
Txt_Assignment,
- Txt_Upload_files_QUESTION,
Txt_Folder);
}
@@ -347,9 +342,6 @@ void Asg_PrintOneAssignment (void)
static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
{
extern const char *Txt_Today;
- extern const char *Txt_ASSIGNMENT_TYPES[Asg_NUM_TYPES_SEND_WORK];
- extern const char *Txt_Yes;
- extern const char *Txt_No;
static unsigned UniqueId = 0;
struct Assignment Asg;
char Txt[Cns_MAX_BYTES_TEXT + 1];
@@ -420,25 +412,6 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
Asg.Title);
fprintf (Gbl.F.Out,"");
- /* Send work? */
- fprintf (Gbl.F.Out,""
- " "
- " %s"
- " ",
- Gbl.Prefs.URLIcons,
- Txt_ASSIGNMENT_TYPES[Asg.SendWork],
- Txt_ASSIGNMENT_TYPES[Asg.SendWork],
- (Asg.SendWork == Asg_SEND_WORK) ? "" :
- "ICO_HIDDEN ",
- (Asg.SendWork == Asg_SEND_WORK) ? Txt_Yes :
- Txt_No);
-
/* Assignment folder */
fprintf (Gbl.F.Out,"");
@@ -524,21 +497,13 @@ static void Asg_WriteAssignmentFolder (struct Assignment *Asg,bool PrintView)
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Upload_file_or_create_folder_in_FOLDER,
Asg->Folder);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink ("folder-open-green.svg",Gbl.Title);
Frm_EndForm ();
}
- else // I can't send files to this assignment folder
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- ICanSendFiles ? "folder-open16x16.gif" :
- "folder-closed16x16.gif",
- Txt_Folder,Txt_Folder);
+ else // Sending of files disabled
+ Ico_PutIconOff (ICanSendFiles ? "folder-open-green.svg" :
+ "folder-red.svg",
+ Txt_Folder);
/***** Folder name *****/
fprintf (Gbl.F.Out,"%s",Asg->Folder);
diff --git a/swad_attendance.c b/swad_attendance.c
index 1c041989..4e3ec771 100644
--- a/swad_attendance.c
+++ b/swad_attendance.c
@@ -535,10 +535,10 @@ static void Att_PutFormToListMyAttendance (void)
{
extern const char *Txt_Attendance_list;
- Lay_PutContextualLink (ActSeeLstMyAtt,NULL,NULL,
- "list-ol.svg",
- Txt_Attendance_list,Txt_Attendance_list,
- NULL);
+ Lay_PutContextualLinkIconText (ActSeeLstMyAtt,NULL,NULL,
+ "list-ol.svg",
+ Txt_Attendance_list,
+ Txt_Attendance_list);
}
/*****************************************************************************/
@@ -549,10 +549,11 @@ static void Att_PutFormToListStdsAttendance (void)
{
extern const char *Txt_Attendance_list;
- Lay_PutContextualLink (ActReqLstStdAtt,NULL,Att_PutFormToListStdsParams,
- "list-ol.svg",
- Txt_Attendance_list,Txt_Attendance_list,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqLstStdAtt,NULL,
+ Att_PutFormToListStdsParams,
+ "list-ol.svg",
+ Txt_Attendance_list,
+ Txt_Attendance_list);
}
static void Att_PutFormToListStdsParams (void)
diff --git a/swad_banner.c b/swad_banner.c
index d72c515c..88c87aa5 100644
--- a/swad_banner.c
+++ b/swad_banner.c
@@ -371,10 +371,9 @@ void Ban_PutIconToViewBanners (void)
{
extern const char *Txt_Banners;
- Lay_PutContextualLink (ActSeeBan,NULL,NULL,
- "flag.svg",
- Txt_Banners,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeBan,NULL,NULL,
+ "flag.svg",
+ Txt_Banners);
}
/*****************************************************************************/
@@ -415,15 +414,10 @@ static void Ban_ListBannersForEdition (void)
Frm_StartForm (Ban->Hidden ? ActShoBan :
ActHidBan);
Ban_PutParamBanCod (Ban->BanCod);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Ban->Hidden ? "eye-slash.svg" :
- "eye.svg",
- Ban->Hidden ? Txt_Show :
- Txt_Hide,
- Ban->Hidden ? Txt_Show :
- Txt_Hide);
+ Ico_PutIconLink (Ban->Hidden ? "eye-slash.svg" :
+ "eye.svg",
+ Ban->Hidden ? Txt_Show :
+ Txt_Hide);
Frm_EndForm ();
fprintf (Gbl.F.Out," ");
diff --git a/swad_box.c b/swad_box.c
index bed8497c..aebf86d6 100644
--- a/swad_box.c
+++ b/swad_box.c
@@ -148,29 +148,23 @@ static void Box_StartBoxInternal (const char *Width,const char *Title,
fprintf (Gbl.F.Out,"");
if (HelpLink) // Link to help
- fprintf (Gbl.F.Out,"
"
- ""
- "
"
- "
"
- " ",
- Hlp_WIKI,HelpLink,
- Gbl.Prefs.URLIcons,
- Txt_Help,Txt_Help);
+ {
+ fprintf (Gbl.F.Out,"
",
+ Hlp_WIKI,HelpLink);
+ Ico_PutDivIcon ("CONTEXT_OPT HLP_HIGHLIGHT",
+ "question.svg",Txt_Help);
+ fprintf (Gbl.F.Out," ");
+ }
if (Closable == Box_CLOSABLE) // Icon to close the box
+ {
fprintf (Gbl.F.Out,"
"
- "
"
- "
"
- "
"
- "",
- IdFrame,
- Gbl.Prefs.URLIcons,
- Txt_Close,Txt_Close);
+ " onclick=\"toggleDisplay('%s');return false;\" />",
+ IdFrame);
+ Ico_PutDivIcon ("CONTEXT_OPT HLP_HIGHLIGHT",
+ "close.svg",Txt_Close);
+ fprintf (Gbl.F.Out,"");
+ }
fprintf (Gbl.F.Out,"
");
diff --git a/swad_calendar.c b/swad_calendar.c
index 7b466d94..65a46335 100644
--- a/swad_calendar.c
+++ b/swad_calendar.c
@@ -89,7 +89,7 @@ void Cal_PutIconsToSelectFirstDayOfWeek (void)
Box_StartBox (NULL,Txt_Calendar,Cal_PutIconsFirstDayOfWeek,
Hlp_PROFILE_Preferences_calendar,Box_NOT_CLOSABLE);
- Cal_ShowFormToSelFirstDayOfWeek (ActChg1stDay,NULL,"ICOx25");
+ Cal_ShowFormToSelFirstDayOfWeek (ActChg1stDay,NULL);
Box_EndBox ();
}
@@ -108,12 +108,12 @@ static void Cal_PutIconsFirstDayOfWeek (void)
/************** Show form to select the first day of the week ****************/
/*****************************************************************************/
-void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) (),
- const char *ClassIcon)
+void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) ())
{
extern const char *Txt_First_day_of_the_week;
extern const char *Txt_DAYS_SMALL[7];
unsigned FirstDayOfWeek;
+ char Icon[32 + 1];
fprintf (Gbl.F.Out,"");
for (FirstDayOfWeek = 0; // Monday
@@ -128,13 +128,13 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) (),
Par_PutHiddenParamUnsigned ("FirstDayOfWeek",FirstDayOfWeek);
if (FuncParams) // Extra parameters depending on the action
FuncParams ();
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- FirstDayOfWeek,
- Txt_DAYS_SMALL[FirstDayOfWeek],
- Txt_First_day_of_the_week,Txt_DAYS_SMALL[FirstDayOfWeek],
- ClassIcon);
+ snprintf (Gbl.Title,sizeof (Gbl.Title),
+ "%s: %s",
+ Txt_First_day_of_the_week,Txt_DAYS_SMALL[FirstDayOfWeek]);
+ snprintf (Icon,sizeof (Icon),
+ "first-day-of-week-%u.png",
+ FirstDayOfWeek);
+ Ico_PutPrefIconLink (Icon,Gbl.Title);
Frm_EndForm ();
fprintf (Gbl.F.Out,"
");
}
@@ -324,7 +324,7 @@ static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar,
/***** Draw several months *****/
/* Show form to change first day of week */
if (!PrintView)
- Cal_ShowFormToSelFirstDayOfWeek (ActionChangeCalendar1stDay,NULL,"ICOx25");
+ Cal_ShowFormToSelFirstDayOfWeek (ActionChangeCalendar1stDay,NULL);
/* JavaScript will write HTML here */
fprintf (Gbl.F.Out,""
@@ -375,12 +375,11 @@ static void Cal_PutIconToPrintCalendarIns (void)
Ico_PutContextualIconToPrint (ActPrnCalIns,NULL);
/***** View holidays *****/
- if (Gbl.Hlds.Num || // There are holidays
+ if (Gbl.Hlds.Num || // There are holidays
Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) // Institution admin or system admin
- Lay_PutContextualLink (ActSeeHld,NULL,NULL,
- "holiday.png",
- Txt_Holidays,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeHld,NULL,NULL,
+ "holiday.png",
+ Txt_Holidays);
}
static void Cal_PutIconToPrintCalendarCtr (void)
diff --git a/swad_calendar.h b/swad_calendar.h
index 6fd5626f..1f527fd0 100644
--- a/swad_calendar.h
+++ b/swad_calendar.h
@@ -44,8 +44,7 @@
/*****************************************************************************/
void Cal_PutIconsToSelectFirstDayOfWeek (void);
-void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) (),
- const char *ClassIcon);
+void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) ());
void Cal_ChangeFirstDayOfWeek (void);
unsigned Cal_GetFirstDayOfWeekFromStr (const char *Str);
diff --git a/swad_centre.c b/swad_centre.c
index 901b2227..b6bc00d4 100644
--- a/swad_centre.c
+++ b/swad_centre.c
@@ -722,11 +722,10 @@ static void Ctr_PutIconToChangePhoto (void)
(unsigned) Gbl.CurrentCtr.Ctr.CtrCod,
(unsigned) Gbl.CurrentCtr.Ctr.CtrCod);
PhotoExists = Fil_CheckIfPathExists (PathPhoto);
- Lay_PutContextualLink (ActReqCtrPho,NULL,NULL,
- "camera.svg",
- PhotoExists ? Txt_Change_photo :
- Txt_Upload_photo,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActReqCtrPho,NULL,NULL,
+ "camera.svg",
+ PhotoExists ? Txt_Change_photo :
+ Txt_Upload_photo);
}
/*****************************************************************************/
@@ -1034,10 +1033,9 @@ void Ctr_PutIconToViewCentres (void)
{
extern const char *Txt_Centres;
- Lay_PutContextualLink (ActSeeCtr,NULL,NULL,
- "building.svg",
- Txt_Centres,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeCtr,NULL,NULL,
+ "building.svg",
+ Txt_Centres);
}
/*****************************************************************************/
diff --git a/swad_changelog.h b/swad_changelog.h
index ffab62fa..63ccc8f8 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -346,6 +346,8 @@ Buenos d
// TODO: Un administrador de centro ahora no tiene permisos para editar horario asignatura, pero le sale el icono de editar
// O le damos permisos o quitamos el icono de editar. Comprobar para admin. de titulaciones.
+// TODO: Chequear todas las directivas
+
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
@@ -365,10 +367,11 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
-#define Log_PLATFORM_VERSION "SWAD 18.31.6 (2019-01-11)"
-#define CSS_FILE "swad18.31.css"
+#define Log_PLATFORM_VERSION "SWAD 18.32 (2019-01-12)"
+#define CSS_FILE "swad18.32.css"
#define JS_FILE "swad17.17.1.js"
/*
+ Version 18.32: Jan 12, 2019 Code refactoring related to icons. (239311 lines)
Version 18.31.6: Jan 11, 2019 Fixed bug in user administration. (239587 lines)
Version 18.31.5: Jan 11, 2019 Fixed bug in link to my courses. (239583 lines)
Version 18.31.4: Jan 11, 2019 Option for last clicks is moved to analytics tab. (239587 lines)
diff --git a/swad_classroom.c b/swad_classroom.c
index 07ee058c..350b3f40 100644
--- a/swad_classroom.c
+++ b/swad_classroom.c
@@ -269,10 +269,9 @@ void Cla_PutIconToViewClassrooms (void)
{
extern const char *Txt_Classrooms;
- Lay_PutContextualLink (ActSeeCla,NULL,NULL,
- "classroom.svg",
- Txt_Classrooms,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeCla,NULL,NULL,
+ "classroom.svg",
+ Txt_Classrooms);
}
/*****************************************************************************/
diff --git a/swad_country.c b/swad_country.c
index 808ba017..48cf1ccc 100644
--- a/swad_country.c
+++ b/swad_country.c
@@ -1001,10 +1001,9 @@ static void Cty_PutIconToViewCountries (void)
{
extern const char *Txt_Countries;
- Lay_PutContextualLink (ActSeeCty,NULL,NULL,
- "globe.svg",
- Txt_Countries,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeCty,NULL,NULL,
+ "globe.svg",
+ Txt_Countries);
}
/*****************************************************************************/
diff --git a/swad_course.c b/swad_course.c
index 9864c540..76ffaba0 100644
--- a/swad_course.c
+++ b/swad_course.c
@@ -571,7 +571,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
ClassNormal,NULL);
fprintf (Gbl.F.Out," %s",
+ " class=\"ICO16x16\" /> %s",
Gbl.Prefs.URLIcons,
Txt_System,
Txt_System,
@@ -609,7 +609,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
/* Country map */
fprintf (Gbl.F.Out," %s",
+ " class=\"ICO16x16\" /> %s",
Gbl.Prefs.URLIcons,Cfg_ICON_FOLDER_COUNTRIES,
Cty.Alpha2,
Cty.Alpha2,
@@ -647,7 +647,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
Frm_LinkFormSubmit (Act_GetActionTextFromDB (Act_GetActCod (ActSeeInsInf),ActTxt),
Highlight ? ClassHighlight :
ClassNormal,NULL);
- Log_DrawLogo (Sco_SCOPE_INS,Ins.InsCod,Ins.ShrtName,20,NULL,true);
+ Log_DrawLogo (Sco_SCOPE_INS,Ins.InsCod,Ins.ShrtName,16,NULL,true);
fprintf (Gbl.F.Out," %s",Ins.FullName);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
@@ -680,7 +680,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
Frm_LinkFormSubmit (Act_GetActionTextFromDB (Act_GetActCod (ActSeeCtrInf),ActTxt),
Highlight ? ClassHighlight :
ClassNormal,NULL);
- Log_DrawLogo (Sco_SCOPE_CTR,Ctr.CtrCod,Ctr.ShrtName,20,NULL,true);
+ Log_DrawLogo (Sco_SCOPE_CTR,Ctr.CtrCod,Ctr.ShrtName,16,NULL,true);
fprintf (Gbl.F.Out," %s",Ctr.FullName);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
@@ -713,7 +713,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
Frm_LinkFormSubmit (Act_GetActionTextFromDB (Act_GetActCod (ActSeeDegInf),ActTxt),
Highlight ? ClassHighlight :
ClassNormal,NULL);
- Log_DrawLogo (Sco_SCOPE_DEG,Deg.DegCod,Deg.ShrtName,20,NULL,true);
+ Log_DrawLogo (Sco_SCOPE_DEG,Deg.DegCod,Deg.ShrtName,16,NULL,true);
fprintf (Gbl.F.Out," %s",Deg.FullName);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
@@ -1388,10 +1388,9 @@ static void Crs_PutIconToViewCourses (void)
{
extern const char *Txt_Courses;
- Lay_PutContextualLink (ActSeeCrs,NULL,NULL,
- "list-ol.svg",
- Txt_Courses,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeCrs,NULL,NULL,
+ "list-ol.svg",
+ Txt_Courses);
}
/*****************************************************************************/
@@ -2962,16 +2961,15 @@ static void Crs_PutIconToSearchCourses (void)
extern const char *Txt_Search_courses;
/***** Put form to search / select courses *****/
- Lay_PutContextualLink ( Gbl.CurrentCrs.Crs.CrsCod > 0 ? ActCrsReqSch :
- (Gbl.CurrentDeg.Deg.DegCod > 0 ? ActDegReqSch :
- (Gbl.CurrentCtr.Ctr.CtrCod > 0 ? ActCtrReqSch :
- (Gbl.CurrentIns.Ins.InsCod > 0 ? ActInsReqSch :
- (Gbl.CurrentCty.Cty.CtyCod > 0 ? ActCtyReqSch :
- ActSysReqSch)))),
- NULL,Sch_PutLinkToSearchCoursesParams,
- "search.svg",
- Txt_Search_courses,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon ( Gbl.CurrentCrs.Crs.CrsCod > 0 ? ActCrsReqSch :
+ (Gbl.CurrentDeg.Deg.DegCod > 0 ? ActDegReqSch :
+ (Gbl.CurrentCtr.Ctr.CtrCod > 0 ? ActCtrReqSch :
+ (Gbl.CurrentIns.Ins.InsCod > 0 ? ActInsReqSch :
+ (Gbl.CurrentCty.Cty.CtyCod > 0 ? ActCtyReqSch :
+ ActSysReqSch)))),
+ NULL,Sch_PutLinkToSearchCoursesParams,
+ "search.svg",
+ Txt_Search_courses);
}
static void Sch_PutLinkToSearchCoursesParams (void) // TODO: Move to search module
@@ -3017,10 +3015,9 @@ void Crs_PutIconToSelectMyCourses (void)
if (Gbl.Usrs.Me.Logged) // I am logged
/***** Put icon with link *****/
- Lay_PutContextualLink (ActMyCrs,NULL,NULL,
- "sitemap.svg",
- Txt_My_courses,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActMyCrs,NULL,NULL,
+ "sitemap.svg",
+ Txt_My_courses);
}
/*****************************************************************************/
@@ -3390,10 +3387,10 @@ void Crs_PutLinkToRemoveOldCrss (void)
extern const char *Txt_Eliminate_old_courses;
/***** Put form to remove old courses *****/
- Lay_PutContextualLink (ActReqRemOldCrs,NULL,NULL,
- "trash.svg",
- Txt_Eliminate_old_courses,Txt_Eliminate_old_courses,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqRemOldCrs,NULL,NULL,
+ "trash.svg",
+ Txt_Eliminate_old_courses,
+ Txt_Eliminate_old_courses);
}
/*****************************************************************************/
diff --git a/swad_degree.c b/swad_degree.c
index cc735da6..78329fda 100644
--- a/swad_degree.c
+++ b/swad_degree.c
@@ -1418,10 +1418,9 @@ void Deg_PutIconToViewDegrees (void)
{
extern const char *Txt_Degrees;
- Lay_PutContextualLink (ActSeeDeg,NULL,NULL,
- "graduation-cap.svg",
- Txt_Degrees,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeDeg,NULL,NULL,
+ "graduation-cap.svg",
+ Txt_Degrees);
}
/*****************************************************************************/
diff --git a/swad_degree_type.c b/swad_degree_type.c
index ee810c58..b29704c6 100644
--- a/swad_degree_type.c
+++ b/swad_degree_type.c
@@ -288,10 +288,9 @@ void DT_PutIconToViewDegreeTypes (void)
{
extern const char *Txt_Types_of_degree;
- Lay_PutContextualLink (ActSeeDegTyp,NULL,NULL,
- "sitemap.svg",
- Txt_Types_of_degree,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeDegTyp,NULL,NULL,
+ "sitemap.svg",
+ Txt_Types_of_degree);
}
/*****************************************************************************/
diff --git a/swad_duplicate.c b/swad_duplicate.c
index b56f1582..a7ed82a0 100644
--- a/swad_duplicate.c
+++ b/swad_duplicate.c
@@ -120,10 +120,10 @@ void Dup_PutLinkToListDupUsrs (void)
extern const char *Txt_Duplicate_USERS;
/***** Put form to remove old users *****/
- Lay_PutContextualLink (ActLstDupUsr,NULL,NULL,
- "user-friends.svg",
- Txt_Duplicate_USERS,Txt_Duplicate_USERS,
- NULL);
+ Lay_PutContextualLinkIconText (ActLstDupUsr,NULL,NULL,
+ "user-friends.svg",
+ Txt_Duplicate_USERS,
+ Txt_Duplicate_USERS);
}
/*****************************************************************************/
diff --git a/swad_enrolment.c b/swad_enrolment.c
index 19689558..af786180 100644
--- a/swad_enrolment.c
+++ b/swad_enrolment.c
@@ -198,10 +198,10 @@ void Enr_PutLinkToRequestSignUp (void)
extern const char *Txt_Sign_up;
/***** Show the form *****/
- Lay_PutContextualLink (ActReqSignUp,NULL,NULL,
- "hand-point-up.svg",
- Txt_Sign_up,Txt_Sign_up,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqSignUp,NULL,NULL,
+ "hand-point-up.svg",
+ Txt_Sign_up,
+ Txt_Sign_up);
}
/*****************************************************************************/
@@ -780,10 +780,10 @@ void Enr_PutLinkToRemOldUsrs (void)
extern const char *Txt_Eliminate_old_users;
/***** Put form to remove old users *****/
- Lay_PutContextualLink (ActReqRemOldUsr,NULL,NULL,
- "trash.svg",
- Txt_Eliminate_old_users,Txt_Eliminate_old_users,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqRemOldUsr,NULL,NULL,
+ "trash.svg",
+ Txt_Eliminate_old_users,
+ Txt_Eliminate_old_users);
}
/*****************************************************************************/
@@ -1862,10 +1862,10 @@ static void Enr_PutLinkToRemAllStdsThisCrs (void)
extern const char *Txt_Remove_all_students;
/***** Put form to remove all the students in the current course *****/
- Lay_PutContextualLink (ActReqRemAllStdCrs,NULL,NULL,
- "trash.svg",
- Txt_Remove_all_students,Txt_Remove_all_students,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqRemAllStdCrs,NULL,NULL,
+ "trash.svg",
+ Txt_Remove_all_students,
+ Txt_Remove_all_students);
}
/*****************************************************************************/
@@ -3088,10 +3088,10 @@ void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction)
const char *TitleText = Enr_ICanAdminOtherUsrs[Gbl.Usrs.Me.Role.Logged] ? Txt_Administer_one_user :
Txt_Administer_me;
- Lay_PutContextualLink (NextAction,NULL,NULL,
- "user-cog.svg",
- TitleText,TitleText,
- NULL);
+ Lay_PutContextualLinkIconText (NextAction,NULL,NULL,
+ "user-cog.svg",
+ TitleText,
+ TitleText);
}
/*****************************************************************************/
@@ -3125,10 +3125,10 @@ void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role)
TitleText = NULL;
Lay_ShowErrorAndExit ("Wrong role.");
}
- Lay_PutContextualLink (NextAction,NULL,NULL,
- "users-cog.svg",
- TitleText,TitleText,
- NULL);
+ Lay_PutContextualLinkIconText (NextAction,NULL,NULL,
+ "users-cog.svg",
+ TitleText,
+ TitleText);
}
/*****************************************************************************/
diff --git a/swad_file_browser.c b/swad_file_browser.c
index d07d2893..81b82285 100644
--- a/swad_file_browser.c
+++ b/swad_file_browser.c
@@ -1250,15 +1250,12 @@ static void Brw_PutIconsRemoveCopyPaste (unsigned Level,
const char PathInTree[PATH_MAX + 1],
const char *FileName,const char *FileNameToShow);
static bool Brw_CheckIfCanPasteIn (unsigned Level);
-static void Brw_PutIconRemoveFile (const char PathInTree[PATH_MAX + 1],
- const char *FileName,const char *FileNameToShow);
-static void Brw_PutIconRemoveDir (const char PathInTree[PATH_MAX + 1],
- const char *FileName,const char *FileNameToShow);
+static void Brw_PutIconRemove (const char PathInTree[PATH_MAX + 1],
+ const char *FileName,const char *FileNameToShow);
static void Brw_PutIconCopy (const char PathInTree[PATH_MAX + 1],
const char *FileName,const char *FileNameShow);
-static void Brw_PutIconPasteOn (const char PathInTree[PATH_MAX + 1],
- const char *FileName,const char *FileNameToShow);
-static void Brw_PutIconPasteOff (void);
+static void Brw_PutIconPaste (unsigned Level,const char PathInTree[PATH_MAX + 1],
+ const char *FileName,const char *FileNameToShow);
static void Brw_IndentAndWriteIconExpandContract (unsigned Level,
const char *FileBrowserId,const char *RowId,
Brw_IconTree_t IconThisRow,
@@ -5773,43 +5770,13 @@ static void Brw_PutIconsRemoveCopyPaste (unsigned Level,
const char *FileName,const char *FileNameToShow)
{
/***** Icon to remove folder, file or link *****/
- switch (Gbl.FileBrowser.FileType)
- {
- case Brw_IS_FILE:
- case Brw_IS_LINK:
- /* Icon to remove a file or link */
- Brw_PutIconRemoveFile (PathInTree,FileName,FileNameToShow);
- break;
- case Brw_IS_FOLDER:
- /* Icon to remove a folder */
- Brw_PutIconRemoveDir (PathInTree,FileName,FileNameToShow);
- break;
- default:
- break;
- }
+ Brw_PutIconRemove (PathInTree,FileName,FileNameToShow);
/***** Icon to copy *****/
Brw_PutIconCopy (PathInTree,FileName,FileNameToShow);
/***** Icon to paste *****/
- switch (Gbl.FileBrowser.FileType)
- {
- case Brw_IS_FILE:
- case Brw_IS_LINK:
- /* File or link. Can't paste in a file or link */
- fprintf (Gbl.F.Out," ",Gbl.RowEvenOdd);
- break;
- case Brw_IS_FOLDER:
- if (Brw_CheckIfCanPasteIn (Level))
- /* Icon to paste active */
- Brw_PutIconPasteOn (PathInTree,FileName,FileNameToShow);
- else
- /* Icon to paste inactive */
- Brw_PutIconPasteOff ();
- break;
- default:
- break;
- }
+ Brw_PutIconPaste (Level,PathInTree,FileName,FileNameToShow);
}
/*****************************************************************************/
@@ -5856,72 +5823,49 @@ static bool Brw_CheckIfCanPasteIn (unsigned Level)
}
/*****************************************************************************/
-/******************* Write link e icon to remove a file **********************/
+/********** Write link and icon to remove a file, link or folder *************/
/*****************************************************************************/
-// Gbl.FileBrowser.FileType can be Brw_IS_FILE or Brw_IS_LINK
-static void Brw_PutIconRemoveFile (const char PathInTree[PATH_MAX + 1],
- const char *FileName,const char *FileNameToShow)
+static void Brw_PutIconRemove (const char PathInTree[PATH_MAX + 1],
+ const char *FileName,const char *FileNameToShow)
{
extern const char *Txt_Remove_FILE_OR_LINK_X;
-
- fprintf (Gbl.F.Out,"",Gbl.RowEvenOdd);
-
- if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I remove this file?
- {
- /***** Form to remove a file *****/
- Frm_StartForm (Brw_ActAskRemoveFile[Gbl.FileBrowser.Type]);
- Brw_PutParamsFileBrowser (Brw_ActAskRemoveFile[Gbl.FileBrowser.Type],
- PathInTree,FileName,
- Gbl.FileBrowser.FileType,-1L);
- snprintf (Gbl.Title,sizeof (Gbl.Title),
- Txt_Remove_FILE_OR_LINK_X,
- FileNameToShow);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
- Frm_EndForm ();
- }
- else
- // Ico_PutIconBRemovalNotAllowed ();
- Ico_PutIconRemovalNotAllowed ();
- fprintf (Gbl.F.Out," ");
- }
-
-/*****************************************************************************/
-/****************** Write link and icon to remove a folder *******************/
-/*****************************************************************************/
-
-static void Brw_PutIconRemoveDir (const char PathInTree[PATH_MAX + 1],
- const char *FileName,const char *FileNameToShow)
- {
extern const char *Txt_Remove_folder_X;
fprintf (Gbl.F.Out,"",Gbl.RowEvenOdd);
- if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I remove this folder?
- {
- /***** Form to remove a folder *****/
- Frm_StartForm (Brw_ActRemoveFolder[Gbl.FileBrowser.Type]);
- Brw_PutParamsFileBrowser (Brw_ActRemoveFolder[Gbl.FileBrowser.Type],
- PathInTree,FileName,
- Brw_IS_FOLDER,-1L);
- snprintf (Gbl.Title,sizeof (Gbl.Title),
- Txt_Remove_folder_X,
- FileNameToShow);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
- Frm_EndForm ();
- }
+ if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I remove this?
+ switch (Gbl.FileBrowser.FileType)
+ {
+ case Brw_IS_FILE:
+ case Brw_IS_LINK:
+ /***** Form to remove a file or link *****/
+ Frm_StartForm (Brw_ActAskRemoveFile[Gbl.FileBrowser.Type]);
+ Brw_PutParamsFileBrowser (Brw_ActAskRemoveFile[Gbl.FileBrowser.Type],
+ PathInTree,FileName,
+ Gbl.FileBrowser.FileType,-1L);
+ snprintf (Gbl.Title,sizeof (Gbl.Title),
+ Txt_Remove_FILE_OR_LINK_X,
+ FileNameToShow);
+ Ico_PutIconLink ("trash.svg",Gbl.Title);
+ Frm_EndForm ();
+ break;
+ case Brw_IS_FOLDER:
+ /***** Form to remove a folder *****/
+ Frm_StartForm (Brw_ActRemoveFolder[Gbl.FileBrowser.Type]);
+ Brw_PutParamsFileBrowser (Brw_ActRemoveFolder[Gbl.FileBrowser.Type],
+ PathInTree,FileName,
+ Gbl.FileBrowser.FileType,-1L);
+ snprintf (Gbl.Title,sizeof (Gbl.Title),
+ Txt_Remove_folder_X,
+ FileNameToShow);
+ Ico_PutIconLink ("trash.svg",Gbl.Title);
+ Frm_EndForm ();
+ break;
+ default:
+ break;
+ }
else
- // Ico_PutIconBRemovalNotAllowed ();
Ico_PutIconRemovalNotAllowed ();
fprintf (Gbl.F.Out," ");
}
@@ -5945,12 +5889,7 @@ static void Brw_PutIconCopy (const char PathInTree[PATH_MAX + 1],
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Copy_FOLDER_FILE_OR_LINK_X,
FileNameToShow);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink ("copy.svg",Gbl.Title);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
@@ -5960,49 +5899,38 @@ static void Brw_PutIconCopy (const char PathInTree[PATH_MAX + 1],
/************** Write link e icon to paste a file or a folder ****************/
/*****************************************************************************/
-static void Brw_PutIconPasteOn (const char PathInTree[PATH_MAX + 1],
- const char *FileName,const char *FileNameToShow)
+static void Brw_PutIconPaste (unsigned Level,const char PathInTree[PATH_MAX + 1],
+ const char *FileName,const char *FileNameToShow)
{
extern const char *Txt_Paste_in_X;
+ extern const char *Txt_Copy_not_allowed;
fprintf (Gbl.F.Out,"",Gbl.RowEvenOdd);
- /***** Form to paste the content of the clipboard *****/
- Frm_StartForm (Brw_ActPaste[Gbl.FileBrowser.Type]);
- Brw_PutParamsFileBrowser (Brw_ActPaste[Gbl.FileBrowser.Type],
- PathInTree,FileName,
- Brw_IS_FOLDER,-1L);
- snprintf (Gbl.Title,sizeof (Gbl.Title),
- Txt_Paste_in_X,
- FileNameToShow);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
- Frm_EndForm ();
+ if (Gbl.FileBrowser.FileType == Brw_IS_FOLDER) // Can't paste in a file or link
+ {
+ /* Icon to paste */
+ if (Brw_CheckIfCanPasteIn (Level))
+ {
+ /***** Form to paste the content of the clipboard *****/
+ Frm_StartForm (Brw_ActPaste[Gbl.FileBrowser.Type]);
+ Brw_PutParamsFileBrowser (Brw_ActPaste[Gbl.FileBrowser.Type],
+ PathInTree,FileName,
+ Brw_IS_FOLDER,-1L);
+ snprintf (Gbl.Title,sizeof (Gbl.Title),
+ Txt_Paste_in_X,
+ FileNameToShow);
+ Ico_PutIconLink ("paste.svg",Gbl.Title);
+ Frm_EndForm ();
+ }
+ else
+ /* Icon to paste inactive */
+ Ico_PutIconOff ("paste.svg",Txt_Copy_not_allowed);
+ }
+
fprintf (Gbl.F.Out," ");
}
-/*****************************************************************************/
-/**************** Write link e icon to paste a file o a folder ***************/
-/*****************************************************************************/
-
-static void Brw_PutIconPasteOff (void)
- {
- extern const char *Txt_Copy_not_allowed;
-
- fprintf (Gbl.F.Out,""
- " "
- " ",
- Gbl.RowEvenOdd,Gbl.Prefs.URLIcons,
- Txt_Copy_not_allowed,
- Txt_Copy_not_allowed);
- }
-
/*****************************************************************************/
/*************** Indent and write icon to expand/contract folder *************/
/*****************************************************************************/
@@ -6026,7 +5954,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,
case Brw_ICON_TREE_NOTHING:
fprintf (Gbl.F.Out," ",
+ " class=\"ICO20x20\" />",
Gbl.Prefs.URLIcons);
break;
case Brw_ICON_TREE_EXPAND:
@@ -6070,12 +5998,13 @@ static void Brw_IndentDependingOnLevel (unsigned Level)
for (i = 1;
i < Level;
i++)
- fprintf (Gbl.F.Out,""
+ fprintf (Gbl.F.Out," "
" "
+ " class=\"ICO20x20\" />"
" ",
- Gbl.Prefs.URLIcons);
+ Gbl.RowEvenOdd,
+ Gbl.Prefs.URLIcons);
}
/*****************************************************************************/
@@ -6111,12 +6040,7 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row
snprintf (Gbl.Title,sizeof (Gbl.Title),
"%s %s",
Txt_Expand,FileNameToShow);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink ("caret-right.svg",Gbl.Title);
Frm_EndForm ();
/***** End container *****/
@@ -6156,12 +6080,7 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R
snprintf (Gbl.Title,sizeof (Gbl.Title),
"%s %s",
Txt_Contract,FileNameToShow);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink ("caret-down.svg",Gbl.Title);
Frm_EndForm ();
/***** End container *****/
@@ -6186,11 +6105,11 @@ static void Brw_PutIconShow (unsigned Level,const char *PathInTree,const char *F
FileNameToShow);
fprintf (Gbl.F.Out," ",
+ " class=\"%sCONTEXT_ICO\" />",
Gbl.Prefs.URLIcons,
Gbl.Title,
Gbl.Title,
- Brw_CheckIfAnyUpperLevelIsHidden (Level) ? " ICO_HIDDEN" :
+ Brw_CheckIfAnyUpperLevelIsHidden (Level) ? "ICO_HIDDEN " :
"");
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
@@ -6214,11 +6133,11 @@ static void Brw_PutIconHide (unsigned Level,const char *PathInTree,const char *F
FileNameToShow);
fprintf (Gbl.F.Out," ",
+ " class=\"%sCONTEXT_ICO\" />",
Gbl.Prefs.URLIcons,
Gbl.Title,
Gbl.Title,
- Brw_CheckIfAnyUpperLevelIsHidden (Level) ? " ICO_HIDDEN" :
+ Brw_CheckIfAnyUpperLevelIsHidden (Level) ? "ICO_HIDDEN " :
"");
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
@@ -6383,15 +6302,9 @@ static void Brw_PutIconFolderWithPlus (const char *FileBrowserId,const char *Row
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Upload_file_or_create_folder_in_FOLDER,
FileNameToShow);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Open ? "open" :
- "closed",
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink (Open ? "folder-open-plus16x16.gif" :
+ "folder-closed-plus16x16.gif",
+ Gbl.Title);
Frm_EndForm ();
/***** End container *****/
@@ -12584,11 +12497,11 @@ static void Brw_PutLinkToAskRemOldFiles (void)
{
extern const char *Txt_Remove_old_files;
- Lay_PutContextualLink (ActReqRemOldBrf,NULL,
- Brw_PutHiddenParamFullTreeIfSelected,
- "trash.svg",
- Txt_Remove_old_files,Txt_Remove_old_files,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqRemOldBrf,NULL,
+ Brw_PutHiddenParamFullTreeIfSelected,
+ "trash.svg",
+ Txt_Remove_old_files,
+ Txt_Remove_old_files);
}
/*****************************************************************************/
diff --git a/swad_follow.c b/swad_follow.c
index d9b48f2e..34cc957a 100644
--- a/swad_follow.c
+++ b/swad_follow.c
@@ -99,10 +99,10 @@ void Fol_PutLinkWhoToFollow (void)
{
extern const char *Txt_Who_to_follow;
- Lay_PutContextualLink (ActSeeSocPrf,NULL,NULL,
- "user-plus.svg",
- Txt_Who_to_follow,Txt_Who_to_follow,
- NULL);
+ Lay_PutContextualLinkIconText (ActSeeSocPrf,NULL,NULL,
+ "user-plus.svg",
+ Txt_Who_to_follow,
+ Txt_Who_to_follow);
}
/*****************************************************************************/
diff --git a/swad_forum.c b/swad_forum.c
index 270926c1..f59e30ab 100644
--- a/swad_forum.c
+++ b/swad_forum.c
@@ -1239,14 +1239,9 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
Enabled ? Txt_Post_X_allowed_Click_to_ban_it :
Txt_Post_X_banned_Click_to_unban_it,
PstNum);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Enabled ? "eye.svg" :
- "eye-slash.svg",
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink (Enabled ? "eye.svg" :
+ "eye-slash.svg",
+ Gbl.Title);
Frm_EndForm ();
}
else
diff --git a/swad_game.c b/swad_game.c
index 3ca7b05c..c918fb7f 100644
--- a/swad_game.c
+++ b/swad_game.c
@@ -824,10 +824,9 @@ static void Gam_PutFormsToRemEditOneGame (long GamCod,bool Visible,
Ico_PutContextualIconToRemove (ActReqRemGam,Gam_PutParams);
/***** Put icon to reset game *****/
- Lay_PutContextualLink (ActReqRstGam,NULL,Gam_PutParams,
- "recycle.svg",
- Txt_Reset,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActReqRstGam,NULL,Gam_PutParams,
+ "recycle.svg",
+ Txt_Reset);
/***** Put icon to hide/show game *****/
if (Visible)
@@ -840,16 +839,15 @@ static void Gam_PutFormsToRemEditOneGame (long GamCod,bool Visible,
if (ShowOnlyThisGame)
/***** Put icon to show first question *****/
- Lay_PutContextualLink (ActPlyGam1stQst,NULL,Gam_PutParamsToPlayGame1stQst,
- "play.svg",
- Txt_Play,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActPlyGam1stQst,NULL,
+ Gam_PutParamsToPlayGame1stQst,
+ "play.svg",
+ Txt_Play);
else
/***** Put icon to play game *****/
- Lay_PutContextualLink (ActPlyGam,NULL,Gam_PutParams,
- "play.svg",
- Txt_Play,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActPlyGam,NULL,Gam_PutParams,
+ "play.svg",
+ Txt_Play);
}
/*****************************************************************************/
@@ -2901,10 +2899,9 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Game *Game,
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Move_up_X,
StrNumQst);
- Lay_PutContextualLink (ActUp_GamQst,NULL,Gam_PutParamsOneQst,
- "arrow-up.svg",
- Gbl.Title,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,NULL,Gam_PutParamsOneQst,
+ "arrow-up.svg",
+ Gbl.Title);
}
else
Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
@@ -2915,10 +2912,9 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Game *Game,
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Move_down_X,
StrNumQst);
- Lay_PutContextualLink (ActDwnGamQst,NULL,Gam_PutParamsOneQst,
- "arrow-down.svg",
- Gbl.Title,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,NULL,Gam_PutParamsOneQst,
+ "arrow-down.svg",
+ Gbl.Title);
}
else
Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
diff --git a/swad_group.c b/swad_group.c
index 09312004..b04ef013 100644
--- a/swad_group.c
+++ b/swad_group.c
@@ -1545,14 +1545,9 @@ static void Grp_ListGroupsForEdition (void)
Grp->Open ? Txt_Group_X_open_click_to_close_it :
Txt_Group_X_closed_click_to_open_it,
Grp->GrpName);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Grp->Open ? "lock-open.svg" :
- "lock.svg",
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink (Grp->Open ? "lock-open.svg" :
+ "lock.svg",
+ Gbl.Title);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
@@ -1566,14 +1561,9 @@ static void Grp_ListGroupsForEdition (void)
Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them :
Txt_File_zones_of_the_group_X_disabled_click_to_enable_them,
Grp->GrpName);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Grp->FileZones ? "folder-open-green.svg" :
- "folder-red.svg",
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink (Grp->FileZones ? "folder-open-green.svg" :
+ "folder-red.svg",
+ Gbl.Title);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
@@ -5095,14 +5085,9 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,void (*FuncParams) ())
Par_PutHiddenParamUnsigned ("WhichGrps",(unsigned) WhichGrps);
if (FuncParams) // Extra parameters depending on the action
FuncParams ();
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- WhichGrps == Grp_ONLY_MY_GROUPS ? "mysitemap.png" :
- "sitemap.svg",
- Txt_GROUP_WHICH_GROUPS[WhichGrps],
- Txt_GROUP_WHICH_GROUPS[WhichGrps]);
+ Ico_PutPrefIconLink (WhichGrps == Grp_ONLY_MY_GROUPS ? "mysitemap.png" :
+ "sitemap.svg",
+ Txt_GROUP_WHICH_GROUPS[WhichGrps]);
Frm_EndForm ();
fprintf (Gbl.F.Out," ");
}
diff --git a/swad_icon.c b/swad_icon.c
index 2474041e..f555a267 100644
--- a/swad_icon.c
+++ b/swad_icon.c
@@ -115,6 +115,7 @@ void Ico_PutIconsToSelectIconSet (void)
extern const char *Hlp_PROFILE_Preferences_icons;
extern const char *Txt_Icons;
Ico_IconSet_t IconSet;
+ char Icon[PATH_MAX + 1];
Box_StartBox (NULL,Txt_Icons,Ico_PutIconsIconSet,
Hlp_PROFILE_Preferences_icons,Box_NOT_CLOSABLE);
@@ -128,13 +129,11 @@ void Ico_PutIconsToSelectIconSet (void)
"PREF_OFF");
Frm_StartForm (ActChgIco);
Par_PutHiddenParamString ("IconSet",Ico_IconSetId[IconSet]);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Cfg_ICON_FOLDER_ICON_SETS,
- Ico_IconSetId[IconSet],
- Ico_IconSetNames[IconSet],
- Ico_IconSetNames[IconSet]);
+ snprintf (Icon,sizeof (Icon),
+ "%s/%s/cog.svg",
+ Cfg_ICON_FOLDER_ICON_SETS,
+ Ico_IconSetId[IconSet]);
+ Ico_PutPrefIconLink (Icon,Ico_IconSetNames[IconSet]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -222,97 +221,132 @@ void Ico_PutContextualIconToAdd (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (),
const char *Txt)
{
- Lay_PutContextualLink (NextAction,Anchor,FuncParams,
- "plus.svg",
- Txt,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,FuncParams,
+ "plus.svg",
+ Txt);
}
void Ico_PutContextualIconToRemove (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_Remove;
- Lay_PutContextualLink (NextAction,NULL,FuncParams,
- "trash.svg",
- Txt_Remove,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
+ "trash.svg",
+ Txt_Remove);
}
void Ico_PutContextualIconToEdit (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_Edit;
- Lay_PutContextualLink (NextAction,NULL,FuncParams,
- "pen.svg",
- Txt_Edit,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
+ "pen.svg",
+ Txt_Edit);
}
void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_Files;
- Lay_PutContextualLink (NextAction,NULL,FuncParams,
- "folder-open.svg",
- Txt_Files,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
+ "folder-open.svg",
+ Txt_Files);
}
void Ico_PutContextualIconToView (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_View;
- Lay_PutContextualLink (NextAction,NULL,FuncParams,
- "eye.svg",
- Txt_View,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
+ "eye.svg",
+ Txt_View);
}
void Ico_PutContextualIconToHide (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_Hide;
- Lay_PutContextualLink (NextAction,NULL,FuncParams,
- "eye.svg",
- Txt_Hide,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
+ "eye.svg",
+ Txt_Hide);
}
void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_Show;
- Lay_PutContextualLink (NextAction,NULL,FuncParams,
- "eye-slash.svg",
- Txt_Show,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
+ "eye-slash.svg",
+ Txt_Show);
}
void Ico_PutContextualIconToPrint (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_Print;
- Lay_PutContextualLink (NextAction,NULL,FuncParams,
- "print.svg",
- Txt_Print,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
+ "print.svg",
+ Txt_Print);
+ }
+
+/*****************************************************************************/
+/**************** Show an icon inside a div (without text) *******************/
+/*****************************************************************************/
+
+void Ico_PutDivIcon (const char *DivClass,const char *Icon,const char *Title)
+ {
+ fprintf (Gbl.F.Out,""
+ "
"
+ "
",
+ DivClass,
+ Gbl.Prefs.URLIcons,Icon,
+ Title,Title);
+ }
+
+/*****************************************************************************/
+/*********** Show an icon with a link inside a div (without text) ************/
+/*****************************************************************************/
+
+void Ico_PutDivIconLink (const char *DivClass,const char *Icon,const char *Title)
+ {
+ fprintf (Gbl.F.Out,""
+ " "
+ "
",
+ DivClass,
+ Gbl.Prefs.URLIcons,Icon,
+ Title,Title);
}
/*****************************************************************************/
/****************** Show an icon with a link (without text) ******************/
/*****************************************************************************/
-void Ico_PutIconLink (const char *Icon,const char *Title,const char *Text,
- const char *LinkStyle,const char *OnSubmit)
+void Ico_PutIconLink (const char *Icon,const char *Title)
{
- Frm_LinkFormSubmit (Title,LinkStyle,OnSubmit);
- if (Text)
- Ico_PutIconWithText (Icon,Title,Text);
- else
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,Icon,Title,Title);
- fprintf (Gbl.F.Out,"");
+ fprintf (Gbl.F.Out," ",
+ Gbl.Prefs.URLIcons,Icon,
+ Title,Title);
+ }
+
+/*****************************************************************************/
+/************************** Show a preference selector ***********************/
+/*****************************************************************************/
+
+void Ico_PutPrefIconLink (const char *Icon,const char *Title)
+ {
+ fprintf (Gbl.F.Out," ",
+ Gbl.Prefs.URLIcons,Icon,
+ Title,Title);
}
/*****************************************************************************/
@@ -322,7 +356,7 @@ void Ico_PutIconLink (const char *Icon,const char *Title,const char *Text,
void Ico_PutIconOff (const char *Icon,const char *Alt)
{
fprintf (Gbl.F.Out," ",
+ " class=\"CONTEXT_OPT ICO_HIDDEN CONTEXT_ICO_16x16\" />",
Gbl.Prefs.URLIcons,Icon,Alt,Alt);
}
@@ -335,7 +369,7 @@ void Ico_PutIconWithText (const char *Icon,const char *Alt,const char *Text)
/***** Print icon and optional text *****/
fprintf (Gbl.F.Out,""
"
",
+ " class=\"CONTEXT_ICO_x16\" />",
Gbl.Prefs.URLIcons,Icon,Alt,Text ? Text :
Alt);
if (Text)
@@ -354,10 +388,10 @@ void Ico_PutCalculateIcon (const char *Alt)
fprintf (Gbl.F.Out,"
"
"
"
+ " class=\"CONTEXT_ICO_16x16\" />"
"
" // Animated icon hidden
+ " class=\"CONTEXT_ICO_16x16\" style=\"display:none;\" />" // Animated icon hidden
"
"
"",
Gbl.Form.Num,Gbl.Prefs.URLIcons,Alt,Alt,
@@ -406,12 +440,7 @@ void Ico_PutIconRemove (void)
{
extern const char *Txt_Remove;
- fprintf (Gbl.F.Out,"
",
- Gbl.Prefs.URLIcons,
- Txt_Remove,
- Txt_Remove);
+ Ico_PutIconLink ("trash.svg",Txt_Remove);
}
/*****************************************************************************/
@@ -422,12 +451,7 @@ void Ico_PutIconCut (void)
{
extern const char *Txt_Cut;
- fprintf (Gbl.F.Out,"
",
- Gbl.Prefs.URLIcons,
- Txt_Cut,
- Txt_Cut);
+ Ico_PutIconLink ("cut.svg",Txt_Cut);
}
/*****************************************************************************/
@@ -438,10 +462,5 @@ void Ico_PutIconPaste (void)
{
extern const char *Txt_Paste;
- fprintf (Gbl.F.Out,"
",
- Gbl.Prefs.URLIcons,
- Txt_Paste,
- Txt_Paste);
+ Ico_PutIconLink ("paste.svg",Txt_Paste);
}
diff --git a/swad_icon.h b/swad_icon.h
index 060bbae3..ee99b322 100644
--- a/swad_icon.h
+++ b/swad_icon.h
@@ -66,8 +66,10 @@ void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,void (*FuncParams) (
void Ico_PutContextualIconToHide (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToPrint (Act_Action_t NextAction,void (*FuncParams) ());
-void Ico_PutIconLink (const char *Icon,const char *Title,const char *Text,
- const char *LinkStyle,const char *OnSubmit);
+void Ico_PutDivIcon (const char *DivClass,const char *Icon,const char *Title);
+void Ico_PutDivIconLink (const char *DivClass,const char *Icon,const char *Title);
+void Ico_PutIconLink (const char *Icon,const char *Title);
+void Ico_PutPrefIconLink (const char *Icon,const char *Title);
void Ico_PutIconOff (const char *Icon,const char *Alt);
void Ico_PutIconWithText (const char *Icon,const char *Alt,const char *Text);
diff --git a/swad_institution.c b/swad_institution.c
index 470c0b9b..6d3dddc4 100644
--- a/swad_institution.c
+++ b/swad_institution.c
@@ -982,10 +982,9 @@ static void Ins_PutIconToViewInstitutions (void)
{
extern const char *Txt_Institutions;
- Lay_PutContextualLink (ActSeeIns,NULL,NULL,
- "university.svg",
- Txt_Institutions,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeIns,NULL,NULL,
+ "university.svg",
+ Txt_Institutions);
}
/*****************************************************************************/
diff --git a/swad_language.c b/swad_language.c
index 67769c70..2f28d5bc 100644
--- a/swad_language.c
+++ b/swad_language.c
@@ -77,10 +77,10 @@ static void Lan_PutParamLanguage (void);
void Lan_PutLinkToChangeLanguage (void)
{
- Lay_PutContextualLink (ActEdiPrf,NULL,NULL,
- "globe.svg",
- "Change language","Change language",
- NULL);
+ Lay_PutContextualLinkIconText (ActEdiPrf,NULL,NULL,
+ "globe.svg",
+ "Change language",
+ "Change language");
}
/*****************************************************************************/
diff --git a/swad_layout.c b/swad_layout.c
index 2c5bc6bd..a92404a1 100644
--- a/swad_layout.c
+++ b/swad_layout.c
@@ -1089,17 +1089,72 @@ static void Lay_ShowRightColumn (void)
/**************** Show an icon with a link in contextual menu ****************/
/*****************************************************************************/
-void Lay_PutContextualLink (Act_Action_t NextAction,const char *Anchor,
- void (*FuncParams) (),
- const char *Icon,
- const char *Title,const char *Text,
- const char *OnSubmit)
+void Lay_PutContextualLinkOnlyIcon (Act_Action_t NextAction,const char *Anchor,
+ void (*FuncParams) (),
+ const char *Icon,
+ const char *Title)
+ {
+ /***** Start form *****/
+ Frm_StartFormAnchor (NextAction,Anchor);
+ if (FuncParams)
+ FuncParams ();
+
+ /***** Put icon with link *****/
+ Ico_PutIconLink (Icon,Title);
+
+ /***** End form *****/
+ Frm_EndForm ();
+ }
+
+/*****************************************************************************/
+/**************** Show an icon with a link in contextual menu ****************/
+/*****************************************************************************/
+
+void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
+ void (*FuncParams) (),
+ const char *Icon,
+ const char *Title,
+ const char *Text)
{
extern const char *The_ClassFormBold[The_NUM_THEMES];
/***** Separator *****/
- if (Text)
- fprintf (Gbl.F.Out," "); // This space is necessary to enable
+ fprintf (Gbl.F.Out," "); // This space is necessary to enable
+ // jumping to the next line on narrow screens
+
+ /***** Start form *****/
+ Frm_StartFormAnchor (NextAction,Anchor);
+ if (FuncParams)
+ FuncParams ();
+
+ /***** Put icon and text with link *****/
+ Frm_LinkFormSubmit (Title,The_ClassFormBold[Gbl.Prefs.Theme],NULL);
+ Ico_PutIconWithText (Icon,Title,Text);
+ fprintf (Gbl.F.Out,"");
+
+ /***** End form *****/
+ Frm_EndForm ();
+
+ /***** Separator *****/
+ fprintf (Gbl.F.Out," "); // This space is necessary to enable
+ // jumping to the next line on narrow screens
+ }
+
+/*****************************************************************************/
+/**************** Show an icon with a link in contextual menu ****************/
+/*****************************************************************************/
+
+void Lay_PutContextualLinkIconTextOnSubmit (Act_Action_t NextAction,const char *Anchor,
+ void (*FuncParams) (),
+ const char *Icon,
+ const char *Title,
+ const char *Text,
+ const char *OnSubmit)
+ {
+ extern const char *The_ClassFormBold[The_NUM_THEMES];
+
+ /***** Separator *****/
+ fprintf (Gbl.F.Out," "); // This space is necessary to enable
// jumping to the next line on narrow screens
/***** Start form *****/
@@ -1108,17 +1163,15 @@ void Lay_PutContextualLink (Act_Action_t NextAction,const char *Anchor,
FuncParams ();
/***** Put icon with link *****/
- Ico_PutIconLink (Icon,Title,Text,
- Text ? The_ClassFormBold[Gbl.Prefs.Theme] :
- NULL,
- OnSubmit);
+ Frm_LinkFormSubmit (Title,The_ClassFormBold[Gbl.Prefs.Theme],OnSubmit);
+ Ico_PutIconWithText (Icon,Title,Text);
+ fprintf (Gbl.F.Out,"");
/***** End form *****/
Frm_EndForm ();
/***** Separator *****/
- if (Text)
- fprintf (Gbl.F.Out," "); // This space is necessary to enable
+ fprintf (Gbl.F.Out," "); // This space is necessary to enable
// jumping to the next line on narrow screens
}
diff --git a/swad_layout.h b/swad_layout.h
index 227b704f..b88067d2 100644
--- a/swad_layout.h
+++ b/swad_layout.h
@@ -52,11 +52,21 @@ void Lay_WriteStartOfPage (void);
void Lay_WriteHTTPStatus204NoContent (void);
-void Lay_PutContextualLink (Act_Action_t NextAction,const char *Anchor,
- void (*FuncParams) (),
- const char *Icon,
- const char *Title,const char *Text,
- const char *OnSubmit);
+void Lay_PutContextualLinkOnlyIcon (Act_Action_t NextAction,const char *Anchor,
+ void (*FuncParams) (),
+ const char *Icon,
+ const char *Title);
+void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
+ void (*FuncParams) (),
+ const char *Icon,
+ const char *Title,
+ const char *Text);
+void Lay_PutContextualLinkIconTextOnSubmit (Act_Action_t NextAction,const char *Anchor,
+ void (*FuncParams) (),
+ const char *Icon,
+ const char *Title,
+ const char *Text,
+ const char *OnSubmit);
void Lay_PutContextualCheckbox (Act_Action_t NextAction,
void (*FuncParams) (),
const char *CheckboxName,
diff --git a/swad_link.c b/swad_link.c
index 66162103..8cac28e9 100644
--- a/swad_link.c
+++ b/swad_link.c
@@ -256,10 +256,9 @@ void Lnk_PutIconToViewLinks (void)
{
extern const char *Txt_Links;
- Lay_PutContextualLink (ActSeeLnk,NULL,NULL,
- "link.svg",
- Txt_Links,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeLnk,NULL,NULL,
+ "link.svg",
+ Txt_Links);
}
/*****************************************************************************/
diff --git a/swad_logo.c b/swad_logo.c
index c79b2ce0..81192283 100644
--- a/swad_logo.c
+++ b/swad_logo.c
@@ -219,11 +219,10 @@ void Log_PutIconToChangeLogo (Sco_Scope_t Scope)
LogoExists = Fil_CheckIfPathExists (PathLogo);
/***** Link for changing / uploading the logo *****/
- Lay_PutContextualLink (Action,NULL,NULL,
- "shield-alt.svg",
- LogoExists ? Txt_Change_logo :
- Txt_Upload_logo,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (Action,NULL,NULL,
+ "shield-alt.svg",
+ LogoExists ? Txt_Change_logo :
+ Txt_Upload_logo);
}
/*****************************************************************************/
@@ -279,10 +278,10 @@ void Log_RequestLogo (Sco_Scope_t Scope)
{
/***** Form to remove photo *****/
fprintf (Gbl.F.Out,"
");
- Lay_PutContextualLink (ActionRem,NULL,NULL,
- "trash.svg",
- Txt_Remove_logo,Txt_Remove_logo,
- NULL);
+ Lay_PutContextualLinkIconText (ActionRem,NULL,NULL,
+ "trash.svg",
+ Txt_Remove_logo,
+ Txt_Remove_logo);
fprintf (Gbl.F.Out,"
");
}
diff --git a/swad_menu.c b/swad_menu.c
index f63dc1b9..5718dab4 100644
--- a/swad_menu.c
+++ b/swad_menu.c
@@ -426,12 +426,7 @@ void Mnu_PutIconsToSelectMenu (void)
"PREF_OFF");
Frm_StartForm (ActChgMnu);
Par_PutHiddenParamUnsigned ("Menu",(unsigned) Menu);
- fprintf (Gbl.F.Out,"
",
- Gbl.Prefs.URLIcons,
- Mnu_MenuIcons[Menu],
- Txt_MENU_NAMES[Menu],
- Txt_MENU_NAMES[Menu]);
+ Ico_PutPrefIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"
");
}
diff --git a/swad_message.c b/swad_message.c
index 5d6121b3..56fe38cb 100644
--- a/swad_message.c
+++ b/swad_message.c
@@ -363,11 +363,12 @@ static void Msg_PutLinkToShowMorePotentialRecipients (void)
extern const char *Txt_Show_more_recipients;
fprintf (Gbl.F.Out,"");
}
@@ -1872,10 +1873,10 @@ static void Msg_PutLinkToViewBannedUsers(void)
{
extern const char *Txt_Banned_users;
- Lay_PutContextualLink (ActLstBanUsr,NULL,NULL,
- "lock.svg",
- Txt_Banned_users,Txt_Banned_users,
- NULL);
+ Lay_PutContextualLinkIconText (ActLstBanUsr,NULL,NULL,
+ "lock.svg",
+ Txt_Banned_users,
+ Txt_Banned_users);
}
/*****************************************************************************/
@@ -3340,8 +3341,7 @@ static void Msg_WriteFormToReply (long MsgCod,long CrsCod,
FromThisCrs ? (Replied ? Txt_Reply_again :
Txt_Reply) :
(Replied ? Txt_Go_to_course_and_reply_again :
- Txt_Go_to_course_and_reply),
- NULL,NULL,NULL);
+ Txt_Go_to_course_and_reply));
Frm_EndForm ();
}
@@ -3388,6 +3388,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
fprintf (Gbl.F.Out,"%s",UsrDat->FullName);
if (Act_GetSuperAction (Gbl.Action.Act) == ActSeeRcvMsg)
{
+ fprintf (Gbl.F.Out," ");
if (Msg_CheckIfUsrIsBanned (UsrDat->UsrCod,Gbl.Usrs.Me.UsrDat.UsrCod))
// Sender is banned
Msg_PutFormToUnbanSender (UsrDat);
@@ -3674,12 +3675,7 @@ static void Msg_PutFormToBanSender (struct UsrData *UsrDat)
Gbl.Msg.CurrentPage);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Msg_PutHiddenParamsMsgsFilters ();
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Txt_Sender_permitted_click_to_ban_him,
- Txt_Sender_permitted_click_to_ban_him);
+ Ico_PutIconLink ("lock-open.svg",Txt_Sender_permitted_click_to_ban_him);
Frm_EndForm ();
}
@@ -3696,12 +3692,7 @@ static void Msg_PutFormToUnbanSender (struct UsrData *UsrDat)
Gbl.Msg.CurrentPage);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Msg_PutHiddenParamsMsgsFilters ();
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Txt_Sender_banned_click_to_unban_him,
- Txt_Sender_banned_click_to_unban_him);
+ Ico_PutIconLink ("lock.svg",Txt_Sender_banned_click_to_unban_him);
Frm_EndForm ();
}
@@ -3875,13 +3866,7 @@ void Msg_ListBannedUsrs (void)
"");
Frm_StartForm (ActUnbUsrLst);
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Txt_Sender_banned_click_to_unban_him,
- Txt_Sender_banned_click_to_unban_him);
+ Ico_PutIconLink ("lock.svg",Txt_Sender_banned_click_to_unban_him);
Frm_EndForm ();
fprintf (Gbl.F.Out," ");
diff --git a/swad_notice.c b/swad_notice.c
index fc1d5227..95197123 100644
--- a/swad_notice.c
+++ b/swad_notice.c
@@ -652,16 +652,14 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
switch (Status)
{
case Not_ACTIVE_NOTICE:
- Lay_PutContextualLink (ActHidNot,NULL,Not_PutParams,
- "eye.svg",
- Txt_NOTICE_Active_Mark_as_obsolete,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActHidNot,NULL,Not_PutParams,
+ "eye.svg",
+ Txt_NOTICE_Active_Mark_as_obsolete);
break;
case Not_OBSOLETE_NOTICE:
- Lay_PutContextualLink (ActRevNot,NULL,Not_PutParams,
- "eye-slash.svg",
- Txt_NOTICE_Obsolete_Mark_as_active,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActRevNot,NULL,Not_PutParams,
+ "eye-slash.svg",
+ Txt_NOTICE_Obsolete_Mark_as_active);
break;
}
Frm_EndForm ();
@@ -728,10 +726,9 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/* Put form to view full notice */
fprintf (Gbl.F.Out,"");
- Lay_PutContextualLink (ActSeeOneNot,NULL,Not_PutParams,
- "ellipsis-h.svg",
- Txt_See_full_notice,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeOneNot,NULL,Not_PutParams,
+ "ellipsis-h.svg",
+ Txt_See_full_notice);
fprintf (Gbl.F.Out,"
");
}
else
diff --git a/swad_notification.c b/swad_notification.c
index c41b2285..e8ac0228 100644
--- a/swad_notification.c
+++ b/swad_notification.c
@@ -371,23 +371,22 @@ void Ntf_ShowMyNotifications (void)
if (NumNotifications) // TODO: Show message only when I don't have notificacions at all
/* Put form to change notification preferences */
- Lay_PutContextualLink (ActMrkNtfSee,NULL,NULL,
- "eye.svg",
- Txt_Mark_all_notifications_as_read,
- Txt_Mark_all_NOTIFICATIONS_as_read,
- NULL);
+ Lay_PutContextualLinkIconText (ActMrkNtfSee,NULL,NULL,
+ "eye.svg",
+ Txt_Mark_all_notifications_as_read,
+ Txt_Mark_all_NOTIFICATIONS_as_read);
/* Put form to change notification preferences */
- Lay_PutContextualLink (ActEdiPrf,NULL,NULL,
- "cog.svg",
- Txt_Change_preferences,Txt_Settings,
- NULL);
+ Lay_PutContextualLinkIconText (ActEdiPrf,NULL,NULL,
+ "cog.svg",
+ Txt_Change_preferences,
+ Txt_Settings);
/* Put form to view allowed mail domains */
- Lay_PutContextualLink (ActSeeMai,NULL,NULL,
- "envelope.svg",
- Txt_Email_domains_allowed_for_notifications,Txt_Domains,
- NULL);
+ Lay_PutContextualLinkIconText (ActSeeMai,NULL,NULL,
+ "envelope.svg",
+ Txt_Email_domains_allowed_for_notifications,
+ Txt_Domains);
fprintf (Gbl.F.Out,"");
@@ -509,23 +508,13 @@ void Ntf_ShowMyNotifications (void)
if (PutLink)
{
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Ntf_Icons[NotifyEvent],
- Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent],
- Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
+ Ico_PutIconLink (Ntf_Icons[NotifyEvent],
+ Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
Frm_EndForm ();
}
else
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Ntf_Icons[NotifyEvent],
- Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent],
- Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
+ Ico_PutIconOff (Ntf_Icons[NotifyEvent],
+ Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
fprintf (Gbl.F.Out,"");
/* Write event type */
diff --git a/swad_password.c b/swad_password.c
index 24e2d989..64a1e191 100644
--- a/swad_password.c
+++ b/swad_password.c
@@ -259,11 +259,11 @@ void Pwd_PutLinkToSendNewPasswd (void)
{
extern const char *Txt_Forgotten_password;
- Lay_PutContextualLink (ActReqSndNewPwd,NULL,
- Pwd_PutLinkToSendNewPasswdParams,
- "key.svg",
- Txt_Forgotten_password,Txt_Forgotten_password,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqSndNewPwd,NULL,
+ Pwd_PutLinkToSendNewPasswdParams,
+ "key.svg",
+ Txt_Forgotten_password,
+ Txt_Forgotten_password);
}
static void Pwd_PutLinkToSendNewPasswdParams (void)
diff --git a/swad_photo.c b/swad_photo.c
index 45662ed6..365bac52 100644
--- a/swad_photo.c
+++ b/swad_photo.c
@@ -182,10 +182,9 @@ void Pho_PutIconToChangeUsrPhoto (void)
{
TitleText = Gbl.Usrs.Me.MyPhotoExists ? Txt_Change_photo :
Txt_Upload_photo;
- Lay_PutContextualLink (ActReqMyPho,NULL,NULL,
- "camera.svg",
- TitleText,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActReqMyPho,NULL,NULL,
+ "camera.svg",
+ TitleText);
}
else // Not me
if (Pho_ICanChangeOtherUsrPhoto (Gbl.Record.UsrDat))
@@ -206,10 +205,10 @@ void Pho_PutIconToChangeUsrPhoto (void)
NextAction = ActReqOthPho;
break;
}
- Lay_PutContextualLink (NextAction,NULL,Rec_PutParamUsrCodEncrypted,
- "camera.svg",
- TitleText,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "camera.svg",
+ TitleText);
}
}
@@ -223,10 +222,9 @@ static void Pho_PutIconToRequestRemoveMyPhoto (void)
/***** Link to request the removal of my photo *****/
if (Gbl.Usrs.Me.MyPhotoExists)
- Lay_PutContextualLink (ActReqRemMyPho,NULL,NULL,
- "trash.svg",
- Txt_Remove_photo,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActReqRemMyPho,NULL,NULL,
+ "trash.svg",
+ Txt_Remove_photo);
}
/*****************************************************************************/
@@ -257,11 +255,10 @@ static void Pho_PutIconToRequestRemoveOtherUsrPhoto (void)
NextAction = ActReqRemOthPho;
break;
}
- Lay_PutContextualLink (NextAction,NULL,
- Usr_PutParamOtherUsrCodEncrypted,
- "trash.svg",
- Txt_Remove_photo,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
+ Usr_PutParamOtherUsrCodEncrypted,
+ "trash.svg",
+ Txt_Remove_photo);
}
}
diff --git a/swad_place.c b/swad_place.c
index 7d9d7d70..265f5de7 100644
--- a/swad_place.c
+++ b/swad_place.c
@@ -299,10 +299,9 @@ void Plc_PutIconToViewPlaces (void)
{
extern const char *Txt_Places;
- Lay_PutContextualLink (ActSeePlc,NULL,NULL,
- "map-marker-alt.svg",
- Txt_Places,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeePlc,NULL,NULL,
+ "map-marker-alt.svg",
+ Txt_Places);
}
/*****************************************************************************/
diff --git a/swad_preference.c b/swad_preference.c
index 725e568f..fdb75392 100644
--- a/swad_preference.c
+++ b/swad_preference.c
@@ -232,6 +232,7 @@ static void Pre_PutIconsToSelectSideCols (void)
extern const char *Txt_Columns;
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
unsigned SideCols;
+ char Icon[32 + 1];
Box_StartBox (NULL,Txt_Columns,Pre_PutIconsSideColumns,
Hlp_PROFILE_Preferences_columns,Box_NOT_CLOSABLE);
@@ -245,12 +246,10 @@ static void Pre_PutIconsToSelectSideCols (void)
"PREF_OFF");
Frm_StartForm (ActChgCol);
Par_PutHiddenParamUnsigned ("SideCols",SideCols);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- SideCols >> 1,SideCols & 1,
- Txt_LAYOUT_SIDE_COLUMNS[SideCols],
- Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
+ snprintf (Icon,sizeof (Icon),
+ "layout%u%u_32x20.gif",
+ SideCols >> 1,SideCols & 1);
+ Ico_PutPrefIconLink (Icon,Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
diff --git a/swad_profile.c b/swad_profile.c
index 75018238..0149056d 100644
--- a/swad_profile.c
+++ b/swad_profile.c
@@ -136,10 +136,11 @@ void Prf_PutLinkMyPublicProfile (void)
{
extern const char *Txt_My_public_profile;
- Lay_PutContextualLink (ActSeeOthPubPrf,NULL,Usr_PutParamMyUsrCodEncrypted,
- "user.svg",
- Txt_My_public_profile,Txt_My_public_profile,
- NULL);
+ Lay_PutContextualLinkIconText (ActSeeOthPubPrf,NULL,
+ Usr_PutParamMyUsrCodEncrypted,
+ "user.svg",
+ Txt_My_public_profile,
+ Txt_My_public_profile);
}
/*****************************************************************************/
@@ -150,10 +151,10 @@ void Prf_PutLinkRequestAnotherUserProfile (void)
{
extern const char *Txt_Another_user_s_profile;
- Lay_PutContextualLink (ActReqOthPubPrf,NULL,NULL,
- "user.svg",
- Txt_Another_user_s_profile,Txt_Another_user_s_profile,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqOthPubPrf,NULL,NULL,
+ "user.svg",
+ Txt_Another_user_s_profile,
+ Txt_Another_user_s_profile);
}
/*****************************************************************************/
diff --git a/swad_project.c b/swad_project.c
index 3a1bca19..d4ef65ca 100644
--- a/swad_project.c
+++ b/swad_project.c
@@ -380,12 +380,8 @@ static void Prj_ShowFormToFilterByMy_All (void)
Gbl.Prjs.SelectedOrder,
Gbl.Prjs.CurrentPage,
-1L);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,WhoseProjectsImage[My_All],
- Txt_PROJECT_MY_ALL_PROJECTS[My_All],
- Txt_PROJECT_MY_ALL_PROJECTS[My_All]);
+ Ico_PutPrefIconLink (WhoseProjectsImage[My_All],
+ Txt_PROJECT_MY_ALL_PROJECTS[My_All]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -419,12 +415,8 @@ static void Prj_ShowFormToFilterByPreassignedNonPreassig (void)
Gbl.Prjs.SelectedOrder,
Gbl.Prjs.CurrentPage,
-1L);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,PreassignedNonpreassigImage[PreNon],
- Txt_PROJECT_PREASSIGNED_NONPREASSIGNED_PLURAL[PreNon],
- Txt_PROJECT_PREASSIGNED_NONPREASSIGNED_PLURAL[PreNon]);
+ Ico_PutPrefIconLink (PreassignedNonpreassigImage[PreNon],
+ Txt_PROJECT_PREASSIGNED_NONPREASSIGNED_PLURAL[PreNon]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -463,13 +455,8 @@ static void Prj_ShowFormToFilterByHidden (void)
Gbl.Prjs.SelectedOrder,
Gbl.Prjs.CurrentPage,
-1L);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- HiddenVisiblImage[HidVis],
- Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis],
- Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]);
+ Ico_PutPrefIconLink (HiddenVisiblImage[HidVis],
+ Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -847,10 +834,9 @@ static void Prj_PutIconToShowAllData (void)
{
extern const char *Txt_Show_all_data_in_a_table;
- Lay_PutContextualLink (ActSeeTblAllPrj,NULL,Prj_PutCurrentParams,
- "table.svg",
- Txt_Show_all_data_in_a_table,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeTblAllPrj,NULL,Prj_PutCurrentParams,
+ "table.svg",
+ Txt_Show_all_data_in_a_table);
}
/*****************************************************************************/
@@ -1677,10 +1663,10 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
if (ProjectView == Prj_EDIT_ONE_PROJECT)
{
fprintf (Gbl.F.Out,"");
- Lay_PutContextualLink (ActionReqRemUsr[RoleInProject],NULL,Prj_PutCurrentParams,
- "trash.svg",
- Txt_Remove,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActionReqRemUsr[RoleInProject],NULL,
+ Prj_PutCurrentParams,
+ "trash.svg",
+ Txt_Remove);
fprintf (Gbl.F.Out," ");
}
diff --git a/swad_record.c b/swad_record.c
index adc36a80..1e2b7c0b 100644
--- a/swad_record.c
+++ b/swad_record.c
@@ -995,10 +995,10 @@ void Rec_PutLinkToEditRecordFields (void)
extern const char *Txt_Edit_record_fields;
/***** Link to edit record fields *****/
- Lay_PutContextualLink (ActEdiRecFie,NULL,NULL,
- "pen.svg",
- Txt_Edit_record_fields,Txt_Edit_record_fields,
- NULL);
+ Lay_PutContextualLinkIconText (ActEdiRecFie,NULL,NULL,
+ "pen.svg",
+ Txt_Edit_record_fields,
+ Txt_Edit_record_fields);
}
/*****************************************************************************/
@@ -2549,45 +2549,40 @@ static void Rec_PutIconsCommands (void)
if (ItsMe)
/***** Button to edit my record card *****/
- Lay_PutContextualLink (ActReqEdiRecSha,NULL,NULL,
- "pen.svg",
- Txt_Edit_my_personal_data,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActReqEdiRecSha,NULL,NULL,
+ "pen.svg",
+ Txt_Edit_my_personal_data);
if (ICanViewUsrProfile)
/***** Button to view user's profile *****/
- Lay_PutContextualLink (ActSeeOthPubPrf,NULL,
- Rec_PutParamUsrCodEncrypted,
- "user.svg",
- ItsMe ? Txt_My_public_profile :
- Txt_Another_user_s_profile,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "user.svg",
+ ItsMe ? Txt_My_public_profile :
+ Txt_Another_user_s_profile);
/***** Button to view user's record card *****/
if (Usr_CheckIfICanViewRecordStd (Gbl.Record.UsrDat))
/* View student's records: common record card and course record card */
- Lay_PutContextualLink (ActSeeRecOneStd,NULL,
- Rec_PutParamUsrCodEncrypted,
- "card.svg",
- Txt_View_record_for_this_course,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "card.svg",
+ Txt_View_record_for_this_course);
else if (Usr_CheckIfICanViewRecordTch (Gbl.Record.UsrDat))
- Lay_PutContextualLink (ActSeeRecOneTch,NULL,
- Rec_PutParamUsrCodEncrypted,
- "card.svg",
- Txt_View_record_and_office_hours,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "card.svg",
+ Txt_View_record_and_office_hours);
/***** Button to view user's agenda *****/
if (ItsMe)
- Lay_PutContextualLink (ActSeeMyAgd,NULL,NULL,
- "calendar.svg",
- Txt_Show_agenda,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeMyAgd,NULL,NULL,
+ "calendar.svg",
+ Txt_Show_agenda);
else if (Usr_CheckIfICanViewUsrAgenda (Gbl.Record.UsrDat))
- Lay_PutContextualLink (ActSeeUsrAgd,NULL,Rec_PutParamUsrCodEncrypted,
- "calendar.svg",
- Txt_Show_agenda,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeUsrAgd,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "calendar.svg",
+ Txt_Show_agenda);
/***** Button to admin user *****/
if (ItsMe ||
@@ -2612,11 +2607,10 @@ static void Rec_PutIconsCommands (void)
NextAction = ActReqMdfOth;
break;
}
- Lay_PutContextualLink (NextAction,NULL,
- Rec_PutParamUsrCodEncrypted,
- "user-cog.svg",
- Txt_Administer_user,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "user-cog.svg",
+ Txt_Administer_user);
}
if (Gbl.CurrentCrs.Crs.CrsCod > 0) // A course is selected
@@ -2627,45 +2621,42 @@ static void Rec_PutIconsCommands (void)
if (Usr_CheckIfICanViewTst (Gbl.Record.UsrDat))
{
if (ItsMe)
- Lay_PutContextualLink (ActSeeMyTstRes,NULL,NULL,
- "check.svg",
- Txt_View_test_results,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeMyTstRes,NULL,NULL,
+ "check.svg",
+ Txt_View_test_results);
else // Not me
- Lay_PutContextualLink (ActSeeUsrTstRes,NULL,Rec_PutParamsStudent,
- "check.svg",
- Txt_View_test_results,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeUsrTstRes,NULL,
+ Rec_PutParamsStudent,
+ "check.svg",
+ Txt_View_test_results);
}
/***** Button to view student's assignments and works *****/
if (Usr_CheckIfICanViewAsgWrk (Gbl.Record.UsrDat))
{
if (ItsMe)
- Lay_PutContextualLink (ActAdmAsgWrkUsr,NULL,NULL,
- "folder-open.svg",
- Txt_View_homework,NULL,
- NULL);
- else // Not me // I am not a student in current course
- Lay_PutContextualLink (ActAdmAsgWrkCrs,NULL,Rec_PutParamsWorks,
- "folder-open.svg",
- Txt_View_homework,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrkUsr,NULL,NULL,
+ "folder-open.svg",
+ Txt_View_homework);
+ else // Not me, I am not a student in current course
+ Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrkCrs,NULL,
+ Rec_PutParamsWorks,
+ "folder-open.svg",
+ Txt_View_homework);
}
/***** Button to view student's attendance *****/
if (Usr_CheckIfICanViewAtt (Gbl.Record.UsrDat))
{
if (ItsMe)
- Lay_PutContextualLink (ActSeeLstMyAtt,NULL,NULL,
- "calendar-check.svg",
- Txt_View_attendance,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeLstMyAtt,NULL,NULL,
+ "calendar-check.svg",
+ Txt_View_attendance);
else // Not me
- Lay_PutContextualLink (ActSeeLstStdAtt,NULL,Rec_PutParamsStudent,
- "calendar-check.svg",
- Txt_View_attendance,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeLstStdAtt,NULL,
+ Rec_PutParamsStudent,
+ "calendar-check.svg",
+ Txt_View_attendance);
}
}
}
@@ -2674,10 +2665,9 @@ static void Rec_PutIconsCommands (void)
QR_PutLinkToPrintQRCode (ActPrnUsrQR,Rec_PutParamUsrCodEncrypted);
/***** Button to send a message *****/
- Lay_PutContextualLink (ActReqMsgUsr,NULL,Rec_PutParamsMsgUsr,
- "envelope.svg",
- Txt_Write_a_message,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActReqMsgUsr,NULL,Rec_PutParamsMsgUsr,
+ "envelope.svg",
+ Txt_Write_a_message);
/***** Button to follow / unfollow *****/
if (!ItsMe) // Not me
@@ -2685,15 +2675,15 @@ static void Rec_PutIconsCommands (void)
if (Fol_CheckUsrIsFollowerOf (Gbl.Usrs.Me.UsrDat.UsrCod,
Gbl.Record.UsrDat->UsrCod))
// I follow user
- Lay_PutContextualLink (ActUnfUsr,NULL,Rec_PutParamUsrCodEncrypted,
- "user-check.svg",
- Txt_Following_unfollow,NULL,
- NULL); // Put button to unfollow, even if I can not view user's profile
+ Lay_PutContextualLinkOnlyIcon (ActUnfUsr,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "user-check.svg",
+ Txt_Following_unfollow); // Put button to unfollow, even if I can not view user's profile
else if (ICanViewUsrProfile)
- Lay_PutContextualLink (ActFolUsr,NULL,Rec_PutParamUsrCodEncrypted,
- "user-plus.svg",
- Txt_Follow,NULL,
- NULL); // Put button to follow
+ Lay_PutContextualLinkOnlyIcon (ActFolUsr,NULL,
+ Rec_PutParamUsrCodEncrypted,
+ "user-plus.svg",
+ Txt_Follow); // Put button to follow
}
/***** Button to change user's photo *****/
diff --git a/swad_search.c b/swad_search.c
index baf95593..cb10e373 100644
--- a/swad_search.c
+++ b/swad_search.c
@@ -333,13 +333,7 @@ void Sch_PutMagnifyingGlassButton (const char *Icon)
extern const char *Txt_Search;
/***** Send button *****/
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Icon,
- Txt_Search,
- Txt_Search);
+ Ico_PutIconLink (Icon,Txt_Search);
}
/*****************************************************************************/
diff --git a/swad_social.c b/swad_social.c
index de745bf2..77f9c5b8 100644
--- a/swad_social.c
+++ b/swad_social.c
@@ -1879,7 +1879,7 @@ static void Soc_PutFormGoToAction (const struct SocialNote *SocNot)
Frm_LinkFormSubmitUnique (Txt_SOCIAL_NOTE[SocNot->NoteType],Class);
fprintf (Gbl.F.Out," "
+ " class=\"CONTEXT_ICO_x16\" />"
" %s"
"",
Gbl.Prefs.URLIcons,Soc_Icons[SocNot->NoteType],
@@ -2360,7 +2360,7 @@ static void Soc_PutIconToToggleCommentSocialNote (const char UniqueId[Frm_MAX_BY
" onclick=\"toggleDisplay('%s');return false;\" />"
" "
+ " class=\"CONTEXT_ICO_x16\" />"
""
"",
UniqueId,
@@ -2672,15 +2672,8 @@ static void Soc_PutFormToRemoveComment (long PubCod)
/***** Form to remove social publishing *****/
Soc_FormStart (ActReqRemSocComGbl,ActReqRemSocComUsr);
Soc_PutHiddenParamPubCod (PubCod);
- fprintf (Gbl.F.Out,""
- " "
- "
",
- Gbl.Prefs.URLIcons,
- Txt_Remove,
- Txt_Remove);
+ Ico_PutDivIconLink ("SOCIAL_ICO_REMOVE",
+ "trash.svg",Txt_Remove);
Frm_EndForm ();
}
@@ -2696,14 +2689,8 @@ static void Soc_PutFormToFavSocialComment (long PubCod)
/***** Form to mark social comment as favourite *****/
Soc_FormStart (ActFavSocComGbl,ActFavSocComUsr);
Soc_PutHiddenParamPubCod (PubCod);
- fprintf (Gbl.F.Out,""
- " "
- "
",
- Gbl.Prefs.URLIcons,
- Txt_Mark_as_favourite,Txt_Mark_as_favourite);
+ Ico_PutDivIconLink ("SOCIAL_ICO_FAV",
+ "star.svg",Txt_Mark_as_favourite);
Frm_EndForm ();
}
@@ -2725,13 +2712,8 @@ static void Soc_PutDisabledIconShare (unsigned NumShared)
Lay_MAX_BYTES_TITLE);
/***** Disabled icon to share *****/
- fprintf (Gbl.F.Out,""
- "
"
- "
",
- Gbl.Prefs.URLIcons,
- Gbl.Title,Gbl.Title);
+ Ico_PutDivIcon ("SOCIAL_ICO_SHARE_DISABLED",
+ "share-alt.svg",Gbl.Title);
}
/*****************************************************************************/
@@ -2752,13 +2734,8 @@ static void Soc_PutDisabledIconFav (unsigned NumFavs)
Lay_MAX_BYTES_TITLE);
/***** Disabled icon to mark as favourite *****/
- fprintf (Gbl.F.Out,""
- "
"
- "
",
- Gbl.Prefs.URLIcons,
- Gbl.Title,Gbl.Title);
+ Ico_PutDivIcon ("SOCIAL_ICO_FAV_DISABLED",
+ "star.svg",Gbl.Title);
}
/*****************************************************************************/
@@ -2773,14 +2750,8 @@ static void Soc_PutFormToShareSocialNote (long NotCod)
/***** Form to share social note *****/
Soc_FormStart (ActShaSocNotGbl,ActShaSocNotUsr);
Soc_PutHiddenParamNotCod (NotCod);
- fprintf (Gbl.F.Out,""
- " "
- "
",
- Gbl.Prefs.URLIcons,
- Txt_Share,Txt_Share);
+ Ico_PutDivIconLink ("SOCIAL_ICO_SHARE",
+ "share-alt.svg",Txt_Share);
Frm_EndForm ();
}
@@ -2796,14 +2767,8 @@ static void Soc_PutFormToFavSocialNote (long NotCod)
/***** Form to mark social note as favourite *****/
Soc_FormStart (ActFavSocNotGbl,ActFavSocNotUsr);
Soc_PutHiddenParamNotCod (NotCod);
- fprintf (Gbl.F.Out,""
- " "
- "
",
- Gbl.Prefs.URLIcons,
- Txt_Mark_as_favourite,Txt_Mark_as_favourite);
+ Ico_PutDivIconLink ("SOCIAL_ICO_FAV",
+ "star.svg",Txt_Mark_as_favourite);
Frm_EndForm ();
}
@@ -2819,14 +2784,8 @@ static void Soc_PutFormToUnshareSocialNote (long NotCod)
/***** Form to share social publishing *****/
Soc_FormStart (ActUnsSocNotGbl,ActUnsSocNotUsr);
Soc_PutHiddenParamNotCod (NotCod);
- fprintf (Gbl.F.Out,""
- " "
- "
",
- Gbl.Prefs.URLIcons,
- Txt_SOCIAL_NOTE_Shared,Txt_SOCIAL_NOTE_Shared);
+ Ico_PutDivIconLink ("SOCIAL_ICO_SHARE",
+ "share-alt-green.svg",Txt_SOCIAL_NOTE_Shared);
Frm_EndForm ();
}
@@ -2842,14 +2801,8 @@ static void Soc_PutFormToUnfavSocialNote (long NotCod)
/***** Form to unfav social note *****/
Soc_FormStart (ActUnfSocNotGbl,ActUnfSocNotUsr);
Soc_PutHiddenParamNotCod (NotCod);
- fprintf (Gbl.F.Out,""
- " "
- "
",
- Gbl.Prefs.URLIcons,
- Txt_SOCIAL_NOTE_Favourite,Txt_SOCIAL_NOTE_Favourite);
+ Ico_PutDivIconLink ("SOCIAL_ICO_FAV",
+ "star-yellow.svg",Txt_SOCIAL_NOTE_Favourite);
Frm_EndForm ();
}
@@ -2865,14 +2818,8 @@ static void Soc_PutFormToUnfavSocialComment (long PubCod)
/***** Form to unfav social comment *****/
Soc_FormStart (ActUnfSocComGbl,ActUnfSocComUsr);
Soc_PutHiddenParamPubCod (PubCod);
- fprintf (Gbl.F.Out,""
- " "
- "
",
- Gbl.Prefs.URLIcons,
- Txt_SOCIAL_NOTE_Favourite,Txt_SOCIAL_NOTE_Favourite);
+ Ico_PutDivIconLink ("SOCIAL_ICO_FAV",
+ "star-yellow.svg",Txt_SOCIAL_NOTE_Favourite);
Frm_EndForm ();
}
@@ -2888,15 +2835,8 @@ static void Soc_PutFormToRemoveSocialPublishing (long NotCod)
/***** Form to remove social publishing *****/
Soc_FormStart (ActReqRemSocPubGbl,ActReqRemSocPubUsr);
Soc_PutHiddenParamNotCod (NotCod);
- fprintf (Gbl.F.Out,""
- " "
- "
",
- Gbl.Prefs.URLIcons,
- Txt_Remove,
- Txt_Remove);
+ Ico_PutDivIconLink ("SOCIAL_ICO_REMOVE",
+ "trash.svg",Txt_Remove);
Frm_EndForm ();
}
diff --git a/swad_statistic.c b/swad_statistic.c
index c021f14a..7c8b1429 100644
--- a/swad_statistic.c
+++ b/swad_statistic.c
@@ -752,10 +752,10 @@ static void Sta_PutLinkToCourseHits (void)
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
- Lay_PutContextualLink (ActReqAccCrs,NULL,NULL,
- "chart-line.svg",
- Txt_Visits_to_course,Txt_Visits_to_course,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqAccCrs,NULL,NULL,
+ "chart-line.svg",
+ Txt_Visits_to_course,
+ Txt_Visits_to_course);
break;
default:
break;
@@ -770,10 +770,10 @@ static void Sta_PutLinkToGlobalHits (void)
{
extern const char *Txt_Global_visits;
- Lay_PutContextualLink (ActReqAccGbl,NULL,NULL,
- "chart-line.svg",
- Txt_Global_visits,Txt_Global_visits,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqAccGbl,NULL,NULL,
+ "chart-line.svg",
+ Txt_Global_visits,
+ Txt_Global_visits);
}
/*****************************************************************************/
@@ -4133,10 +4133,9 @@ void Sta_PutIconToShowFigure (void)
{
extern const char *Txt_Show_statistic;
- Lay_PutContextualLink (ActSeeUseGbl,NULL,Sta_PutParamsToShowFigure,
- "chart-pie.svg",
- Txt_Show_statistic,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActSeeUseGbl,NULL,Sta_PutParamsToShowFigure,
+ "chart-pie.svg",
+ Txt_Show_statistic);
}
/*****************************************************************************/
@@ -9665,10 +9664,10 @@ void Con_PutLinkToLastClicks (void)
{
extern const char *Txt_Last_clicks;
- Lay_PutContextualLink (ActLstClk,NULL,NULL,
- "mouse-pointer.svg",
- Txt_Last_clicks,Txt_Last_clicks,
- NULL);
+ Lay_PutContextualLinkIconText (ActLstClk,NULL,NULL,
+ "mouse-pointer.svg",
+ Txt_Last_clicks,
+ Txt_Last_clicks);
}
/*****************************************************************************/
diff --git a/swad_survey.c b/swad_survey.c
index 62c5d6f4..ff62a669 100644
--- a/swad_survey.c
+++ b/swad_survey.c
@@ -811,10 +811,9 @@ static void Svy_PutFormsToRemEditOneSvy (long SvyCod,bool Visible)
Ico_PutContextualIconToRemove (ActReqRemSvy,Svy_PutParams);
/***** Put form to reset survey *****/
- Lay_PutContextualLink (ActReqRstSvy,NULL,Svy_PutParams,
- "recycle.svg",
- Txt_Reset,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActReqRstSvy,NULL,Svy_PutParams,
+ "recycle.svg",
+ Txt_Reset);
/***** Put form to hide/show survey *****/
if (Visible)
diff --git a/swad_syllabus.c b/swad_syllabus.c
index 0d6e7e2b..51617c9b 100644
--- a/swad_syllabus.c
+++ b/swad_syllabus.c
@@ -628,12 +628,11 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections :
Txt_Move_up_X,
StrItemCod);
- Lay_PutContextualLink (Gbl.CurrentCrs.Info.Type == Inf_LECTURES ? ActUp_IteSylLec :
- ActUp_IteSylPra,
- NULL,Syl_PutParamNumItem,
- "arrow-up.svg",
- Gbl.Title,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (Gbl.CurrentCrs.Info.Type == Inf_LECTURES ? ActUp_IteSylLec :
+ ActUp_IteSylPra,
+ NULL,Syl_PutParamNumItem,
+ "arrow-up.svg",
+ Gbl.Title);
}
else
Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
@@ -648,12 +647,11 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections :
Txt_Move_down_X,
StrItemCod);
- Lay_PutContextualLink (Gbl.CurrentCrs.Info.Type == Inf_LECTURES ? ActDwnIteSylLec :
- ActDwnIteSylPra,
- NULL,Syl_PutParamNumItem,
- "arrow-down.svg",
- Gbl.Title,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (Gbl.CurrentCrs.Info.Type == Inf_LECTURES ? ActDwnIteSylLec :
+ ActDwnIteSylPra,
+ NULL,Syl_PutParamNumItem,
+ "arrow-down.svg",
+ Gbl.Title);
}
else
Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
@@ -666,12 +664,11 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Increase_level_of_X,
StrItemCod);
- Lay_PutContextualLink (Gbl.CurrentCrs.Info.Type == Inf_LECTURES ? ActRgtIteSylLec :
- ActRgtIteSylPra,
- NULL,Syl_PutParamNumItem,
- "arrow-left.svg",
- Gbl.Title,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (Gbl.CurrentCrs.Info.Type == Inf_LECTURES ? ActRgtIteSylLec :
+ ActRgtIteSylPra,
+ NULL,Syl_PutParamNumItem,
+ "arrow-left.svg",
+ Gbl.Title);
}
else
Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed);
@@ -685,12 +682,11 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Decrease_level_of_X,
StrItemCod);
- Lay_PutContextualLink (Gbl.CurrentCrs.Info.Type == Inf_LECTURES ? ActLftIteSylLec :
- ActLftIteSylPra,
- NULL,Syl_PutParamNumItem,
- "arrow-right.svg",
- Gbl.Title,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (Gbl.CurrentCrs.Info.Type == Inf_LECTURES ? ActLftIteSylLec :
+ ActLftIteSylPra,
+ NULL,Syl_PutParamNumItem,
+ "arrow-right.svg",
+ Gbl.Title);
}
else
Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed);
diff --git a/swad_test.c b/swad_test.c
index bc60225f..d2f01d43 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -412,10 +412,10 @@ static void Tst_PutFormToViewResultsOfUsersTests (Act_Action_t Action)
extern const char *Txt_Test_results;
fprintf (Gbl.F.Out,"");
}
@@ -1454,10 +1454,9 @@ static void Tst_PutIconsTests (void)
/***** Put form to go to test configuration *****/
if (Gbl.Action.Act != ActCfgTst)
- Lay_PutContextualLink (ActCfgTst,NULL,NULL,
- "cog.svg",
- Txt_Configure,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActCfgTst,NULL,NULL,
+ "cog.svg",
+ Txt_Configure);
}
/***** Put icon to show a figure *****/
@@ -1888,12 +1887,7 @@ static void Tst_PutIconEnable (long TagCod,const char *TagTxt)
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Tag_X_not_allowed_Click_to_allow_it,
TagTxt);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink ("eye-slash.svg",Gbl.Title);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -1912,12 +1906,7 @@ static void Tst_PutIconDisable (long TagCod,const char *TagTxt)
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Tag_X_allowed_Click_to_disable_it,
TagTxt);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Gbl.Title,
- Gbl.Title);
+ Ico_PutIconLink ("eye.svg",Gbl.Title);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
@@ -7966,12 +7955,7 @@ static void Tst_ShowTestResults (struct UsrData *UsrDat)
Frm_StartForm (Gbl.Action.Act == ActSeeMyTstRes ? ActSeeOneTstResMe :
ActSeeOneTstResOth);
Tst_PutParamTstCod (TstCod);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Txt_View_test,
- Txt_View_test);
+ Ico_PutIconLink ("tasks.svg",Txt_View_test);
Frm_EndForm ();
}
fprintf (Gbl.F.Out,""
diff --git a/swad_test_import.c b/swad_test_import.c
index d450fbef..5b03f9d1 100644
--- a/swad_test_import.c
+++ b/swad_test_import.c
@@ -91,10 +91,10 @@ void TsI_PutFormToExportQuestions (void)
extern const char *Txt_Export_questions;
/***** Put a link to create a file with questions *****/
- Lay_PutContextualLink (ActLstTstQst,NULL,TsI_PutParamsExportQsts,
- "file-import.svg",
- Txt_Export_questions_to_XML_file,Txt_Export_questions,
- NULL);
+ Lay_PutContextualLinkIconText (ActLstTstQst,NULL,TsI_PutParamsExportQsts,
+ "file-import.svg",
+ Txt_Export_questions_to_XML_file,
+ Txt_Export_questions);
}
/*****************************************************************************/
@@ -120,11 +120,10 @@ void TsI_PutFormToImportQuestions (void)
extern const char *Txt_Import_questions;
/***** Put a link to create a file with questions *****/
- Lay_PutContextualLink (ActReqImpTstQst,NULL,NULL,
- "file-export.svg",
- Txt_Import_questions_from_XML_file,
- Txt_Import_questions,
- NULL);
+ Lay_PutContextualLinkIconText (ActReqImpTstQst,NULL,NULL,
+ "file-export.svg",
+ Txt_Import_questions_from_XML_file,
+ Txt_Import_questions);
}
/*****************************************************************************/
diff --git a/swad_text.c b/swad_text.c
index 38a5e385..b0598729 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -2082,7 +2082,7 @@ const char *Txt_Assignment =
#elif L==9 // pt
"Atividade";
#endif
-
+/*
const char *Txt_ASSIGNMENT_TYPES[Asg_NUM_TYPES_SEND_WORK] =
{
#if L==1 // ca
@@ -2125,7 +2125,7 @@ const char *Txt_ASSIGNMENT_TYPES[Asg_NUM_TYPES_SEND_WORK] =
"É obrigatória a apresentação de trabalhos (arquivos)"
#endif
};
-
+*/
const char *Txt_Assignment_X_is_now_hidden = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
"La activitat %s ara està oculta.";
diff --git a/swad_theme.c b/swad_theme.c
index ec7eeed4..8006889c 100644
--- a/swad_theme.c
+++ b/swad_theme.c
@@ -233,6 +233,7 @@ void The_PutIconsToSelectTheme (void)
extern const char *Hlp_PROFILE_Preferences_theme;
extern const char *Txt_Theme_SKIN;
The_Theme_t Theme;
+ char Icon[PATH_MAX + 1];
Box_StartBox (NULL,Txt_Theme_SKIN,The_PutIconsTheme,
Hlp_PROFILE_Preferences_theme,Box_NOT_CLOSABLE);
@@ -246,14 +247,11 @@ void The_PutIconsToSelectTheme (void)
"PREF_OFF");
Frm_StartForm (ActChgThe);
Par_PutHiddenParamString ("Theme",The_ThemeId[Theme]);
- fprintf (Gbl.F.Out," ",
- Gbl.Prefs.URLIcons,
- Cfg_ICON_FOLDER_THEMES,
- The_ThemeId[Theme],
- The_ThemeNames[Theme],
- The_ThemeNames[Theme]);
+ snprintf (Icon,sizeof (Icon),
+ "%s/%s/theme_32x20.gif",
+ Cfg_ICON_FOLDER_THEMES,
+ The_ThemeId[Theme]);
+ Ico_PutPrefIconLink (Icon,The_ThemeNames[Theme]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"");
}
diff --git a/swad_timetable.c b/swad_timetable.c
index 844a32d1..a4720bf0 100644
--- a/swad_timetable.c
+++ b/swad_timetable.c
@@ -378,8 +378,7 @@ void TT_ShowClassTimeTable (void)
/***** Show form to change first day of week *****/
Cal_ShowFormToSelFirstDayOfWeek (ActChgTT1stDay[Gbl.TimeTable.Type],
- Grp_PutParamWhichGrps,
- "ICOx25");
+ Grp_PutParamWhichGrps);
}
/***** Show the time table *****/
diff --git a/swad_user.c b/swad_user.c
index b4ee515e..e7eea7d1 100644
--- a/swad_user.c
+++ b/swad_user.c
@@ -2419,10 +2419,10 @@ void Usr_PutLinkToLogin (void)
{
extern const char *Txt_Log_in;
- Lay_PutContextualLink (ActFrmLogIn,NULL,NULL,
- "sign-in-alt-green.svg",
- Txt_Log_in,Txt_Log_in,
- NULL);
+ Lay_PutContextualLinkIconText (ActFrmLogIn,NULL,NULL,
+ "sign-in-alt-green.svg",
+ Txt_Log_in,
+ Txt_Log_in);
}
/*****************************************************************************/
@@ -2462,7 +2462,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) ())
fprintf (Gbl.F.Out,""
"
"
" "
+ " class=\"CONTEXT_ICO_16x16\" />"
" "
"
"
"
"
" "
+ " class=\"CONTEXT_ICO_16x16\" />"
" "
"
"
@@ -3401,10 +3401,9 @@ static void Usr_PutLinkToLogOut (void)
extern const char *Txt_Log_out;
/***** Put form to log out *****/
- Lay_PutContextualLink (ActLogOut,NULL,NULL,
- "sign-out-alt-red.svg",
- Txt_Log_out,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActLogOut,NULL,NULL,
+ "sign-out-alt-red.svg",
+ Txt_Log_out);
}
/*****************************************************************************/
@@ -7530,11 +7529,10 @@ static void Usr_PutLinkToSeeAdmins (void)
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
/***** Put form to list admins *****/
- Lay_PutContextualLink (ActLstOth,NULL,NULL,
- "user-tie.svg",
- Txt_ROLES_PLURAL_Abc[Rol_DEG_ADM][Usr_SEX_UNKNOWN],
- Txt_ROLES_PLURAL_Abc[Rol_DEG_ADM][Usr_SEX_UNKNOWN],
- NULL);
+ Lay_PutContextualLinkIconText (ActLstOth,NULL,NULL,
+ "user-tie.svg",
+ Txt_ROLES_PLURAL_Abc[Rol_DEG_ADM][Usr_SEX_UNKNOWN],
+ Txt_ROLES_PLURAL_Abc[Rol_DEG_ADM][Usr_SEX_UNKNOWN]);
}
/*****************************************************************************/
@@ -7546,11 +7544,10 @@ static void Usr_PutLinkToSeeGuests (void)
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
/***** Put form to list guests *****/
- Lay_PutContextualLink (ActLstGst,NULL,NULL,
- "users.svg",
- Txt_ROLES_PLURAL_Abc[Rol_GST][Usr_SEX_UNKNOWN],
- Txt_ROLES_PLURAL_Abc[Rol_GST][Usr_SEX_UNKNOWN],
- NULL);
+ Lay_PutContextualLinkIconText (ActLstGst,NULL,NULL,
+ "users.svg",
+ Txt_ROLES_PLURAL_Abc[Rol_GST][Usr_SEX_UNKNOWN],
+ Txt_ROLES_PLURAL_Abc[Rol_GST][Usr_SEX_UNKNOWN]);
}
/*****************************************************************************/
@@ -8133,30 +8130,27 @@ static void Usr_PutIconToShowGstsAllData (void)
{
extern const char *Txt_Show_all_data_in_a_table;
- Lay_PutContextualLink (ActLstGstAll,NULL,Usr_ShowGstsAllDataParams,
- "table.svg",
- Txt_Show_all_data_in_a_table,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActLstGstAll,NULL,Usr_ShowGstsAllDataParams,
+ "table.svg",
+ Txt_Show_all_data_in_a_table);
}
static void Usr_PutIconToShowStdsAllData (void)
{
extern const char *Txt_Show_all_data_in_a_table;
- Lay_PutContextualLink (ActLstStdAll,NULL,Usr_ShowStdsAllDataParams,
- "table.svg",
- Txt_Show_all_data_in_a_table,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActLstStdAll,NULL,Usr_ShowStdsAllDataParams,
+ "table.svg",
+ Txt_Show_all_data_in_a_table);
}
static void Usr_PutIconToShowTchsAllData (void)
{
extern const char *Txt_Show_all_data_in_a_table;
- Lay_PutContextualLink (ActLstTchAll,NULL,Usr_ShowTchsAllDataParams,
- "table.svg",
- Txt_Show_all_data_in_a_table,NULL,
- NULL);
+ Lay_PutContextualLinkOnlyIcon (ActLstTchAll,NULL,Usr_ShowTchsAllDataParams,
+ "table.svg",
+ Txt_Show_all_data_in_a_table);
}
static void Usr_ShowGstsAllDataParams (void)
diff --git a/swad_zip.c b/swad_zip.c
index 92b95d14..8cbdd100 100644
--- a/swad_zip.c
+++ b/swad_zip.c
@@ -124,11 +124,11 @@ void ZIP_PutLinkToCreateZIPAsgWrk (void)
{
extern const char *Txt_Create_ZIP_file;
- Lay_PutContextualLink (ActAdmAsgWrkCrs,NULL,
- ZIP_PutLinkToCreateZIPAsgWrkParams,
- "download.svg",
- Txt_Create_ZIP_file,Txt_Create_ZIP_file,
- NULL);
+ Lay_PutContextualLinkIconText (ActAdmAsgWrkCrs,NULL,
+ ZIP_PutLinkToCreateZIPAsgWrkParams,
+ "download.svg",
+ Txt_Create_ZIP_file,
+ Txt_Create_ZIP_file);
}
static void ZIP_PutLinkToCreateZIPAsgWrkParams (void)