diff --git a/css/swad21.94.css b/css/swad21.94.1.css similarity index 99% rename from css/swad21.94.css rename to css/swad21.94.1.css index 2d9edb61..53eeac74 100644 --- a/css/swad21.94.css +++ b/css/swad21.94.1.css @@ -2106,7 +2106,7 @@ a:hover img.CENTER_PHOTO_SHOW .FRAME_SHADOW_PINK {background-color:#ddecf1; animation:fadetowhite 2s linear forwards;} .FRAME_SHADOW_DARK {background-color:#707070; animation:fadetodark 2s linear forwards;} @keyframes fadetowhite {to {background-color:white;}} -@keyframes fadetodark {to {background-color:#444444;}} +@keyframes fadetodark {to {background-color:#383838;}} .FRAME_ICO { @@ -3921,14 +3921,9 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} text-align:center; vertical-align:middle; border:solid 1px; + border-color:rgba(77,136,161,0.5); /* #4d88a1 */ + background-color:rgba(192,218,228,0.5); /* #c0dae4 */ } -.PREF_ON_WHITE, -.PREF_ON_GREY, -.PREF_ON_PURPLE, -.PREF_ON_BLUE, -.PREF_ON_YELLOW, -.PREF_ON_PINK {border-color:#c0dae4; background-color:#ddecf1;} -.PREF_ON_DARK {border-color:#808080; background-color:#707070;} /************************************* Log ***********************************/ .LOG @@ -4182,11 +4177,14 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .Tml_FAV_COM_WIDTH {width:440px;} } -.Tml_NEW_PUB - { - background-color:#ddecf1; - animation:fadein 2s linear forwards; - } +.Tml_NEW_PUB_WHITE, +.Tml_NEW_PUB_GREY, +.Tml_NEW_PUB_PURPLE, +.Tml_NEW_PUB_BLUE, +.Tml_NEW_PUB_YELLOW, +.Tml_NEW_PUB_PINK {background-color:#ddecf1; animation:fadetowhite 2s linear forwards;} +.Tml_NEW_PUB_DARK {background-color:#707070; animation:fadetodark 2s linear forwards;} + @keyframes fadein { to {background-color:white;} @@ -4368,8 +4366,8 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} text-align:center; vertical-align:middle; border:solid 1px; - border-color:#C0DAE4; - background-color:#DDECF1; + border-color:rgba(77,136,161,0.5); /* #4d88a1 */ + background-color:rgba(192,218,228,0.5); /* #c0dae4 */ } .Tml_FOOT /* Container for favs, shares and remove */ { diff --git a/swad_agenda.c b/swad_agenda.c index faf866ac..974a24ef 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -220,22 +220,18 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda PstFut <= Agd_FUTURE_EVENTS; PstFut++) { - if ((Agenda->Past__FutureEvents & (1 << PstFut))) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActSeeMyAgd); - Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents ^ (1 << PstFut), // Toggle - Agenda->PrivatPublicEvents, - Agenda->HiddenVisiblEvents, - Agenda->SelectedOrder, - Agenda->CurrentPage, - -1L); - Ico_PutSettingIconLink (Icon[PstFut],Ico_BLACK, - Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref ((Agenda->Past__FutureEvents & (1 << PstFut))); + Frm_BeginForm (ActSeeMyAgd); + Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents ^ (1 << PstFut), // Toggle + Agenda->PrivatPublicEvents, + Agenda->HiddenVisiblEvents, + Agenda->SelectedOrder, + Agenda->CurrentPage, + -1L); + Ico_PutSettingIconLink (Icon[PstFut],Ico_BLACK, + Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); } @@ -263,22 +259,18 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda PrvPub <= Agd_PUBLIC_EVENTS; PrvPub++) { - if ((Agenda->PrivatPublicEvents & (1 << PrvPub))) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActSeeMyAgd); - Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents, - Agenda->PrivatPublicEvents ^ (1 << PrvPub), // Toggle - Agenda->HiddenVisiblEvents, - Agenda->SelectedOrder, - Agenda->CurrentPage, - -1L); - Ico_PutSettingIconLink (Icon[PrvPub].Icon,Icon[PrvPub].Color, - Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref ((Agenda->PrivatPublicEvents & (1 << PrvPub))); + Frm_BeginForm (ActSeeMyAgd); + Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents, + Agenda->PrivatPublicEvents ^ (1 << PrvPub), // Toggle + Agenda->HiddenVisiblEvents, + Agenda->SelectedOrder, + Agenda->CurrentPage, + -1L); + Ico_PutSettingIconLink (Icon[PrvPub].Icon,Icon[PrvPub].Color, + Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); } @@ -306,22 +298,18 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda HidVis <= Agd_VISIBL_EVENTS; HidVis++) { - if ((Agenda->HiddenVisiblEvents & (1 << HidVis))) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActSeeMyAgd); - Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents, - Agenda->PrivatPublicEvents, - Agenda->HiddenVisiblEvents ^ (1 << HidVis), // Toggle - Agenda->SelectedOrder, - Agenda->CurrentPage, - -1L); - Ico_PutSettingIconLink (Icon[HidVis].Icon,Icon[HidVis].Color, - Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref ((Agenda->HiddenVisiblEvents & (1 << HidVis))); + Frm_BeginForm (ActSeeMyAgd); + Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents, + Agenda->PrivatPublicEvents, + Agenda->HiddenVisiblEvents ^ (1 << HidVis), // Toggle + Agenda->SelectedOrder, + Agenda->CurrentPage, + -1L); + Ico_PutSettingIconLink (Icon[HidVis].Icon,Icon[HidVis].Color, + Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); } diff --git a/swad_calendar.c b/swad_calendar.c index 27a6f7bd..d504e9d0 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -129,23 +129,19 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action, FirstDayOfWeek++) if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek]) { - if (FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (Action); - Par_PutHiddenParamUnsigned (NULL,"FirstDayOfWeek",FirstDayOfWeek); - if (FuncParams) // Extra parameters depending on the action - FuncParams (Args); - snprintf (Icon,sizeof (Icon),"first-day-of-week-%u.png",FirstDayOfWeek); - if (asprintf (&Title,Txt_First_day_of_the_week_X, - Txt_DAYS_SMALL[FirstDayOfWeek]) < 0) - Err_NotEnoughMemoryExit (); - Ico_PutSettingIconLink (Icon,Ico_BLACK,Title); - free (Title); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref (FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek); + Frm_BeginForm (Action); + Par_PutHiddenParamUnsigned (NULL,"FirstDayOfWeek",FirstDayOfWeek); + if (FuncParams) // Extra parameters depending on the action + FuncParams (Args); + snprintf (Icon,sizeof (Icon),"first-day-of-week-%u.png",FirstDayOfWeek); + if (asprintf (&Title,Txt_First_day_of_the_week_X, + Txt_DAYS_SMALL[FirstDayOfWeek]) < 0) + Err_NotEnoughMemoryExit (); + Ico_PutSettingIconLink (Icon,Ico_BLACK,Title); + free (Title); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); } diff --git a/swad_changelog.h b/swad_changelog.h index 773541d1..82fed7c3 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -606,11 +606,13 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate TODO: Attach pdf files in multimedia. */ -#define Log_PLATFORM_VERSION "SWAD 21.94 (2022-04-25)" -#define CSS_FILE "swad21.94.css" +#define Log_PLATFORM_VERSION "SWAD 21.94.1 (2022-04-25)" +#define CSS_FILE "swad21.94.1.css" #define JS_FILE "swad21.92.js" /* - Version 21.94: Apr 25, 2022 Working on design of dark theme. (323457 lines) + Version 21.94.1: Apr 25, 2022 Bugs related to dark theme fixed. (323399 lines) + Version 21.94: Apr 25, 2022 Working on design of dark theme. + Dark theme in production. (323458 lines) Version 21.93.8: Apr 25, 2022 Added m.youtube.com. Suggested by Javier Fernández Baldomero. (323455 lines) Version 21.93.7: Apr 25, 2022 Working on design of dark theme. (323432 lines) Version 21.93.6: Apr 25, 2022 Working on design of dark theme. (323358 lines) diff --git a/swad_group.c b/swad_group.c index 837ec68e..d0c9ed8f 100644 --- a/swad_group.c +++ b/swad_group.c @@ -4384,20 +4384,16 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action, WhichGrps <= Grp_ALL_GROUPS; WhichGrps++) { - if (WhichGrps == Gbl.Crs.Grps.WhichGrps) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (Action); - Par_PutHiddenParamUnsigned (NULL,"WhichGrps",(unsigned) WhichGrps); - if (FuncParams) // Extra parameters depending on the action - FuncParams (Args); - Ico_PutSettingIconLink (WhichGrps == Grp_MY_GROUPS ? "mysitemap.png" : - "sitemap.svg", - Ico_BLACK,Txt_GROUP_WHICH_GROUPS[WhichGrps]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref (WhichGrps == Gbl.Crs.Grps.WhichGrps); + Frm_BeginForm (Action); + Par_PutHiddenParamUnsigned (NULL,"WhichGrps",(unsigned) WhichGrps); + if (FuncParams) // Extra parameters depending on the action + FuncParams (Args); + Ico_PutSettingIconLink (WhichGrps == Grp_MY_GROUPS ? "mysitemap.png" : + "sitemap.svg", + Ico_BLACK,Txt_GROUP_WHICH_GROUPS[WhichGrps]); + Frm_EndForm (); + Set_EndPref (); } /***** End setting selector *****/ diff --git a/swad_icon.c b/swad_icon.c index 71642394..b072f560 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -149,19 +149,15 @@ void Ico_PutIconsToSelectIconSet (void) IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1); IconSet++) { - if (IconSet == Gbl.Prefs.IconSet) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActChgIco); - Par_PutHiddenParamString (NULL,"IconSet",Ico_IconSetId[IconSet]); - snprintf (Icon,sizeof (Icon),"%s/%s/cog.svg", - Cfg_ICON_FOLDER_SETS, - Ico_IconSetId[IconSet]); - Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,Ico_IconSetNames[IconSet]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref (IconSet == Gbl.Prefs.IconSet); + Frm_BeginForm (ActChgIco); + Par_PutHiddenParamString (NULL,"IconSet",Ico_IconSetId[IconSet]); + snprintf (Icon,sizeof (Icon),"%s/%s/cog.svg", + Cfg_ICON_FOLDER_SETS, + Ico_IconSetId[IconSet]); + Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,Ico_IconSetNames[IconSet]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); Set_EndSettingsHead (); diff --git a/swad_menu.c b/swad_menu.c index 3efacf19..9140b549 100644 --- a/swad_menu.c +++ b/swad_menu.c @@ -316,17 +316,13 @@ void Mnu_PutIconsToSelectMenu (void) Menu <= (Mnu_Menu_t) (Mnu_NUM_MENUS - 1); Menu++) { - if (Menu == Gbl.Prefs.Menu) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActChgMnu); - Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu); - Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Ico_BLACK, - Txt_MENU_NAMES[Menu]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref (Menu == Gbl.Prefs.Menu); + Frm_BeginForm (ActChgMnu); + Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu); + Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Ico_BLACK, + Txt_MENU_NAMES[Menu]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); Set_EndSettingsHead (); diff --git a/swad_photo_shape.c b/swad_photo_shape.c index d7608d56..682872ce 100644 --- a/swad_photo_shape.c +++ b/swad_photo_shape.c @@ -79,20 +79,16 @@ void PhoSha_PutIconsToSelectPhotoShape (void) Shape <= (PhoSha_Shape_t) (PhoSha_NUM_SHAPES - 1); Shape++) { - if (Shape == Gbl.Prefs.PhotoShape) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActChgUsrPho); - Par_PutHiddenParamUnsigned (NULL,"PhotoShape",Shape); - HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user.svg", - Txt_PHOTO_SHAPES[Shape], - "class=\"%s ICO_%s_%s\"", - ClassPhoto[Shape], - Ico_GetPreffix (Ico_BLACK),The_GetSuffix ()); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref (Shape == Gbl.Prefs.PhotoShape); + Frm_BeginForm (ActChgUsrPho); + Par_PutHiddenParamUnsigned (NULL,"PhotoShape",Shape); + HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user.svg", + Txt_PHOTO_SHAPES[Shape], + "class=\"%s ICO_%s_%s\"", + ClassPhoto[Shape], + Ico_GetPreffix (Ico_BLACK),The_GetSuffix ()); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); Set_EndSettingsHead (); diff --git a/swad_project.c b/swad_project.c index 8effbf58..c05ae4c2 100644 --- a/swad_project.c +++ b/swad_project.c @@ -578,25 +578,21 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects) Who++) if (Mask & (1 << Who)) { - if (Who == Projects->Filter.Who) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (Who == Usr_WHO_SELECTED ? ActReqUsrPrj : - ActSeePrj); - Filter.Who = Who; - Filter.Assign = Projects->Filter.Assign; - Filter.Hidden = Projects->Filter.Hidden; - Filter.Faulti = Projects->Filter.Faulti; - Filter.DptCod = Projects->Filter.DptCod; - Prj_PutParams (&Filter, - Projects->SelectedOrder, - Projects->CurrentPage, - -1L); - Usr_PutWhoIcon (Who); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref (Who == Projects->Filter.Who); + Frm_BeginForm (Who == Usr_WHO_SELECTED ? ActReqUsrPrj : + ActSeePrj); + Filter.Who = Who; + Filter.Assign = Projects->Filter.Assign; + Filter.Hidden = Projects->Filter.Hidden; + Filter.Faulti = Projects->Filter.Faulti; + Filter.DptCod = Projects->Filter.DptCod; + Prj_PutParams (&Filter, + Projects->SelectedOrder, + Projects->CurrentPage, + -1L); + Usr_PutWhoIcon (Who); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); } @@ -616,25 +612,21 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects) Assign <= (Prj_AssignedNonassig_t) (Prj_NUM_ASSIGNED_NONASSIG - 1); Assign++) { - if ((Projects->Filter.Assign & (1 << Assign))) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActSeePrj); - Filter.Who = Projects->Filter.Who; - Filter.Assign = Projects->Filter.Assign ^ (1 << Assign); // Toggle - Filter.Hidden = Projects->Filter.Hidden; - Filter.Faulti = Projects->Filter.Faulti; - Filter.DptCod = Projects->Filter.DptCod; - Prj_PutParams (&Filter, - Projects->SelectedOrder, - Projects->CurrentPage, - -1L); - Ico_PutSettingIconLink (AssignedNonassigImage[Assign],Ico_BLACK, - Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Assign]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref ((Projects->Filter.Assign & (1 << Assign))); + Frm_BeginForm (ActSeePrj); + Filter.Who = Projects->Filter.Who; + Filter.Assign = Projects->Filter.Assign ^ (1 << Assign); // Toggle + Filter.Hidden = Projects->Filter.Hidden; + Filter.Faulti = Projects->Filter.Faulti; + Filter.DptCod = Projects->Filter.DptCod; + Prj_PutParams (&Filter, + Projects->SelectedOrder, + Projects->CurrentPage, + -1L); + Ico_PutSettingIconLink (AssignedNonassigImage[Assign],Ico_BLACK, + Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Assign]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); } @@ -663,25 +655,22 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects) HidVis <= (Prj_HiddenVisibl_t) (Prj_NUM_HIDDEN_VISIBL - 1); HidVis++) { - if ((Projects->Filter.Hidden & (1 << HidVis))) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActSeePrj); - Filter.Who = Projects->Filter.Who; - Filter.Assign = Projects->Filter.Assign; - Filter.Hidden = Projects->Filter.Hidden ^ (1 << HidVis); // Toggle - Filter.Faulti = Projects->Filter.Faulti; - Filter.DptCod = Projects->Filter.DptCod; - Prj_PutParams (&Filter, - Projects->SelectedOrder, - Projects->CurrentPage, - -1L); - Ico_PutSettingIconLink (HiddenVisiblIcon[HidVis].Icon, - HiddenVisiblIcon[HidVis].Color, - Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref ((Projects->Filter.Hidden & (1 << HidVis))); + Frm_BeginForm (ActSeePrj); + Filter.Who = Projects->Filter.Who; + Filter.Assign = Projects->Filter.Assign; + Filter.Hidden = Projects->Filter.Hidden ^ (1 << HidVis); // Toggle + Filter.Faulti = Projects->Filter.Faulti; + Filter.DptCod = Projects->Filter.DptCod; + Prj_PutParams (&Filter, + Projects->SelectedOrder, + Projects->CurrentPage, + -1L); + Ico_PutSettingIconLink (HiddenVisiblIcon[HidVis].Icon, + HiddenVisiblIcon[HidVis].Color, + Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); } @@ -710,26 +699,22 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects) Faultiness <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1); Faultiness++) { - if ((Projects->Filter.Faulti & (1 << Faultiness))) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActSeePrj); - Filter.Who = Projects->Filter.Who; - Filter.Assign = Projects->Filter.Assign; - Filter.Hidden = Projects->Filter.Hidden; - Filter.Faulti = Projects->Filter.Faulti ^ (1 << Faultiness); // Toggle - Filter.DptCod = Projects->Filter.DptCod; - Prj_PutParams (&Filter, - Projects->SelectedOrder, - Projects->CurrentPage, - -1L); - Ico_PutSettingIconLink (FaultinessIcon[Faultiness].Icon, - FaultinessIcon[Faultiness].Color, - Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref ((Projects->Filter.Faulti & (1 << Faultiness))); + Frm_BeginForm (ActSeePrj); + Filter.Who = Projects->Filter.Who; + Filter.Assign = Projects->Filter.Assign; + Filter.Hidden = Projects->Filter.Hidden; + Filter.Faulti = Projects->Filter.Faulti ^ (1 << Faultiness); // Toggle + Filter.DptCod = Projects->Filter.DptCod; + Prj_PutParams (&Filter, + Projects->SelectedOrder, + Projects->CurrentPage, + -1L); + Ico_PutSettingIconLink (FaultinessIcon[Faultiness].Icon, + FaultinessIcon[Faultiness].Color, + Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); } diff --git a/swad_setting.c b/swad_setting.c index d8f2cf9a..67fa457f 100644 --- a/swad_setting.c +++ b/swad_setting.c @@ -214,18 +214,14 @@ static void Set_PutIconsToSelectSideCols (void) SideCols <= Lay_SHOW_BOTH_COLUMNS; SideCols++) { - if (SideCols == Gbl.Prefs.SideCols) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActChgCol); - Par_PutHiddenParamUnsigned (NULL,"SideCols",SideCols); - snprintf (Icon,sizeof (Icon),"layout%u%u_32x20.gif", - SideCols >> 1,SideCols & 1); - Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,Txt_LAYOUT_SIDE_COLUMNS[SideCols]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref (SideCols == Gbl.Prefs.SideCols); + Frm_BeginForm (ActChgCol); + Par_PutHiddenParamUnsigned (NULL,"SideCols",SideCols); + snprintf (Icon,sizeof (Icon),"layout%u%u_32x20.gif", + SideCols >> 1,SideCols & 1); + Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,Txt_LAYOUT_SIDE_COLUMNS[SideCols]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); Set_EndSettingsHead (); @@ -571,3 +567,15 @@ void Set_EndOneSettingSelector (void) { HTM_DIV_End (); } + +void Set_BeginPref (bool Condition) + { + HTM_DIV_Begin ("class=\"%s\"", + Condition ? "PREF_ON" : + "PREF_OFF"); + } + +void Set_EndPref (void) + { + HTM_DIV_End (); + } diff --git a/swad_setting.h b/swad_setting.h index 0afff215..d8bf83cb 100644 --- a/swad_setting.h +++ b/swad_setting.h @@ -70,5 +70,7 @@ void Set_BeginSettingsHead (void); void Set_EndSettingsHead (void); void Set_BeginOneSettingSelector (void); void Set_EndOneSettingSelector (void); +void Set_BeginPref (bool Condition); +void Set_EndPref (void); #endif diff --git a/swad_theme.c b/swad_theme.c index a7fbea86..c24e95a6 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -105,18 +105,14 @@ void The_PutIconsToSelectTheme (void) Theme <= (The_Theme_t) (The_NUM_THEMES - 1); Theme++) { - if (Theme == Gbl.Prefs.Theme) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Frm_BeginForm (ActChgThe); - Par_PutHiddenParamString (NULL,"Theme",The_ThemeId[Theme]); - snprintf (Icon,sizeof (Icon),"%s/%s/theme_32x20.gif", - Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme]); - Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,The_ThemeNames[Theme]); - Frm_EndForm (); - HTM_DIV_End (); + Set_BeginPref (Theme == Gbl.Prefs.Theme); + Frm_BeginForm (ActChgThe); + Par_PutHiddenParamString (NULL,"Theme",The_ThemeId[Theme]); + snprintf (Icon,sizeof (Icon),"%s/%s/theme_32x20.gif", + Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme]); + Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,The_ThemeNames[Theme]); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); Set_EndSettingsHead (); diff --git a/swad_timeline.c b/swad_timeline.c index 8e903a69..ef86fade 100644 --- a/swad_timeline.c +++ b/swad_timeline.c @@ -488,12 +488,14 @@ static unsigned Tml_ListRecentPubs (const struct Tml_Timeline *Timeline, TmlNot_GetDataOfNoteByCod (&Not); /* Write list item (note) */ - HTM_LI_Begin ("class=\"%s\"", - Not.NotCod == NotCodToHighlight ? "Tml_WIDTH Tml_SEP Tml_NEW_PUB" : - "Tml_WIDTH Tml_SEP"); - TmlNot_CheckAndWriteNoteWithTopMsg (Timeline,&Not, - TmlPub_GetTopMessage (Pub->Type), - Pub->PublisherCod); + if (Not.NotCod == NotCodToHighlight) + HTM_LI_Begin ("class=\"Tml_WIDTH Tml_SEP Tml_NEW_PUB_%s\"", + The_GetSuffix ()); + else + HTM_LI_Begin ("class=\"Tml_WIDTH Tml_SEP\""); + TmlNot_CheckAndWriteNoteWithTopMsg (Timeline,&Not, + TmlPub_GetTopMessage (Pub->Type), + Pub->PublisherCod); HTM_LI_End (); } diff --git a/swad_timeline_note.c b/swad_timeline_note.c index 7d442eea..cb93b9ea 100644 --- a/swad_timeline_note.c +++ b/swad_timeline_note.c @@ -154,7 +154,7 @@ void TmlNot_ShowHighlightedNote (struct Tml_Timeline *Timeline, NULL,Box_CLOSABLE); /* Begin container */ - HTM_DIV_Begin ("class=\"Tml_WIDTH Tml_NEW_PUB\""); + HTM_DIV_Begin ("class=\"Tml_WIDTH Tml_NEW_PUB_%s\"",The_GetSuffix ()); /* Check and write note with top message */ TmlNot_CheckAndWriteNoteWithTopMsg (Timeline,Not, diff --git a/swad_timeline_publication.c b/swad_timeline_publication.c index 6c14f533..edde52ca 100644 --- a/swad_timeline_publication.c +++ b/swad_timeline_publication.c @@ -392,10 +392,10 @@ void TmlPub_InsertNewPubsInTimeline (struct Tml_Timeline *Timeline) TmlNot_GetDataOfNoteByCod (&Not); /* Write note */ - HTM_LI_Begin ("class=\"Tml_WIDTH Tml_SEP Tml_NEW_PUB\"" + HTM_LI_Begin ("class=\"Tml_WIDTH Tml_SEP Tml_NEW_PUB_%s\"" " data-note-code=\"%ld\"", // Note code to be read later... - Not.NotCod); // ...from JavaScript... - // ...to avoid repeating notes + The_GetSuffix (), // ...from JavaScript... + Not.NotCod); // ...to avoid repeating notes TmlNot_CheckAndWriteNoteWithTopMsg (Timeline,&Not, TmlPub_GetTopMessage (Pub->Type), Pub->PublisherCod); diff --git a/swad_timeline_who.c b/swad_timeline_who.c index a0135016..a5a1de96 100644 --- a/swad_timeline_who.c +++ b/swad_timeline_who.c @@ -75,25 +75,12 @@ void TmlWho_PutFormWho (struct Tml_Timeline *Timeline) Who++) if (Mask & (1 << Who)) { - /* Begin container */ - if (Who == Timeline->Who) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - - /* Begin form */ - Frm_BeginForm (ActSeeGblTL); - Par_PutHiddenParamUnsigned (NULL,"Who",(unsigned) Who); - - /* Icon to select which users */ - Usr_PutWhoIcon (Who); - - /* End form */ - Frm_EndForm (); - - /* End container */ - HTM_DIV_End (); + Set_BeginPref (Who == Timeline->Who); + Frm_BeginForm (ActSeeGblTL); + Par_PutHiddenParamUnsigned (NULL,"Who",(unsigned) Who); + Usr_PutWhoIcon (Who); + Frm_EndForm (); + Set_EndPref (); } Set_EndOneSettingSelector (); Set_EndSettingsHead (); diff --git a/swad_user.c b/swad_user.c index f91f527f..2c5f462e 100644 --- a/swad_user.c +++ b/swad_user.c @@ -3597,45 +3597,41 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Arg Set_BeginOneSettingSelector (); /***** Select Set_USR_LIST_AS_CLASS_PHOTO *****/ - if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", - The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Set_FormToSelectUsrListType (FuncParams,Args, - Set_USR_LIST_AS_CLASS_PHOTO); + Set_BeginPref (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO); - /* Number of columns in the class photo */ - Frm_BeginFormAnchor (Gbl.Action.Act, // Repeat current action - Usr_USER_LIST_SECTION_ID); - Grp_PutParamsCodGrps (); - Set_PutParamUsrListType (Set_USR_LIST_AS_CLASS_PHOTO); - Set_PutParamListWithPhotos (); - Usr_PutSelectorNumColsClassPhoto (); - if (FuncParams) - FuncParams (Args); - Frm_EndForm (); - HTM_DIV_End (); + Set_FormToSelectUsrListType (FuncParams,Args, + Set_USR_LIST_AS_CLASS_PHOTO); + + /* Number of columns in the class photo */ + Frm_BeginFormAnchor (Gbl.Action.Act, // Repeat current action + Usr_USER_LIST_SECTION_ID); + Grp_PutParamsCodGrps (); + Set_PutParamUsrListType (Set_USR_LIST_AS_CLASS_PHOTO); + Set_PutParamListWithPhotos (); + Usr_PutSelectorNumColsClassPhoto (); + if (FuncParams) + FuncParams (Args); + Frm_EndForm (); + + Set_EndPref (); /***** Select Usr_LIST_AS_LISTING *****/ - if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_LISTING) - HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",The_GetSuffix ()); - else - HTM_DIV_Begin ("class=\"PREF_OFF\""); - Set_FormToSelectUsrListType (FuncParams,Args, - Set_USR_LIST_AS_LISTING); + Set_BeginPref (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_LISTING); - /* See the photos in list? */ - Frm_BeginFormAnchor (Gbl.Action.Act, // Repeat current action - Usr_USER_LIST_SECTION_ID); - Grp_PutParamsCodGrps (); - Set_PutParamUsrListType (Set_USR_LIST_AS_LISTING); - if (FuncParams) - FuncParams (Args); - Usr_PutCheckboxListWithPhotos (); - Frm_EndForm (); + Set_FormToSelectUsrListType (FuncParams,Args, + Set_USR_LIST_AS_LISTING); - HTM_DIV_End (); + /* See the photos in list? */ + Frm_BeginFormAnchor (Gbl.Action.Act, // Repeat current action + Usr_USER_LIST_SECTION_ID); + Grp_PutParamsCodGrps (); + Set_PutParamUsrListType (Set_USR_LIST_AS_LISTING); + if (FuncParams) + FuncParams (Args); + Usr_PutCheckboxListWithPhotos (); + Frm_EndForm (); + + Set_EndPref (); Set_EndOneSettingSelector (); Set_EndSettingsHead ();