mirror of https://github.com/acanas/swad-core.git
Version 21.70.1: Dec 15, 2021 Working on design of dark theme.
This commit is contained in:
parent
849708bfa0
commit
5e18bcff3b
|
@ -3345,9 +3345,14 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
|||
text-align:center;
|
||||
vertical-align:middle;
|
||||
border:solid 1px;
|
||||
border-color:#C0DAE4;
|
||||
background-color:#DDECF1;
|
||||
}
|
||||
.PREF_ON_WHITE {border-color:#c0dae4; background-color:#ddecf1;}
|
||||
.PREF_ON_GREY {border-color:#c0dae4; background-color:#ddecf1;}
|
||||
.PREF_ON_PURPLE {border-color:#c0dae4; background-color:#ddecf1;}
|
||||
.PREF_ON_BLUE {border-color:#c0dae4; background-color:#ddecf1;}
|
||||
.PREF_ON_YELLOW {border-color:#c0dae4; background-color:#ddecf1;}
|
||||
.PREF_ON_PINK {border-color:#c0dae4; background-color:#ddecf1;}
|
||||
.PREF_ON_DARK {border-color:#808080; background-color:#707070;}
|
||||
|
||||
/************************************* Log ***********************************/
|
||||
.LOG
|
|
@ -206,6 +206,7 @@ static void Agd_ShowMyAgenda (struct Agd_Agenda *Agenda)
|
|||
|
||||
static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_AGENDA_PAST___FUTURE_EVENTS[2];
|
||||
Agd_Past__FutureEvents_t PstFut;
|
||||
static const char *Icon[2] =
|
||||
|
@ -215,23 +216,24 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda
|
|||
};
|
||||
|
||||
Set_BeginOneSettingSelector ();
|
||||
for (PstFut = Agd_PAST___EVENTS;
|
||||
for (PstFut = Agd_PAST___EVENTS;
|
||||
PstFut <= Agd_FUTURE_EVENTS;
|
||||
PstFut++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
(Agenda->Past__FutureEvents & (1 << PstFut)) ? "PREF_ON" :
|
||||
"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],
|
||||
Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]);
|
||||
Frm_EndForm ();
|
||||
if ((Agenda->Past__FutureEvents & (1 << PstFut)))
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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],
|
||||
Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
@ -243,6 +245,7 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda
|
|||
|
||||
static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[2];
|
||||
Agd_PrivatPublicEvents_t PrvPub;
|
||||
static const char *Icon[2] =
|
||||
|
@ -252,23 +255,24 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
|
|||
};
|
||||
|
||||
Set_BeginOneSettingSelector ();
|
||||
for (PrvPub = Agd_PRIVAT_EVENTS;
|
||||
for (PrvPub = Agd_PRIVAT_EVENTS;
|
||||
PrvPub <= Agd_PUBLIC_EVENTS;
|
||||
PrvPub++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
(Agenda->PrivatPublicEvents & (1 << PrvPub)) ? "PREF_ON" :
|
||||
"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],
|
||||
Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]);
|
||||
Frm_EndForm ();
|
||||
if ((Agenda->PrivatPublicEvents & (1 << PrvPub)))
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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],
|
||||
Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
@ -280,6 +284,7 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
|
|||
|
||||
static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_AGENDA_HIDDEN_VISIBL_EVENTS[2];
|
||||
Agd_HiddenVisiblEvents_t HidVis;
|
||||
static const char *Icon[2] =
|
||||
|
@ -289,23 +294,24 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda
|
|||
};
|
||||
|
||||
Set_BeginOneSettingSelector ();
|
||||
for (HidVis = Agd_HIDDEN_EVENTS;
|
||||
for (HidVis = Agd_HIDDEN_EVENTS;
|
||||
HidVis <= Agd_VISIBL_EVENTS;
|
||||
HidVis++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
(Agenda->HiddenVisiblEvents & (1 << HidVis)) ? "PREF_ON" :
|
||||
"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],
|
||||
Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]);
|
||||
Frm_EndForm ();
|
||||
if ((Agenda->HiddenVisiblEvents & (1 << HidVis)))
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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],
|
||||
Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
|
@ -112,30 +112,32 @@ static void Cal_PutIconsFirstDayOfWeek (__attribute__((unused)) void *Args)
|
|||
void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
|
||||
void (*FuncParams) (void *Args),void *Args)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_First_day_of_the_week_X;
|
||||
extern const char *Txt_DAYS_SMALL[7];
|
||||
unsigned FirstDayOfWeek;
|
||||
char Icon[32 + 1];
|
||||
|
||||
Set_BeginOneSettingSelector ();
|
||||
for (FirstDayOfWeek = 0; // Monday
|
||||
for (FirstDayOfWeek = 0; // Monday
|
||||
FirstDayOfWeek <= 6; // Sunday
|
||||
FirstDayOfWeek++)
|
||||
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek ? "PREF_ON" :
|
||||
"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);
|
||||
Ico_PutSettingIconLink (Icon,
|
||||
Str_BuildString (Txt_First_day_of_the_week_X,
|
||||
Txt_DAYS_SMALL[FirstDayOfWeek]));
|
||||
Str_FreeStrings ();
|
||||
Frm_EndForm ();
|
||||
if (FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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);
|
||||
Ico_PutSettingIconLink (Icon,
|
||||
Str_BuildString (Txt_First_day_of_the_week_X,
|
||||
Txt_DAYS_SMALL[FirstDayOfWeek]));
|
||||
Str_FreeStrings ();
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
|
@ -602,12 +602,13 @@ TODO: FIX BUG, URGENT! En las fechas como par
|
|||
|
||||
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.70 (2021-12-15)"
|
||||
#define CSS_FILE "swad21.70.css"
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.70.1 (2021-12-15)"
|
||||
#define CSS_FILE "swad21.70.1.css"
|
||||
#define JS_FILE "swad21.67.4.js"
|
||||
/*
|
||||
// TODO: al ver los resultados de un juego como profesor, el rol del estudiante sale como desconocido y no se puede ver el DNI
|
||||
|
||||
Version 21.70.1: Dec 15, 2021 Working on design of dark theme. (321305 lines)
|
||||
Version 21.70: Dec 15, 2021 Working on design of dark theme. (321252 lines)
|
||||
Version 21.69: Dec 15, 2021 Working on design of dark theme. (321089 lines)
|
||||
Version 21.68: Dec 08, 2021 Beginning design of dark theme. (320444 lines)
|
||||
|
|
24
swad_group.c
24
swad_group.c
|
@ -4368,6 +4368,7 @@ void Grp_PutParamWhichGrpsAllGrps (void)
|
|||
void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
|
||||
void (*FuncParams) (void *Args),void *Args)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_GROUP_WHICH_GROUPS[2];
|
||||
Grp_WhichGroups_t WhichGrps;
|
||||
|
||||
|
@ -4379,17 +4380,18 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
|
|||
WhichGrps <= Grp_ALL_GROUPS;
|
||||
WhichGrps++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
WhichGrps == Gbl.Crs.Grps.WhichGrps ? "PREF_ON" :
|
||||
"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",
|
||||
Txt_GROUP_WHICH_GROUPS[WhichGrps]);
|
||||
Frm_EndForm ();
|
||||
if (WhichGrps == Gbl.Crs.Grps.WhichGrps)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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",
|
||||
Txt_GROUP_WHICH_GROUPS[WhichGrps]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
|
||||
|
|
22
swad_icon.c
22
swad_icon.c
|
@ -111,6 +111,7 @@ const char *Ico_GetIcon (const char *IconWithoutExtension)
|
|||
|
||||
void Ico_PutIconsToSelectIconSet (void)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Hlp_PROFILE_Settings_icons;
|
||||
extern const char *Txt_Icons;
|
||||
Ico_IconSet_t IconSet;
|
||||
|
@ -125,16 +126,17 @@ void Ico_PutIconsToSelectIconSet (void)
|
|||
IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1);
|
||||
IconSet++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
IconSet == Gbl.Prefs.IconSet ? "PREF_ON" :
|
||||
"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_IconSetNames[IconSet]);
|
||||
Frm_EndForm ();
|
||||
if (IconSet == Gbl.Prefs.IconSet)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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_IconSetNames[IconSet]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
15
swad_menu.c
15
swad_menu.c
|
@ -304,6 +304,7 @@ void Mnu_WriteMenuThisTab (void)
|
|||
void Mnu_PutIconsToSelectMenu (void)
|
||||
{
|
||||
extern const char *Hlp_PROFILE_Settings_menu;
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_Menu;
|
||||
extern const char *Txt_MENU_NAMES[Mnu_NUM_MENUS];
|
||||
Mnu_Menu_t Menu;
|
||||
|
@ -317,12 +318,14 @@ void Mnu_PutIconsToSelectMenu (void)
|
|||
Menu <= (Mnu_Menu_t) (Mnu_NUM_MENUS - 1);
|
||||
Menu++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",Menu == Gbl.Prefs.Menu ? "PREF_ON" :
|
||||
"PREF_OFF");
|
||||
Frm_BeginForm (ActChgMnu);
|
||||
Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu);
|
||||
Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);
|
||||
Frm_EndForm ();
|
||||
if (Menu == Gbl.Prefs.Menu)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
else
|
||||
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||
Frm_BeginForm (ActChgMnu);
|
||||
Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu);
|
||||
Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
|
@ -54,6 +54,7 @@ static void Pho_PutIconsPhotoShape (__attribute__((unused)) void *Args);
|
|||
void Pho_PutIconsToSelectPhotoShape (void)
|
||||
{
|
||||
extern const char *Hlp_PROFILE_Settings_user_photos;
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_User_photos;
|
||||
extern const char *Txt_PHOTO_SHAPES[Pho_NUM_SHAPES];
|
||||
static const char *ClassPhoto[Pho_NUM_SHAPES] =
|
||||
|
@ -74,12 +75,14 @@ void Pho_PutIconsToSelectPhotoShape (void)
|
|||
Shape <= (Pho_Shape_t) (Pho_NUM_SHAPES - 1);
|
||||
Shape++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",Shape == Gbl.Prefs.PhotoShape ? "PREF_ON" :
|
||||
"PREF_OFF");
|
||||
Frm_BeginForm (ActChgUsrPho);
|
||||
Par_PutHiddenParamUnsigned (NULL,"PhotoShape",Shape);
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user.svg",Txt_PHOTO_SHAPES[Shape],ClassPhoto[Shape]);
|
||||
Frm_EndForm ();
|
||||
if (Shape == Gbl.Prefs.PhotoShape)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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],ClassPhoto[Shape]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
136
swad_project.c
136
swad_project.c
|
@ -566,6 +566,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
|||
|
||||
static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
struct Prj_Filter Filter;
|
||||
Usr_Who_t Who;
|
||||
unsigned Mask = 1 << Usr_WHO_ME |
|
||||
|
@ -578,22 +579,23 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
|||
Who++)
|
||||
if (Mask & (1 << Who))
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
(Projects->Filter.Who == Who) ? "PREF_ON" :
|
||||
"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 ();
|
||||
if (Who == Projects->Filter.Who)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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_EndOneSettingSelector ();
|
||||
|
@ -605,6 +607,7 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
|||
|
||||
static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Prj_NUM_ASSIGNED_NONASSIG];
|
||||
struct Prj_Filter Filter;
|
||||
Prj_AssignedNonassig_t Assign;
|
||||
|
@ -614,22 +617,23 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
|
|||
Assign <= (Prj_AssignedNonassig_t) (Prj_NUM_ASSIGNED_NONASSIG - 1);
|
||||
Assign++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
(Projects->Filter.Assign & (1 << Assign)) ? "PREF_ON" :
|
||||
"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],
|
||||
Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Assign]);
|
||||
Frm_EndForm ();
|
||||
if ((Projects->Filter.Assign & (1 << Assign)))
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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],
|
||||
Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Assign]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
@ -641,6 +645,7 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
|
|||
|
||||
static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL];
|
||||
struct Prj_Filter Filter;
|
||||
Prj_HiddenVisibl_t HidVis;
|
||||
|
@ -655,22 +660,23 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
|
|||
HidVis <= (Prj_HiddenVisibl_t) (Prj_NUM_HIDDEN_VISIBL - 1);
|
||||
HidVis++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
(Projects->Filter.Hidden & (1 << HidVis)) ? "PREF_ON" :
|
||||
"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],
|
||||
Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]);
|
||||
Frm_EndForm ();
|
||||
if ((Projects->Filter.Hidden & (1 << HidVis)))
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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],
|
||||
Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
@ -682,6 +688,7 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
|
|||
|
||||
static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS];
|
||||
struct Prj_Filter Filter;
|
||||
Prj_Faultiness_t Faultiness;
|
||||
|
@ -696,22 +703,23 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
|
|||
Faultiness <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1);
|
||||
Faultiness++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
(Projects->Filter.Faulti & (1 << Faultiness)) ? "PREF_ON" :
|
||||
"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],
|
||||
Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]);
|
||||
Frm_EndForm ();
|
||||
if ((Projects->Filter.Faulti & (1 << Faultiness)))
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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],
|
||||
Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
|
@ -206,6 +206,7 @@ void Set_SetSettingsFromIP (void)
|
|||
static void Set_PutIconsToSelectSideCols (void)
|
||||
{
|
||||
extern const char *Hlp_PROFILE_Settings_columns;
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_Columns;
|
||||
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
|
||||
unsigned SideCols;
|
||||
|
@ -220,14 +221,16 @@ static void Set_PutIconsToSelectSideCols (void)
|
|||
SideCols <= Lay_SHOW_BOTH_COLUMNS;
|
||||
SideCols++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",SideCols == Gbl.Prefs.SideCols ? "PREF_ON" :
|
||||
"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,Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
|
||||
Frm_EndForm ();
|
||||
if (SideCols == Gbl.Prefs.SideCols)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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,Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
30
swad_theme.c
30
swad_theme.c
|
@ -360,6 +360,17 @@ const char *The_ClassBgHighlight[The_NUM_THEMES] =
|
|||
[The_THEME_DARK ] = "BG_HIGHLIGHT_DARK",
|
||||
};
|
||||
|
||||
const char *The_ClassPrefOn[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "PREF_ON_WHITE",
|
||||
[The_THEME_GREY ] = "PREF_ON_GREY",
|
||||
[The_THEME_PURPLE] = "PREF_ON_PURPLE",
|
||||
[The_THEME_BLUE ] = "PREF_ON_BLUE",
|
||||
[The_THEME_YELLOW] = "PREF_ON_YELLOW",
|
||||
[The_THEME_PINK ] = "PREF_ON_PINK",
|
||||
[The_THEME_DARK ] = "PREF_ON_DARK",
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************************** Private prototypes ***************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -373,6 +384,7 @@ static void The_PutIconsTheme (__attribute__((unused)) void *Args);
|
|||
void The_PutIconsToSelectTheme (void)
|
||||
{
|
||||
extern const char *Hlp_PROFILE_Settings_theme;
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
extern const char *Txt_Theme_SKIN;
|
||||
The_Theme_t Theme;
|
||||
char Icon[PATH_MAX + 1];
|
||||
|
@ -386,14 +398,16 @@ void The_PutIconsToSelectTheme (void)
|
|||
Theme <= (The_Theme_t) (The_NUM_THEMES - 1);
|
||||
Theme++)
|
||||
{
|
||||
HTM_DIV_Begin ("class=\"%s\"",Theme == Gbl.Prefs.Theme ? "PREF_ON" :
|
||||
"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,The_ThemeNames[Theme]);
|
||||
Frm_EndForm ();
|
||||
if (Theme == Gbl.Prefs.Theme)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
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,The_ThemeNames[Theme]);
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
|
@ -62,6 +62,7 @@ static void Tml_Who_ShowWarningYouDontFollowAnyUser (void);
|
|||
|
||||
void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
Usr_Who_t Who;
|
||||
unsigned Mask = 1 << Usr_WHO_ME |
|
||||
1 << Usr_WHO_FOLLOWED |
|
||||
|
@ -76,19 +77,20 @@ void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline)
|
|||
if (Mask & (1 << Who))
|
||||
{
|
||||
/* Begin container */
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
Who == Timeline->Who ? "PREF_ON" :
|
||||
"PREF_OFF");
|
||||
if (Who == Timeline->Who)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
else
|
||||
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||
|
||||
/* Begin form */
|
||||
Frm_BeginForm (ActSeeGblTL);
|
||||
Par_PutHiddenParamUnsigned (NULL,"Who",(unsigned) Who);
|
||||
/* Begin form */
|
||||
Frm_BeginForm (ActSeeGblTL);
|
||||
Par_PutHiddenParamUnsigned (NULL,"Who",(unsigned) Who);
|
||||
|
||||
/* Icon to select which users */
|
||||
Usr_PutWhoIcon (Who);
|
||||
/* Icon to select which users */
|
||||
Usr_PutWhoIcon (Who);
|
||||
|
||||
/* End form */
|
||||
Frm_EndForm ();
|
||||
/* End form */
|
||||
Frm_EndForm ();
|
||||
|
||||
/* End container */
|
||||
HTM_DIV_End ();
|
||||
|
|
63
swad_user.c
63
swad_user.c
|
@ -3567,44 +3567,49 @@ void Usr_FreeListOtherRecipients (void)
|
|||
|
||||
void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Args)
|
||||
{
|
||||
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||
|
||||
Set_BeginSettingsHead ();
|
||||
Set_BeginOneSettingSelector ();
|
||||
|
||||
/***** Select Set_USR_LIST_AS_CLASS_PHOTO *****/
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO ? "PREF_ON" :
|
||||
"PREF_OFF");
|
||||
Set_FormToSelectUsrListType (FuncParams,Args,
|
||||
Set_USR_LIST_AS_CLASS_PHOTO);
|
||||
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
else
|
||||
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||
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 ();
|
||||
/* 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 ();
|
||||
|
||||
/***** Select Usr_LIST_AS_LISTING *****/
|
||||
HTM_DIV_Begin ("class=\"%s\"",
|
||||
Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_LISTING ? "PREF_ON" :
|
||||
"PREF_OFF");
|
||||
Set_FormToSelectUsrListType (FuncParams,Args,
|
||||
Set_USR_LIST_AS_LISTING);
|
||||
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_LISTING)
|
||||
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||
else
|
||||
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||
Set_FormToSelectUsrListType (FuncParams,Args,
|
||||
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 ();
|
||||
|
||||
/* 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 ();
|
||||
HTM_DIV_End ();
|
||||
|
||||
Set_EndOneSettingSelector ();
|
||||
|
|
Loading…
Reference in New Issue