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;
|
text-align:center;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
border:solid 1px;
|
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 ***********************************/
|
||||||
.LOG
|
.LOG
|
|
@ -206,6 +206,7 @@ static void Agd_ShowMyAgenda (struct Agd_Agenda *Agenda)
|
||||||
|
|
||||||
static void Agd_ShowFormToSelPast__FutureEvents (const 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];
|
extern const char *Txt_AGENDA_PAST___FUTURE_EVENTS[2];
|
||||||
Agd_Past__FutureEvents_t PstFut;
|
Agd_Past__FutureEvents_t PstFut;
|
||||||
static const char *Icon[2] =
|
static const char *Icon[2] =
|
||||||
|
@ -215,23 +216,24 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda
|
||||||
};
|
};
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
Set_BeginOneSettingSelector ();
|
||||||
for (PstFut = Agd_PAST___EVENTS;
|
for (PstFut = Agd_PAST___EVENTS;
|
||||||
PstFut <= Agd_FUTURE_EVENTS;
|
PstFut <= Agd_FUTURE_EVENTS;
|
||||||
PstFut++)
|
PstFut++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if ((Agenda->Past__FutureEvents & (1 << PstFut)))
|
||||||
(Agenda->Past__FutureEvents & (1 << PstFut)) ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (ActSeeMyAgd);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents ^ (1 << PstFut), // Toggle
|
Frm_BeginForm (ActSeeMyAgd);
|
||||||
Agenda->PrivatPublicEvents,
|
Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents ^ (1 << PstFut), // Toggle
|
||||||
Agenda->HiddenVisiblEvents,
|
Agenda->PrivatPublicEvents,
|
||||||
Agenda->SelectedOrder,
|
Agenda->HiddenVisiblEvents,
|
||||||
Agenda->CurrentPage,
|
Agenda->SelectedOrder,
|
||||||
-1L);
|
Agenda->CurrentPage,
|
||||||
Ico_PutSettingIconLink (Icon[PstFut],
|
-1L);
|
||||||
Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]);
|
Ico_PutSettingIconLink (Icon[PstFut],
|
||||||
Frm_EndForm ();
|
Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
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)
|
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];
|
extern const char *Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[2];
|
||||||
Agd_PrivatPublicEvents_t PrvPub;
|
Agd_PrivatPublicEvents_t PrvPub;
|
||||||
static const char *Icon[2] =
|
static const char *Icon[2] =
|
||||||
|
@ -252,23 +255,24 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
|
||||||
};
|
};
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
Set_BeginOneSettingSelector ();
|
||||||
for (PrvPub = Agd_PRIVAT_EVENTS;
|
for (PrvPub = Agd_PRIVAT_EVENTS;
|
||||||
PrvPub <= Agd_PUBLIC_EVENTS;
|
PrvPub <= Agd_PUBLIC_EVENTS;
|
||||||
PrvPub++)
|
PrvPub++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if ((Agenda->PrivatPublicEvents & (1 << PrvPub)))
|
||||||
(Agenda->PrivatPublicEvents & (1 << PrvPub)) ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (ActSeeMyAgd);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents,
|
Frm_BeginForm (ActSeeMyAgd);
|
||||||
Agenda->PrivatPublicEvents ^ (1 << PrvPub), // Toggle
|
Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents,
|
||||||
Agenda->HiddenVisiblEvents,
|
Agenda->PrivatPublicEvents ^ (1 << PrvPub), // Toggle
|
||||||
Agenda->SelectedOrder,
|
Agenda->HiddenVisiblEvents,
|
||||||
Agenda->CurrentPage,
|
Agenda->SelectedOrder,
|
||||||
-1L);
|
Agenda->CurrentPage,
|
||||||
Ico_PutSettingIconLink (Icon[PrvPub],
|
-1L);
|
||||||
Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]);
|
Ico_PutSettingIconLink (Icon[PrvPub],
|
||||||
Frm_EndForm ();
|
Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
@ -280,6 +284,7 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
|
||||||
|
|
||||||
static void Agd_ShowFormToSelHiddenVisiblEvents (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];
|
extern const char *Txt_AGENDA_HIDDEN_VISIBL_EVENTS[2];
|
||||||
Agd_HiddenVisiblEvents_t HidVis;
|
Agd_HiddenVisiblEvents_t HidVis;
|
||||||
static const char *Icon[2] =
|
static const char *Icon[2] =
|
||||||
|
@ -289,23 +294,24 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda
|
||||||
};
|
};
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
Set_BeginOneSettingSelector ();
|
||||||
for (HidVis = Agd_HIDDEN_EVENTS;
|
for (HidVis = Agd_HIDDEN_EVENTS;
|
||||||
HidVis <= Agd_VISIBL_EVENTS;
|
HidVis <= Agd_VISIBL_EVENTS;
|
||||||
HidVis++)
|
HidVis++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if ((Agenda->HiddenVisiblEvents & (1 << HidVis)))
|
||||||
(Agenda->HiddenVisiblEvents & (1 << HidVis)) ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (ActSeeMyAgd);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents,
|
Frm_BeginForm (ActSeeMyAgd);
|
||||||
Agenda->PrivatPublicEvents,
|
Agd_PutParamsMyAgenda (Agenda->Past__FutureEvents,
|
||||||
Agenda->HiddenVisiblEvents ^ (1 << HidVis), // Toggle
|
Agenda->PrivatPublicEvents,
|
||||||
Agenda->SelectedOrder,
|
Agenda->HiddenVisiblEvents ^ (1 << HidVis), // Toggle
|
||||||
Agenda->CurrentPage,
|
Agenda->SelectedOrder,
|
||||||
-1L);
|
Agenda->CurrentPage,
|
||||||
Ico_PutSettingIconLink (Icon[HidVis],
|
-1L);
|
||||||
Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]);
|
Ico_PutSettingIconLink (Icon[HidVis],
|
||||||
Frm_EndForm ();
|
Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
|
|
@ -112,30 +112,32 @@ static void Cal_PutIconsFirstDayOfWeek (__attribute__((unused)) void *Args)
|
||||||
void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
|
void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
|
||||||
void (*FuncParams) (void *Args),void *Args)
|
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_First_day_of_the_week_X;
|
||||||
extern const char *Txt_DAYS_SMALL[7];
|
extern const char *Txt_DAYS_SMALL[7];
|
||||||
unsigned FirstDayOfWeek;
|
unsigned FirstDayOfWeek;
|
||||||
char Icon[32 + 1];
|
char Icon[32 + 1];
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
Set_BeginOneSettingSelector ();
|
||||||
for (FirstDayOfWeek = 0; // Monday
|
for (FirstDayOfWeek = 0; // Monday
|
||||||
FirstDayOfWeek <= 6; // Sunday
|
FirstDayOfWeek <= 6; // Sunday
|
||||||
FirstDayOfWeek++)
|
FirstDayOfWeek++)
|
||||||
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
|
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if (FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek)
|
||||||
FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (Action);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Par_PutHiddenParamUnsigned (NULL,"FirstDayOfWeek",FirstDayOfWeek);
|
Frm_BeginForm (Action);
|
||||||
if (FuncParams) // Extra parameters depending on the action
|
Par_PutHiddenParamUnsigned (NULL,"FirstDayOfWeek",FirstDayOfWeek);
|
||||||
FuncParams (Args);
|
if (FuncParams) // Extra parameters depending on the action
|
||||||
snprintf (Icon,sizeof (Icon),"first-day-of-week-%u.png",FirstDayOfWeek);
|
FuncParams (Args);
|
||||||
Ico_PutSettingIconLink (Icon,
|
snprintf (Icon,sizeof (Icon),"first-day-of-week-%u.png",FirstDayOfWeek);
|
||||||
Str_BuildString (Txt_First_day_of_the_week_X,
|
Ico_PutSettingIconLink (Icon,
|
||||||
Txt_DAYS_SMALL[FirstDayOfWeek]));
|
Str_BuildString (Txt_First_day_of_the_week_X,
|
||||||
Str_FreeStrings ();
|
Txt_DAYS_SMALL[FirstDayOfWeek]));
|
||||||
Frm_EndForm ();
|
Str_FreeStrings ();
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
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.
|
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 Log_PLATFORM_VERSION "SWAD 21.70.1 (2021-12-15)"
|
||||||
#define CSS_FILE "swad21.70.css"
|
#define CSS_FILE "swad21.70.1.css"
|
||||||
#define JS_FILE "swad21.67.4.js"
|
#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
|
// 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.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.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)
|
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 Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
|
||||||
void (*FuncParams) (void *Args),void *Args)
|
void (*FuncParams) (void *Args),void *Args)
|
||||||
{
|
{
|
||||||
|
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||||
extern const char *Txt_GROUP_WHICH_GROUPS[2];
|
extern const char *Txt_GROUP_WHICH_GROUPS[2];
|
||||||
Grp_WhichGroups_t WhichGrps;
|
Grp_WhichGroups_t WhichGrps;
|
||||||
|
|
||||||
|
@ -4379,17 +4380,18 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
|
||||||
WhichGrps <= Grp_ALL_GROUPS;
|
WhichGrps <= Grp_ALL_GROUPS;
|
||||||
WhichGrps++)
|
WhichGrps++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if (WhichGrps == Gbl.Crs.Grps.WhichGrps)
|
||||||
WhichGrps == Gbl.Crs.Grps.WhichGrps ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (Action);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Par_PutHiddenParamUnsigned (NULL,"WhichGrps",(unsigned) WhichGrps);
|
Frm_BeginForm (Action);
|
||||||
if (FuncParams) // Extra parameters depending on the action
|
Par_PutHiddenParamUnsigned (NULL,"WhichGrps",(unsigned) WhichGrps);
|
||||||
FuncParams (Args);
|
if (FuncParams) // Extra parameters depending on the action
|
||||||
Ico_PutSettingIconLink (WhichGrps == Grp_MY_GROUPS ? "mysitemap.png" :
|
FuncParams (Args);
|
||||||
"sitemap.svg",
|
Ico_PutSettingIconLink (WhichGrps == Grp_MY_GROUPS ? "mysitemap.png" :
|
||||||
Txt_GROUP_WHICH_GROUPS[WhichGrps]);
|
"sitemap.svg",
|
||||||
Frm_EndForm ();
|
Txt_GROUP_WHICH_GROUPS[WhichGrps]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
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)
|
void Ico_PutIconsToSelectIconSet (void)
|
||||||
{
|
{
|
||||||
|
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||||
extern const char *Hlp_PROFILE_Settings_icons;
|
extern const char *Hlp_PROFILE_Settings_icons;
|
||||||
extern const char *Txt_Icons;
|
extern const char *Txt_Icons;
|
||||||
Ico_IconSet_t IconSet;
|
Ico_IconSet_t IconSet;
|
||||||
|
@ -125,16 +126,17 @@ void Ico_PutIconsToSelectIconSet (void)
|
||||||
IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1);
|
IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1);
|
||||||
IconSet++)
|
IconSet++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if (IconSet == Gbl.Prefs.IconSet)
|
||||||
IconSet == Gbl.Prefs.IconSet ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (ActChgIco);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Par_PutHiddenParamString (NULL,"IconSet",Ico_IconSetId[IconSet]);
|
Frm_BeginForm (ActChgIco);
|
||||||
snprintf (Icon,sizeof (Icon),"%s/%s/cog.svg",
|
Par_PutHiddenParamString (NULL,"IconSet",Ico_IconSetId[IconSet]);
|
||||||
Cfg_ICON_FOLDER_SETS,
|
snprintf (Icon,sizeof (Icon),"%s/%s/cog.svg",
|
||||||
Ico_IconSetId[IconSet]);
|
Cfg_ICON_FOLDER_SETS,
|
||||||
Ico_PutSettingIconLink (Icon,Ico_IconSetNames[IconSet]);
|
Ico_IconSetId[IconSet]);
|
||||||
Frm_EndForm ();
|
Ico_PutSettingIconLink (Icon,Ico_IconSetNames[IconSet]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
|
15
swad_menu.c
15
swad_menu.c
|
@ -304,6 +304,7 @@ void Mnu_WriteMenuThisTab (void)
|
||||||
void Mnu_PutIconsToSelectMenu (void)
|
void Mnu_PutIconsToSelectMenu (void)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_PROFILE_Settings_menu;
|
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;
|
||||||
extern const char *Txt_MENU_NAMES[Mnu_NUM_MENUS];
|
extern const char *Txt_MENU_NAMES[Mnu_NUM_MENUS];
|
||||||
Mnu_Menu_t Menu;
|
Mnu_Menu_t Menu;
|
||||||
|
@ -317,12 +318,14 @@ void Mnu_PutIconsToSelectMenu (void)
|
||||||
Menu <= (Mnu_Menu_t) (Mnu_NUM_MENUS - 1);
|
Menu <= (Mnu_Menu_t) (Mnu_NUM_MENUS - 1);
|
||||||
Menu++)
|
Menu++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",Menu == Gbl.Prefs.Menu ? "PREF_ON" :
|
if (Menu == Gbl.Prefs.Menu)
|
||||||
"PREF_OFF");
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
Frm_BeginForm (ActChgMnu);
|
else
|
||||||
Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);
|
Frm_BeginForm (ActChgMnu);
|
||||||
Frm_EndForm ();
|
Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu);
|
||||||
|
Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
|
|
@ -54,6 +54,7 @@ static void Pho_PutIconsPhotoShape (__attribute__((unused)) void *Args);
|
||||||
void Pho_PutIconsToSelectPhotoShape (void)
|
void Pho_PutIconsToSelectPhotoShape (void)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_PROFILE_Settings_user_photos;
|
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_User_photos;
|
||||||
extern const char *Txt_PHOTO_SHAPES[Pho_NUM_SHAPES];
|
extern const char *Txt_PHOTO_SHAPES[Pho_NUM_SHAPES];
|
||||||
static const char *ClassPhoto[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 <= (Pho_Shape_t) (Pho_NUM_SHAPES - 1);
|
||||||
Shape++)
|
Shape++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",Shape == Gbl.Prefs.PhotoShape ? "PREF_ON" :
|
if (Shape == Gbl.Prefs.PhotoShape)
|
||||||
"PREF_OFF");
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
Frm_BeginForm (ActChgUsrPho);
|
else
|
||||||
Par_PutHiddenParamUnsigned (NULL,"PhotoShape",Shape);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user.svg",Txt_PHOTO_SHAPES[Shape],ClassPhoto[Shape]);
|
Frm_BeginForm (ActChgUsrPho);
|
||||||
Frm_EndForm ();
|
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 ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
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)
|
static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
||||||
{
|
{
|
||||||
|
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
Usr_Who_t Who;
|
Usr_Who_t Who;
|
||||||
unsigned Mask = 1 << Usr_WHO_ME |
|
unsigned Mask = 1 << Usr_WHO_ME |
|
||||||
|
@ -578,22 +579,23 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
||||||
Who++)
|
Who++)
|
||||||
if (Mask & (1 << Who))
|
if (Mask & (1 << Who))
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if (Who == Projects->Filter.Who)
|
||||||
(Projects->Filter.Who == Who) ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (Who == Usr_WHO_SELECTED ? ActReqUsrPrj :
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
ActSeePrj);
|
Frm_BeginForm (Who == Usr_WHO_SELECTED ? ActReqUsrPrj :
|
||||||
Filter.Who = Who;
|
ActSeePrj);
|
||||||
Filter.Assign = Projects->Filter.Assign;
|
Filter.Who = Who;
|
||||||
Filter.Hidden = Projects->Filter.Hidden;
|
Filter.Assign = Projects->Filter.Assign;
|
||||||
Filter.Faulti = Projects->Filter.Faulti;
|
Filter.Hidden = Projects->Filter.Hidden;
|
||||||
Filter.DptCod = Projects->Filter.DptCod;
|
Filter.Faulti = Projects->Filter.Faulti;
|
||||||
Prj_PutParams (&Filter,
|
Filter.DptCod = Projects->Filter.DptCod;
|
||||||
Projects->SelectedOrder,
|
Prj_PutParams (&Filter,
|
||||||
Projects->CurrentPage,
|
Projects->SelectedOrder,
|
||||||
-1L);
|
Projects->CurrentPage,
|
||||||
Usr_PutWhoIcon (Who);
|
-1L);
|
||||||
Frm_EndForm ();
|
Usr_PutWhoIcon (Who);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
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)
|
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];
|
extern const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Prj_NUM_ASSIGNED_NONASSIG];
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
Prj_AssignedNonassig_t Assign;
|
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 <= (Prj_AssignedNonassig_t) (Prj_NUM_ASSIGNED_NONASSIG - 1);
|
||||||
Assign++)
|
Assign++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if ((Projects->Filter.Assign & (1 << Assign)))
|
||||||
(Projects->Filter.Assign & (1 << Assign)) ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (ActSeePrj);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Filter.Who = Projects->Filter.Who;
|
Frm_BeginForm (ActSeePrj);
|
||||||
Filter.Assign = Projects->Filter.Assign ^ (1 << Assign); // Toggle
|
Filter.Who = Projects->Filter.Who;
|
||||||
Filter.Hidden = Projects->Filter.Hidden;
|
Filter.Assign = Projects->Filter.Assign ^ (1 << Assign); // Toggle
|
||||||
Filter.Faulti = Projects->Filter.Faulti;
|
Filter.Hidden = Projects->Filter.Hidden;
|
||||||
Filter.DptCod = Projects->Filter.DptCod;
|
Filter.Faulti = Projects->Filter.Faulti;
|
||||||
Prj_PutParams (&Filter,
|
Filter.DptCod = Projects->Filter.DptCod;
|
||||||
Projects->SelectedOrder,
|
Prj_PutParams (&Filter,
|
||||||
Projects->CurrentPage,
|
Projects->SelectedOrder,
|
||||||
-1L);
|
Projects->CurrentPage,
|
||||||
Ico_PutSettingIconLink (AssignedNonassigImage[Assign],
|
-1L);
|
||||||
Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Assign]);
|
Ico_PutSettingIconLink (AssignedNonassigImage[Assign],
|
||||||
Frm_EndForm ();
|
Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Assign]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
@ -641,6 +645,7 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByHidden (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];
|
extern const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL];
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
Prj_HiddenVisibl_t HidVis;
|
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 <= (Prj_HiddenVisibl_t) (Prj_NUM_HIDDEN_VISIBL - 1);
|
||||||
HidVis++)
|
HidVis++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if ((Projects->Filter.Hidden & (1 << HidVis)))
|
||||||
(Projects->Filter.Hidden & (1 << HidVis)) ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (ActSeePrj);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Filter.Who = Projects->Filter.Who;
|
Frm_BeginForm (ActSeePrj);
|
||||||
Filter.Assign = Projects->Filter.Assign;
|
Filter.Who = Projects->Filter.Who;
|
||||||
Filter.Hidden = Projects->Filter.Hidden ^ (1 << HidVis); // Toggle
|
Filter.Assign = Projects->Filter.Assign;
|
||||||
Filter.Faulti = Projects->Filter.Faulti;
|
Filter.Hidden = Projects->Filter.Hidden ^ (1 << HidVis); // Toggle
|
||||||
Filter.DptCod = Projects->Filter.DptCod;
|
Filter.Faulti = Projects->Filter.Faulti;
|
||||||
Prj_PutParams (&Filter,
|
Filter.DptCod = Projects->Filter.DptCod;
|
||||||
Projects->SelectedOrder,
|
Prj_PutParams (&Filter,
|
||||||
Projects->CurrentPage,
|
Projects->SelectedOrder,
|
||||||
-1L);
|
Projects->CurrentPage,
|
||||||
Ico_PutSettingIconLink (HiddenVisiblIcon[HidVis],
|
-1L);
|
||||||
Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]);
|
Ico_PutSettingIconLink (HiddenVisiblIcon[HidVis],
|
||||||
Frm_EndForm ();
|
Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
@ -682,6 +688,7 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByWarning (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];
|
extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS];
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
Prj_Faultiness_t Faultiness;
|
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 <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1);
|
||||||
Faultiness++)
|
Faultiness++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if ((Projects->Filter.Faulti & (1 << Faultiness)))
|
||||||
(Projects->Filter.Faulti & (1 << Faultiness)) ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Frm_BeginForm (ActSeePrj);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Filter.Who = Projects->Filter.Who;
|
Frm_BeginForm (ActSeePrj);
|
||||||
Filter.Assign = Projects->Filter.Assign;
|
Filter.Who = Projects->Filter.Who;
|
||||||
Filter.Hidden = Projects->Filter.Hidden;
|
Filter.Assign = Projects->Filter.Assign;
|
||||||
Filter.Faulti = Projects->Filter.Faulti ^ (1 << Faultiness); // Toggle
|
Filter.Hidden = Projects->Filter.Hidden;
|
||||||
Filter.DptCod = Projects->Filter.DptCod;
|
Filter.Faulti = Projects->Filter.Faulti ^ (1 << Faultiness); // Toggle
|
||||||
Prj_PutParams (&Filter,
|
Filter.DptCod = Projects->Filter.DptCod;
|
||||||
Projects->SelectedOrder,
|
Prj_PutParams (&Filter,
|
||||||
Projects->CurrentPage,
|
Projects->SelectedOrder,
|
||||||
-1L);
|
Projects->CurrentPage,
|
||||||
Ico_PutSettingIconLink (FaultinessIcon[Faultiness],
|
-1L);
|
||||||
Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]);
|
Ico_PutSettingIconLink (FaultinessIcon[Faultiness],
|
||||||
Frm_EndForm ();
|
Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
|
|
@ -206,6 +206,7 @@ void Set_SetSettingsFromIP (void)
|
||||||
static void Set_PutIconsToSelectSideCols (void)
|
static void Set_PutIconsToSelectSideCols (void)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_PROFILE_Settings_columns;
|
extern const char *Hlp_PROFILE_Settings_columns;
|
||||||
|
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||||
extern const char *Txt_Columns;
|
extern const char *Txt_Columns;
|
||||||
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
|
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
|
||||||
unsigned SideCols;
|
unsigned SideCols;
|
||||||
|
@ -220,14 +221,16 @@ static void Set_PutIconsToSelectSideCols (void)
|
||||||
SideCols <= Lay_SHOW_BOTH_COLUMNS;
|
SideCols <= Lay_SHOW_BOTH_COLUMNS;
|
||||||
SideCols++)
|
SideCols++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",SideCols == Gbl.Prefs.SideCols ? "PREF_ON" :
|
if (SideCols == Gbl.Prefs.SideCols)
|
||||||
"PREF_OFF");
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
Frm_BeginForm (ActChgCol);
|
else
|
||||||
Par_PutHiddenParamUnsigned (NULL,"SideCols",SideCols);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
snprintf (Icon,sizeof (Icon),"layout%u%u_32x20.gif",
|
Frm_BeginForm (ActChgCol);
|
||||||
SideCols >> 1,SideCols & 1);
|
Par_PutHiddenParamUnsigned (NULL,"SideCols",SideCols);
|
||||||
Ico_PutSettingIconLink (Icon,Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
|
snprintf (Icon,sizeof (Icon),"layout%u%u_32x20.gif",
|
||||||
Frm_EndForm ();
|
SideCols >> 1,SideCols & 1);
|
||||||
|
Ico_PutSettingIconLink (Icon,Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
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",
|
[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 ***************************/
|
/****************************** Private prototypes ***************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -373,6 +384,7 @@ static void The_PutIconsTheme (__attribute__((unused)) void *Args);
|
||||||
void The_PutIconsToSelectTheme (void)
|
void The_PutIconsToSelectTheme (void)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_PROFILE_Settings_theme;
|
extern const char *Hlp_PROFILE_Settings_theme;
|
||||||
|
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||||
extern const char *Txt_Theme_SKIN;
|
extern const char *Txt_Theme_SKIN;
|
||||||
The_Theme_t Theme;
|
The_Theme_t Theme;
|
||||||
char Icon[PATH_MAX + 1];
|
char Icon[PATH_MAX + 1];
|
||||||
|
@ -386,14 +398,16 @@ void The_PutIconsToSelectTheme (void)
|
||||||
Theme <= (The_Theme_t) (The_NUM_THEMES - 1);
|
Theme <= (The_Theme_t) (The_NUM_THEMES - 1);
|
||||||
Theme++)
|
Theme++)
|
||||||
{
|
{
|
||||||
HTM_DIV_Begin ("class=\"%s\"",Theme == Gbl.Prefs.Theme ? "PREF_ON" :
|
if (Theme == Gbl.Prefs.Theme)
|
||||||
"PREF_OFF");
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
Frm_BeginForm (ActChgThe);
|
else
|
||||||
Par_PutHiddenParamString (NULL,"Theme",The_ThemeId[Theme]);
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
snprintf (Icon,sizeof (Icon),"%s/%s/theme_32x20.gif",
|
Frm_BeginForm (ActChgThe);
|
||||||
Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme]);
|
Par_PutHiddenParamString (NULL,"Theme",The_ThemeId[Theme]);
|
||||||
Ico_PutSettingIconLink (Icon,The_ThemeNames[Theme]);
|
snprintf (Icon,sizeof (Icon),"%s/%s/theme_32x20.gif",
|
||||||
Frm_EndForm ();
|
Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme]);
|
||||||
|
Ico_PutSettingIconLink (Icon,The_ThemeNames[Theme]);
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
|
|
@ -62,6 +62,7 @@ static void Tml_Who_ShowWarningYouDontFollowAnyUser (void);
|
||||||
|
|
||||||
void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline)
|
void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline)
|
||||||
{
|
{
|
||||||
|
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||||
Usr_Who_t Who;
|
Usr_Who_t Who;
|
||||||
unsigned Mask = 1 << Usr_WHO_ME |
|
unsigned Mask = 1 << Usr_WHO_ME |
|
||||||
1 << Usr_WHO_FOLLOWED |
|
1 << Usr_WHO_FOLLOWED |
|
||||||
|
@ -76,19 +77,20 @@ void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline)
|
||||||
if (Mask & (1 << Who))
|
if (Mask & (1 << Who))
|
||||||
{
|
{
|
||||||
/* Begin container */
|
/* Begin container */
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if (Who == Timeline->Who)
|
||||||
Who == Timeline->Who ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
|
|
||||||
/* Begin form */
|
/* Begin form */
|
||||||
Frm_BeginForm (ActSeeGblTL);
|
Frm_BeginForm (ActSeeGblTL);
|
||||||
Par_PutHiddenParamUnsigned (NULL,"Who",(unsigned) Who);
|
Par_PutHiddenParamUnsigned (NULL,"Who",(unsigned) Who);
|
||||||
|
|
||||||
/* Icon to select which users */
|
/* Icon to select which users */
|
||||||
Usr_PutWhoIcon (Who);
|
Usr_PutWhoIcon (Who);
|
||||||
|
|
||||||
/* End form */
|
/* End form */
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
/* End container */
|
/* End container */
|
||||||
HTM_DIV_End ();
|
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)
|
void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Args)
|
||||||
{
|
{
|
||||||
|
extern const char *The_ClassPrefOn[The_NUM_THEMES];
|
||||||
|
|
||||||
Set_BeginSettingsHead ();
|
Set_BeginSettingsHead ();
|
||||||
Set_BeginOneSettingSelector ();
|
Set_BeginOneSettingSelector ();
|
||||||
|
|
||||||
/***** Select Set_USR_LIST_AS_CLASS_PHOTO *****/
|
/***** Select Set_USR_LIST_AS_CLASS_PHOTO *****/
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO)
|
||||||
Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Set_FormToSelectUsrListType (FuncParams,Args,
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Set_USR_LIST_AS_CLASS_PHOTO);
|
Set_FormToSelectUsrListType (FuncParams,Args,
|
||||||
|
Set_USR_LIST_AS_CLASS_PHOTO);
|
||||||
|
|
||||||
/* Number of columns in the class photo */
|
/* Number of columns in the class photo */
|
||||||
Frm_BeginFormAnchor (Gbl.Action.Act, // Repeat current action
|
Frm_BeginFormAnchor (Gbl.Action.Act, // Repeat current action
|
||||||
Usr_USER_LIST_SECTION_ID);
|
Usr_USER_LIST_SECTION_ID);
|
||||||
Grp_PutParamsCodGrps ();
|
Grp_PutParamsCodGrps ();
|
||||||
Set_PutParamUsrListType (Set_USR_LIST_AS_CLASS_PHOTO);
|
Set_PutParamUsrListType (Set_USR_LIST_AS_CLASS_PHOTO);
|
||||||
Set_PutParamListWithPhotos ();
|
Set_PutParamListWithPhotos ();
|
||||||
Usr_PutSelectorNumColsClassPhoto ();
|
Usr_PutSelectorNumColsClassPhoto ();
|
||||||
if (FuncParams)
|
if (FuncParams)
|
||||||
FuncParams (Args);
|
FuncParams (Args);
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
/***** Select Usr_LIST_AS_LISTING *****/
|
/***** Select Usr_LIST_AS_LISTING *****/
|
||||||
HTM_DIV_Begin ("class=\"%s\"",
|
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_LISTING)
|
||||||
Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_LISTING ? "PREF_ON" :
|
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
|
||||||
"PREF_OFF");
|
else
|
||||||
Set_FormToSelectUsrListType (FuncParams,Args,
|
HTM_DIV_Begin ("class=\"PREF_OFF\"");
|
||||||
Set_USR_LIST_AS_LISTING);
|
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 ();
|
HTM_DIV_End ();
|
||||||
|
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
|
|
Loading…
Reference in New Issue