From 7ffed945b628cf2a72a0c8626f739decce3bb955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sat, 12 Jan 2019 03:00:59 +0100 Subject: [PATCH] Version 18.32 --- css/{swad18.31.css => swad18.32.css} | 12 +- swad_ID.c | 5 +- swad_QR.c | 7 +- swad_account.c | 31 ++-- swad_agenda.c | 73 +++----- swad_announcement.c | 22 ++- swad_assignment.c | 47 +---- swad_attendance.c | 17 +- swad_banner.c | 20 +-- swad_box.c | 34 ++-- swad_calendar.c | 31 ++-- swad_calendar.h | 3 +- swad_centre.c | 16 +- swad_changelog.h | 7 +- swad_classroom.c | 7 +- swad_country.c | 7 +- swad_course.c | 51 +++--- swad_degree.c | 7 +- swad_degree_type.c | 7 +- swad_duplicate.c | 8 +- swad_enrolment.c | 40 ++--- swad_file_browser.c | 255 +++++++++------------------ swad_follow.c | 8 +- swad_forum.c | 11 +- swad_game.c | 36 ++-- swad_group.c | 33 +--- swad_icon.c | 161 +++++++++-------- swad_icon.h | 6 +- swad_institution.c | 7 +- swad_language.c | 8 +- swad_layout.c | 79 +++++++-- swad_layout.h | 20 ++- swad_link.c | 7 +- swad_logo.c | 17 +- swad_menu.c | 7 +- swad_message.c | 45 ++--- swad_notice.c | 21 +-- swad_notification.c | 43 ++--- swad_password.c | 10 +- swad_photo.c | 31 ++-- swad_place.c | 7 +- swad_preference.c | 11 +- swad_profile.c | 17 +- swad_project.c | 40 ++--- swad_record.c | 138 +++++++-------- swad_search.c | 8 +- swad_social.c | 104 +++-------- swad_statistic.c | 31 ++-- swad_survey.c | 7 +- swad_syllabus.c | 44 +++-- swad_test.c | 36 ++-- swad_test_import.c | 17 +- swad_text.c | 4 +- swad_theme.c | 14 +- swad_timetable.c | 3 +- swad_user.c | 58 +++--- swad_zip.c | 10 +- 57 files changed, 768 insertions(+), 1038 deletions(-) rename css/{swad18.31.css => swad18.32.css} (99%) 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\"" - "
%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,"\"%s\"", - 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,"" - "
" - "\"%s\"" - "
" - "
", - 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,"" - "
" - "\"%s\"" - "
" - "
", - 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
"); } 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,"
" + "\"%s\"" + "
", + 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,"\"%s\"", - 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,"\"%s\"", + " 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,"
" "\"%s\"", + " 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,"
" "\"%s\"" + " class=\"CONTEXT_ICO_16x16\" />" "\"%s\"" // 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,"
"); - Lay_PutContextualLink (ActReqMsgUsr,NULL, - Msg_PutParamsShowMorePotentialRecipients, - "users.svg", - Txt_Show_more_recipients,Txt_Show_more_recipients, - "CopyMessageToHiddenFields()"); + Lay_PutContextualLinkIconTextOnSubmit (ActReqMsgUsr,NULL, + Msg_PutParamsShowMorePotentialRecipients, + "users.svg", + Txt_Show_more_recipients, + Txt_Show_more_recipients, + "CopyMessageToHiddenFields()"); 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,"\"%s\"", - 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,"\"%s\"" + " 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;\" />" "\"%s\"" + " 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,"
" - "\"%s\"" - "
", - 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,"
" - "\"%s\"" - "
", - 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,"
"); - Lay_PutContextualLink (Action,NULL,NULL, - "tasks.svg", - Txt_Test_results,Txt_Test_results, - NULL); + Lay_PutContextualLinkIconText (Action,NULL,NULL, + "tasks.svg", + Txt_Test_results, + 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,"
" "" "" "" "" @@ -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)