Version 21.70.1: Dec 15, 2021 Working on design of dark theme.

This commit is contained in:
acanas 2021-12-15 20:42:47 +01:00
parent 849708bfa0
commit 5e18bcff3b
13 changed files with 268 additions and 212 deletions

View File

@ -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

View File

@ -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] =
@ -219,9 +220,10 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda
PstFut <= Agd_FUTURE_EVENTS;
PstFut++)
{
HTM_DIV_Begin ("class=\"%s\"",
(Agenda->Past__FutureEvents & (1 << PstFut)) ? "PREF_ON" :
"PREF_OFF");
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,
@ -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] =
@ -256,9 +259,10 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
PrvPub <= Agd_PUBLIC_EVENTS;
PrvPub++)
{
HTM_DIV_Begin ("class=\"%s\"",
(Agenda->PrivatPublicEvents & (1 << PrvPub)) ? "PREF_ON" :
"PREF_OFF");
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
@ -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] =
@ -293,9 +298,10 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda
HidVis <= Agd_VISIBL_EVENTS;
HidVis++)
{
HTM_DIV_Begin ("class=\"%s\"",
(Agenda->HiddenVisiblEvents & (1 << HidVis)) ? "PREF_ON" :
"PREF_OFF");
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,

View File

@ -112,6 +112,7 @@ 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;
@ -123,9 +124,10 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
FirstDayOfWeek++)
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
{
HTM_DIV_Begin ("class=\"%s\"",
FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek ? "PREF_ON" :
"PREF_OFF");
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

View File

@ -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)

View File

@ -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,9 +4380,10 @@ 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");
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

View File

@ -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,9 +126,10 @@ 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");
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",

View File

@ -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,8 +318,10 @@ 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");
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]);

View File

@ -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,8 +75,10 @@ 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");
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]);

View File

@ -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,9 +579,10 @@ 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");
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;
@ -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,9 +617,10 @@ 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");
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
@ -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,9 +660,10 @@ 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");
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;
@ -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,9 +703,10 @@ 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");
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;

View File

@ -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,8 +221,10 @@ static void Set_PutIconsToSelectSideCols (void)
SideCols <= Lay_SHOW_BOTH_COLUMNS;
SideCols++)
{
HTM_DIV_Begin ("class=\"%s\"",SideCols == Gbl.Prefs.SideCols ? "PREF_ON" :
"PREF_OFF");
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",

View File

@ -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,8 +398,10 @@ 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");
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",

View File

@ -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,9 +77,10 @@ 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);

View File

@ -3567,13 +3567,16 @@ 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");
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);
@ -3590,9 +3593,10 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Arg
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");
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);
@ -3605,6 +3609,7 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Arg
FuncParams (Args);
Usr_PutCheckboxListWithPhotos ();
Frm_EndForm ();
HTM_DIV_End ();
Set_EndOneSettingSelector ();