diff --git a/css/swad21.74.css b/css/swad21.76.css similarity index 99% rename from css/swad21.74.css rename to css/swad21.76.css index ddba0dcd..eadec407 100644 --- a/css/swad21.74.css +++ b/css/swad21.76.css @@ -1692,17 +1692,22 @@ a:hover img.CENTER_PHOTO_SHOW } /********************************** Notice ***********************************/ -.NOTICE_HIGHLIGHT +.NOTICE_CONT { padding:10px 0; - background-color:#ddecf1; - animation:fadein 2s linear forwards; } -@keyframes fadein - { - to {background-color:white;} - } -.NOTICE_CONT + +.NOTICE_HIGHLIGHT_WHITE {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;} +.NOTICE_HIGHLIGHT_GREY {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;} +.NOTICE_HIGHLIGHT_PURPLE {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;} +.NOTICE_HIGHLIGHT_BLUE {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;} +.NOTICE_HIGHLIGHT_YELLOW {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;} +.NOTICE_HIGHLIGHT_PINK {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;} +.NOTICE_HIGHLIGHT_DARK {background-color:#808080; animation:fadeinnoticedark 2s linear forwards;} +@keyframes fadeinnoticelight {to {background-color:white;}} +@keyframes fadeinnoticedark {to {background-color:#484848;}} + +.NOTICE_BOX { box-sizing:border-box; margin:0 auto 10px auto; @@ -1713,8 +1718,8 @@ a:hover img.CENTER_PHOTO_SHOW text-align:left; overflow:hidden; } -.NOTICE_CONT_NARROW {width:148px;} -.NOTICE_CONT_WIDE {width:500px;} +.NOTICE_BOX_NARROW {width:148px;} +.NOTICE_BOX_WIDE {width:500px;} .NOTICE_DATE { float:right; diff --git a/swad_agenda.c b/swad_agenda.c index e39e6991..f65b0577 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -206,7 +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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_AGENDA_PAST___FUTURE_EVENTS[2]; Agd_Past__FutureEvents_t PstFut; static const char *Icon[2] = @@ -221,7 +221,8 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda PstFut++) { if ((Agenda->Past__FutureEvents & (1 << PstFut))) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActSeeMyAgd); @@ -245,7 +246,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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[2]; Agd_PrivatPublicEvents_t PrvPub; static const struct @@ -264,7 +265,8 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda PrvPub++) { if ((Agenda->PrivatPublicEvents & (1 << PrvPub))) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActSeeMyAgd); @@ -288,7 +290,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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_AGENDA_HIDDEN_VISIBL_EVENTS[2]; Agd_HiddenVisiblEvents_t HidVis; static const struct @@ -307,7 +309,8 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda HidVis++) { if ((Agenda->HiddenVisiblEvents & (1 << HidVis))) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActSeeMyAgd); diff --git a/swad_alert.c b/swad_alert.c index e69a071f..40477371 100644 --- a/swad_alert.c +++ b/swad_alert.c @@ -359,8 +359,7 @@ void Ale_ShowAlertAndButton1 (Ale_AlertType_t AlertType,const char *fmt,...) static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Txt) { - extern const char *The_ClassAlertBackground[The_NUM_THEMES]; - extern const char *The_ClassAlertTxtColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_Close; char IdAlert[Frm_MAX_BYTES_ID + 1]; static const bool AlertClosable[Ale_NUM_ALERT_TYPES] = @@ -399,8 +398,7 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx HTM_DIV_Begin ("class=\"CM\""); /***** Begin box *****/ - HTM_DIV_Begin ("class=\"ALERT %s\"", - The_ClassAlertBackground[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"ALERT ALERT_BG_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Icon to close the alert *****/ if (AlertClosable[AlertType]) @@ -415,11 +413,12 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx /***** Write message *****/ if (AlertType == Ale_NONE) - HTM_DIV_Begin ("class=\"ALERT_TXT %s\"", - The_ClassAlertTxtColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"ALERT_TXT ALERT_TXT_%s\"", + The_Colors[Gbl.Prefs.Theme]); else - HTM_DIV_Begin ("class=\"ALERT_TXT %s\" style=\"background-image:url('%s/%s');\"", - The_ClassAlertTxtColor[Gbl.Prefs.Theme], + HTM_DIV_Begin ("class=\"ALERT_TXT ALERT_TXT_%s\"" + " style=\"background-image:url('%s/%s');\"", + The_Colors[Gbl.Prefs.Theme], Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]); HTM_Txt (Txt); HTM_DIV_End (); diff --git a/swad_announcement.c b/swad_announcement.c index b5d135ab..a285dcdc 100644 --- a/swad_announcement.c +++ b/swad_announcement.c @@ -225,24 +225,14 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status, bool ShowAllAnnouncements, bool ICanEdit) { - extern const char *The_ClassNoticeTextColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_Users; extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Do_not_show_again; static const char *ContainerClass[Ann_NUM_STATUS] = { - [Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_CONT NOTICE_CONT_WIDE", - [Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_CONT NOTICE_CONT_WIDE LIGHT", - }; - static const char *The_ClassNoticeSubjectColor[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "NOTICE_SUBJECT_WHITE", - [The_THEME_GREY ] = "NOTICE_SUBJECT_GREY", - [The_THEME_PURPLE] = "NOTICE_SUBJECT_PURPLE", - [The_THEME_BLUE ] = "NOTICE_SUBJECT_BLUE", - [The_THEME_YELLOW] = "NOTICE_SUBJECT_YELLOW", - [The_THEME_PINK ] = "NOTICE_SUBJECT_PINK", - [The_THEME_DARK ] = "NOTICE_SUBJECT_DARK", + [Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_BOX NOTICE_BOX_WIDE", + [Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_BOX NOTICE_BOX_WIDE LIGHT", }; Rol_Role_t Role; bool SomeRolesAreSelected; @@ -271,13 +261,14 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status, } /***** Write the subject of the announcement *****/ - HTM_DIV_Begin ("class=\"NOTICE_SUBJECT %s\"",The_ClassNoticeSubjectColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"NOTICE_SUBJECT NOTICE_SUBJECT_%s\"", + The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Subject); HTM_DIV_End (); /***** Write the content of the announcement *****/ - HTM_DIV_Begin ("class=\"NOTICE_TEXT %s\"", - The_ClassNoticeTextColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"NOTICE_TEXT NOTICE_TEXT_%s\"", + The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Content); HTM_DIV_End (); @@ -289,7 +280,7 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status, { /* Users' roles who can view this announcement */ HTM_TxtColon (Txt_Users); - for (Role = Rol_UNK, SomeRolesAreSelected = false; + for (Role = Rol_UNK, SomeRolesAreSelected = false; Role <= Rol_TCH; Role++) if (Roles & (1 << Role)) diff --git a/swad_box.c b/swad_box.c index 9a0aeab5..7d32fdef 100644 --- a/swad_box.c +++ b/swad_box.c @@ -115,7 +115,7 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title, const char *HelpLink,Box_Closable_t Closable, const char *ClassFrame) { - extern const char *The_ClassFrameTitleColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_Help; extern const char *Txt_Close; @@ -191,10 +191,10 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title, /***** Frame title *****/ if (Title) { - HTM_DIV_Begin ("class=\"FRAME_TITLE %s %s\"", + HTM_DIV_Begin ("class=\"FRAME_TITLE %s FRAME_TITLE_%s\"", Gbl.Box.Nested ? "FRAME_TITLE_SMALL" : "FRAME_TITLE_BIG", - The_ClassFrameTitleColor[Gbl.Prefs.Theme]); + The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Title); HTM_DIV_End (); } diff --git a/swad_calendar.c b/swad_calendar.c index 077c24a7..411ebf75 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -112,7 +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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_First_day_of_the_week_X; extern const char *Txt_DAYS_SMALL[7]; unsigned FirstDayOfWeek; @@ -125,7 +125,8 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action, if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek]) { if (FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (Action); diff --git a/swad_changelog.h b/swad_changelog.h index 67e59a4e..117b4103 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -602,10 +602,11 @@ 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.75.1 (2021-12-26)" -#define CSS_FILE "swad21.74.css" +#define Log_PLATFORM_VERSION "SWAD 21.76 (2021-12-27)" +#define CSS_FILE "swad21.76.css" #define JS_FILE "swad21.67.4.js" /* + Version 21.76: Dec 27, 2021 Code refactoring related to themes. (322302 lines) Version 21.75.1: Dec 26, 2021 Fixed bug in icons. (322479 lines) Version 21.75: Dec 26, 2021 Code refactoring related to links. (322477 lines) Version 21.74: Dec 26, 2021 Working on design of dark theme. diff --git a/swad_country_config.c b/swad_country_config.c index b6444186..72702883 100644 --- a/swad_country_config.c +++ b/swad_country_config.c @@ -215,19 +215,19 @@ static void CtyCfg_PutIconToPrint (__attribute__((unused)) void *Args) static void CtyCfg_Title (bool PutLink) { - extern const char *The_ClassFrameTitleColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; /***** Begin container *****/ - HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG %s\"", - The_ClassFrameTitleColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG FRAME_TITLE_%s\"", + The_Colors[Gbl.Prefs.Theme]); /* Begin link */ if (PutLink) HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\"" - " class=\"FRAME_TITLE_BIG %s\"", + " class=\"FRAME_TITLE_BIG FRAME_TITLE_%s\"", Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language], Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language], - The_ClassFrameTitleColor[Gbl.Prefs.Theme]); + The_Colors[Gbl.Prefs.Theme]); /* Country name */ HTM_Txt (Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]); diff --git a/swad_enrolment.c b/swad_enrolment.c index 7645371e..ad764b80 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -526,7 +526,7 @@ static void Enr_ReqAdminUsrs (Rol_Role_t Role) static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role) { extern const char *Hlp_USERS_Administration_administer_multiple_users; - extern const char *The_ClassTitle[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_Administer_multiple_students; extern const char *Txt_Administer_multiple_non_editing_teachers; extern const char *Txt_Administer_multiple_teachers; @@ -592,7 +592,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role) Hlp_USERS_Administration_administer_multiple_users,Box_NOT_CLOSABLE); /***** Step 1: List of students to be enroled / removed *****/ - HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"TITLE_%s LM\"",The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Txt_Step_1_Provide_a_list_of_users); HTM_DIV_End (); @@ -600,13 +600,13 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role) Enr_PutAreaToEnterUsrsIDs (); /***** Step 2: Put different actions to register/remove users to/from current course *****/ - HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"TITLE_%s LM\"",The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Txt_Step_2_Select_the_desired_action); HTM_DIV_End (); Enr_PutActionsRegRemSeveralUsrs (); /***** Step 3: Select groups in which register / remove users *****/ - HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"TITLE_%s LM\"",The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Txt_Step_3_Optionally_select_groups); HTM_DIV_End (); if (Gbl.Hierarchy.Level == HieLvl_CRS) // Course selected @@ -623,7 +623,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role) } /***** Step 4: Confirm register / remove students *****/ - HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"TITLE_%s LM\"",The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Txt_Step_4_Confirm_the_enrolment_removing); HTM_DIV_End (); Pwd_AskForConfirmationOnDangerousAction (); diff --git a/swad_group.c b/swad_group.c index e4b74cb6..c761dc86 100644 --- a/swad_group.c +++ b/swad_group.c @@ -4404,7 +4404,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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_GROUP_WHICH_GROUPS[2]; Grp_WhichGroups_t WhichGrps; @@ -4417,7 +4417,8 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action, WhichGrps++) { if (WhichGrps == Gbl.Crs.Grps.WhichGrps) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (Action); diff --git a/swad_hierarchy.c b/swad_hierarchy.c index 52dc5ce7..4c17f41d 100644 --- a/swad_hierarchy.c +++ b/swad_hierarchy.c @@ -179,16 +179,15 @@ void Hie_WriteMenuHierarchy (void) void Hie_WriteHierarchyInBreadcrumb (void) { - extern const char *The_ClassBreadcrumb[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_System; extern const char *Txt_Country; extern const char *Txt_Institution; extern const char *Txt_Center; extern const char *Txt_Degree; - const char *ClassTxt = The_ClassBreadcrumb[Gbl.Prefs.Theme]; /***** Form to go to the system *****/ - HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]); HTM_NBSP (); @@ -203,7 +202,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) if (Gbl.Hierarchy.Cty.CtyCod > 0) // Country selected... { - HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -221,7 +220,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) } else { - HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_SEMIOFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -238,7 +237,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) if (Gbl.Hierarchy.Ins.InsCod > 0) // Institution selected... { - HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -256,7 +255,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) } else if (Gbl.Hierarchy.Cty.CtyCod > 0) { - HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_SEMIOFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -272,7 +271,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) } else { - HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_OFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -285,7 +284,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) if (Gbl.Hierarchy.Ctr.CtrCod > 0) // Center selected... { - HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -303,7 +302,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) } else if (Gbl.Hierarchy.Ins.InsCod > 0) { - HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_SEMIOFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -319,7 +318,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) } else { - HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_OFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -332,7 +331,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) if (Gbl.Hierarchy.Deg.DegCod > 0) // Degree selected... { - HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -350,7 +349,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) } else if (Gbl.Hierarchy.Ctr.CtrCod > 0) { - HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_SEMIOFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -366,7 +365,7 @@ void Hie_WriteHierarchyInBreadcrumb (void) } else { - HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt); + HTM_DIV_Begin ("class=\"BC BC_OFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -377,11 +376,11 @@ void Hie_WriteHierarchyInBreadcrumb (void) HTM_DIV_End (); } - HTM_DIV_Begin ("class=\"BC%s %s\"", + HTM_DIV_Begin ("class=\"BC%s BC_%s\"", (Gbl.Hierarchy.Level == HieLvl_CRS) ? "" : ((Gbl.Hierarchy.Deg.DegCod > 0) ? " BC_SEMIOFF" : " BC_OFF"), - ClassTxt); + The_Colors[Gbl.Prefs.Theme]); /***** Separator *****/ HTM_Txt (" > "); @@ -395,11 +394,11 @@ void Hie_WriteHierarchyInBreadcrumb (void) void Hie_WriteBigNameCtyInsCtrDegCrs (void) { - extern const char *The_ClassCourse[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_TAGLINE; - HTM_TxtF ("

", - The_ClassCourse[Gbl.Prefs.Theme]); + HTM_TxtF ("

", + The_Colors[Gbl.Prefs.Theme]); /***** Logo *****/ switch (Gbl.Hierarchy.Level) diff --git a/swad_hierarchy_config.c b/swad_hierarchy_config.c index f5630b8f..ea4026d5 100644 --- a/swad_hierarchy_config.c +++ b/swad_hierarchy_config.c @@ -50,19 +50,17 @@ void HieCfg_Title (bool PutLink, char LogoWWW[Cns_MAX_BYTES_WWW + 1], char TextFullName[Cns_HIERARCHY_MAX_BYTES_FULL_NAME + 1]) { - extern const char *The_ClassFrameTitleColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; /***** Begin container *****/ - HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG %s\"", - The_ClassFrameTitleColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG FRAME_TITLE_%s\"", + The_Colors[Gbl.Prefs.Theme]); /* Begin link */ if (PutLink) HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\"" - " class=\"FRAME_TITLE_BIG %s\"", - LogoWWW, - LogoFullName, - The_ClassFrameTitleColor[Gbl.Prefs.Theme]); + " class=\"FRAME_TITLE_BIG FRAME_TITLE_%s\"", + LogoWWW,LogoFullName,The_Colors[Gbl.Prefs.Theme]); /* Logo and name */ Lgo_DrawLogo (LogoScope,LogoCod,LogoShrtName,64,NULL,true); diff --git a/swad_icon.c b/swad_icon.c index 36477b4e..c75db2e4 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -157,7 +157,7 @@ const char *Ico_GetIcon (const char *IconWithoutExtension) void Ico_PutIconsToSelectIconSet (void) { - extern const char *The_ClassPrefOn[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Hlp_PROFILE_Settings_icons; extern const char *Txt_Icons; Ico_IconSet_t IconSet; @@ -173,7 +173,8 @@ void Ico_PutIconsToSelectIconSet (void) IconSet++) { if (IconSet == Gbl.Prefs.IconSet) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActChgIco); diff --git a/swad_layout.c b/swad_layout.c index 2e060253..8864f76b 100644 --- a/swad_layout.c +++ b/swad_layout.c @@ -106,8 +106,7 @@ void Lay_WriteStartOfPage (void) { extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const unsigned Txt_Current_CGI_SWAD_Language; - extern const char *The_ClassBodyBG[The_NUM_THEMES]; - extern const char *The_TabOnBgColors[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; static const char *LayoutMainZone[Mnu_NUM_MENUS] = { [Mnu_MENU_HORIZONTAL] = "main_horizontal", @@ -258,8 +257,8 @@ void Lay_WriteStartOfPage (void) switch (BrowserTab) { case Act_BRW_1ST_TAB: - HTM_TxtF ("\n", - The_ClassBodyBG[Gbl.Prefs.Theme]); + HTM_TxtF ("\n", + The_Colors[Gbl.Prefs.Theme]); HTM_DIV_Begin ("id=\"zoomLyr\" class=\"ZOOM\""); HTM_IMG (Cfg_URL_ICON_PUBLIC,"usr_bl.jpg",NULL, "class=\"IMG_USR\" id=\"zoomImg\""); @@ -346,8 +345,8 @@ void Lay_WriteStartOfPage (void) HTM_DIV_Begin ("id=\"main_zone_central_both\""); break; } - HTM_DIV_Begin ("id=\"main_zone_central_container\" class=\"%s\"", - The_TabOnBgColors[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("id=\"main_zone_central_container\" class=\"TAB_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); /* Layout with horizontal or vertical menu */ HTM_DIV_Begin ("id=\"%s\"",LayoutMainZone[Gbl.Prefs.Menu]); @@ -964,7 +963,6 @@ static void Lay_WriteScriptCustomDropzone (void) static void Lay_WritePageTopHeading (void) { - extern const char *The_ClassTagline[The_NUM_THEMES]; extern const char *Txt_TAGLINE; extern const char *Txt_TAGLINE_BR; static const char *ClassHeadRow1[The_NUM_THEMES] = @@ -987,6 +985,16 @@ static void Lay_WritePageTopHeading (void) [The_THEME_PINK ] = "HEAD_ROW_2_PINK", [The_THEME_DARK ] = "HEAD_ROW_2_DARK", }; + static const char *ClassTagline[The_NUM_THEMES] = + { + [The_THEME_WHITE ] = "BT_LINK TAGLINE_WHITE", + [The_THEME_GREY ] = "BT_LINK TAGLINE_GREY", + [The_THEME_PURPLE] = "BT_LINK TAGLINE_PURPLE", + [The_THEME_BLUE ] = "BT_LINK TAGLINE_BLUE", + [The_THEME_YELLOW] = "BT_LINK TAGLINE_YELLOW", + [The_THEME_PINK ] = "BT_LINK TAGLINE_PINK", + [The_THEME_DARK ] = "BT_LINK TAGLINE_DARK", + }; /***** Begin header *****/ HTM_Txt ("
"); @@ -1014,7 +1022,7 @@ static void Lay_WritePageTopHeading (void) HTM_DIV_Begin ("id=\"head_row_1_tagline\""); HTM_BUTTON_OnSubmit_Begin (Txt_TAGLINE, - The_ClassTagline[Gbl.Prefs.Theme], + ClassTagline[Gbl.Prefs.Theme], NULL); HTM_Txt (Txt_TAGLINE_BR); HTM_BUTTON_End (); @@ -1050,7 +1058,8 @@ static void Lay_WritePageTopHeading (void) /***** 2nd. row *****/ /* Begin second row */ - HTM_DIV_Begin ("id=\"head_row_2\" class=\"%s\"",ClassHeadRow2[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("id=\"head_row_2\" class=\"%s\"", + ClassHeadRow2[Gbl.Prefs.Theme]); /* 2nd. row, 1st. column Clock with hour:minute (server hour is shown) */ @@ -1458,7 +1467,7 @@ static void Lay_WriteFootFromHTMLFile (void) void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto, long InsCod,long DegCod,long CrsCod) { - extern const char *The_ClassPhoto[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; struct Hie_Hierarchy Hie; /***** Get data of institution *****/ @@ -1491,14 +1500,14 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto, HTM_TD_End (); /***** Second column: class photo title *****/ - HTM_TD_Begin ("class=\"CLASSPHOTO_TITLE %s CM\"", - The_ClassPhoto[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s CM\"", + The_Colors[Gbl.Prefs.Theme]); if (InsCod > 0) { if (!PrintView) HTM_A_Begin ("href=\"%s\" target=\"_blank\"" - " class=\"CLASSPHOTO_TITLE %s\"", - Hie.Ins.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); + " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"", + Hie.Ins.WWW,The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Hie.Ins.FullName); if (!PrintView) HTM_A_End (); @@ -1509,8 +1518,8 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto, HTM_Txt (" - "); if (!PrintView) HTM_A_Begin ("href=\"%s\" target=\"_blank\"" - " class=\"CLASSPHOTO_TITLE %s\"", - Hie.Deg.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); + " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"", + Hie.Deg.WWW,The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Hie.Deg.FullName); if (!PrintView) HTM_A_End (); @@ -1533,8 +1542,8 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto, { if (!PrintView) HTM_A_Begin ("href=\"%s\" target=\"_blank\"" - " class=\"CLASSPHOTO_TITLE %s\"", - Hie.Deg.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); + " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"", + Hie.Deg.WWW,The_Colors[Gbl.Prefs.Theme]); Lgo_DrawLogo (HieLvl_DEG,Hie.Deg.DegCod,Hie.Deg.ShrtName,40,NULL,true); if (!PrintView) HTM_A_End (); diff --git a/swad_menu.c b/swad_menu.c index 3d8325df..00f4203b 100644 --- a/swad_menu.c +++ b/swad_menu.c @@ -209,7 +209,7 @@ Act_Action_t Mnu_GetFirstActionAvailableInCurrentTab (void) void Mnu_WriteMenuThisTab (void) { - extern const char *The_ClassTxtMenu[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB]; static const char *ClassIcoMenu[Ico_NUM_ICON_SETS][The_NUM_THEMES] = { @@ -272,8 +272,8 @@ void Mnu_WriteMenuThisTab (void) Gbl.Prefs.URLIconSet, Act_GetIcon (NumAct)); HTM_DIV_End (); - HTM_DIV_Begin ("class=\"MENU_TXT %s\"", - The_ClassTxtMenu[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"MENU_TXT MENU_TXT_%s\"", + The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Txt_MENU_TITLE[Gbl.Action.Tab][NumOptInMenu]); HTM_DIV_End (); HTM_DIV_End (); @@ -303,7 +303,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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_Menu; extern const char *Txt_MENU_NAMES[Mnu_NUM_MENUS]; Mnu_Menu_t Menu; @@ -318,7 +318,8 @@ void Mnu_PutIconsToSelectMenu (void) Menu++) { if (Menu == Gbl.Prefs.Menu) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActChgMnu); diff --git a/swad_notice.c b/swad_notice.c index 7707ba10..21c23d3c 100644 --- a/swad_notice.c +++ b/swad_notice.c @@ -546,37 +546,17 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, long UsrCod, Not_Status_t Status) { - extern const char *The_ClassNoticeTextColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_See_full_notice; static const char *ContainerClass[Not_NUM_STATUS] = { - [Not_ACTIVE_NOTICE ] = "NOTICE_CONT", - [Not_OBSOLETE_NOTICE] = "NOTICE_CONT LIGHT", + [Not_ACTIVE_NOTICE ] = "NOTICE_BOX", + [Not_OBSOLETE_NOTICE] = "NOTICE_BOX LIGHT", }; static const char *ContainerWidthClass[Not_NUM_TYPES_LISTING] = { - [Not_LIST_BRIEF_NOTICES] = "NOTICE_CONT_NARROW", - [Not_LIST_FULL_NOTICES ] = "NOTICE_CONT_WIDE", - }; - static const char *The_ClassNoticeDateColor[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "NOTICE_DATE_WHITE", - [The_THEME_GREY ] = "NOTICE_DATE_GREY", - [The_THEME_PURPLE] = "NOTICE_DATE_PURPLE", - [The_THEME_BLUE ] = "NOTICE_DATE_BLUE", - [The_THEME_YELLOW] = "NOTICE_DATE_YELLOW", - [The_THEME_PINK ] = "NOTICE_DATE_PINK", - [The_THEME_DARK ] = "NOTICE_DATE_DARK", - }; - static const char *The_ClassNoticeAuthorColor[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "NOTICE_AUTHOR_WHITE", - [The_THEME_GREY ] = "NOTICE_AUTHOR_GREY", - [The_THEME_PURPLE] = "NOTICE_AUTHOR_PURPLE", - [The_THEME_BLUE ] = "NOTICE_AUTHOR_BLUE", - [The_THEME_YELLOW] = "NOTICE_AUTHOR_YELLOW", - [The_THEME_PINK ] = "NOTICE_AUTHOR_PINK", - [The_THEME_DARK ] = "NOTICE_AUTHOR_DARK", + [Not_LIST_BRIEF_NOTICES] = "NOTICE_BOX_NARROW", + [Not_LIST_FULL_NOTICES ] = "NOTICE_BOX_WIDE", }; static unsigned UniqueId = 0; char *Id; @@ -591,7 +571,10 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, { HTM_ARTICLE_Begin (Anchor); if (Highlight) - HTM_DIV_Begin ("class=\"NOTICE_HIGHLIGHT\""); + HTM_DIV_Begin ("class=\"NOTICE_CONT NOTICE_HIGHLIGHT_%s\"", + The_Colors[Gbl.Prefs.Theme]); + else + HTM_DIV_Begin ("class=\"NOTICE_CONT\""); } /***** Begin yellow note *****/ @@ -624,8 +607,8 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, /* Write the date */ UniqueId++; - HTM_DIV_Begin ("class=\"NOTICE_DATE %s RT\"", - The_ClassNoticeDateColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"NOTICE_DATE NOTICE_DATE_%s RT\"", + The_Colors[Gbl.Prefs.Theme]); if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES) { /* Form to view full notice */ @@ -651,8 +634,8 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, /***** Write the content of the notice *****/ if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES) { - HTM_DIV_Begin ("class=\"NOTICE_TEXT_BRIEF %s\"", - The_ClassNoticeTextColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"NOTICE_TEXT_BRIEF NOTICE_TEXT_%s\"", + The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Content); HTM_DIV_End (); @@ -666,15 +649,15 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, } else { - HTM_DIV_Begin ("class=\"NOTICE_TEXT %s\"", - The_ClassNoticeTextColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"NOTICE_TEXT NOTICE_TEXT_%s\"", + The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Content); HTM_DIV_End (); } /***** Write the author *****/ - HTM_DIV_Begin ("class=\"NOTICE_AUTHOR %s\"", // Limited width - The_ClassNoticeAuthorColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"NOTICE_AUTHOR NOTICE_AUTHOR_%s\"", // Limited width + The_Colors[Gbl.Prefs.Theme]); Usr_UsrDataConstructor (&UsrDat); UsrDat.UsrCod = UsrCod; if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat, // Get author's data from database @@ -690,8 +673,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, /***** End article for this notice *****/ if (TypeNoticesListing == Not_LIST_FULL_NOTICES) { - if (Highlight) - HTM_DIV_End (); + HTM_DIV_End (); HTM_ARTICLE_End (); } diff --git a/swad_notification.c b/swad_notification.c index 694441dc..f468aa87 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -1625,13 +1625,22 @@ void Ntf_ChangeNotifyEvents (void) void Ntf_WriteNumberOfNewNtfs (void) { - extern const char *The_ClassNotif[The_NUM_THEMES]; extern const char *Txt_See_notifications; extern const char *Txt_notification; extern const char *Txt_notifications; extern const char *Txt_Notifications; extern const char *Txt_NOTIF_new_SINGULAR; extern const char *Txt_NOTIF_new_PLURAL; + static const char *ClassNotif[The_NUM_THEMES] = + { + [The_THEME_WHITE ] = "BT_LINK NOTIF_WHITE", + [The_THEME_GREY ] = "BT_LINK NOTIF_GREY", + [The_THEME_PURPLE] = "BT_LINK NOTIF_PURPLE", + [The_THEME_BLUE ] = "BT_LINK NOTIF_BLUE", + [The_THEME_YELLOW] = "BT_LINK NOTIF_YELLOW", + [The_THEME_PINK ] = "BT_LINK NOTIF_PINK", + [The_THEME_DARK ] = "BT_LINK NOTIF_DARK", + }; unsigned NumUnseenNtfs; unsigned NumNewNtfs = 0; @@ -1644,7 +1653,7 @@ void Ntf_WriteNumberOfNewNtfs (void) /***** Begin link *****/ HTM_BUTTON_OnSubmit_Begin (Txt_See_notifications, - The_ClassNotif[Gbl.Prefs.Theme],NULL); + ClassNotif[Gbl.Prefs.Theme],NULL); /***** Number of unseen notifications *****/ HTM_SPAN_Begin ("id=\"notif_all\""); diff --git a/swad_photo.c b/swad_photo.c index c6b18796..f0ff1aa3 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -2115,7 +2115,7 @@ static void Pho_GetMaxStdsPerDegree (struct Pho_DegPhotos *DegPhotos) static void Pho_ShowOrPrintClassPhotoDegrees (struct Pho_DegPhotos *DegPhotos, Pho_AvgPhotoSeeOrPrint_t SeeOrPrint) { - extern const char *The_ClassPhoto[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; MYSQL_RES *mysql_res; unsigned long NumDeg; unsigned long NumDegs; @@ -2158,8 +2158,8 @@ static void Pho_ShowOrPrintClassPhotoDegrees (struct Pho_DegPhotos *DegPhotos, } /***** Show average photo of students belonging to this degree *****/ - HTM_TD_Begin ("class=\"CLASSPHOTO %s CM\"", - The_ClassPhoto[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s CM\"", + The_Colors[Gbl.Prefs.Theme]); Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos, SeeOrPrint, Usr_SEX_ALL, @@ -2194,7 +2194,7 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, Pho_AvgPhotoSeeOrPrint_t SeeOrPrint) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassPhoto[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_No_INDEX; extern const char *Txt_Degree; extern const char *Txt_SEX_PLURAL_Abc[Usr_NUM_SEXS]; @@ -2270,8 +2270,8 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, { /***** Show average photo of students belonging to this degree *****/ Pho_GetNumStdsInDegree (Deg.DegCod,Sex,&NumStds,&NumStdsWithPhoto); - HTM_TD_Begin ("class=\"CLASSPHOTO %s RM %s\"", - The_ClassPhoto[Gbl.Prefs.Theme], + HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s RM %s\"", + The_Colors[Gbl.Prefs.Theme], Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.Usrs.Listing.WithPhotos) Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos, @@ -2358,7 +2358,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg, { extern const char *Usr_StringsSexDB[Usr_NUM_SEXS]; extern const char *The_ClassDatStrong[The_NUM_THEMES]; - extern const char *The_ClassPhoto[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_students_ABBREVIATION; extern const char *Txt_SEX_PLURAL_abc[Usr_NUM_SEXS]; extern const char *Txt_photos; @@ -2453,8 +2453,8 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg, PhotoWidth,PhotoHeight); /***** Caption *****/ - HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION %s\"", - The_ClassPhoto[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION CLASSPHOTO_%s\"", + The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Deg->ShrtName); HTM_BR (); HTM_TxtF ("%d %s",NumStds,Txt_students_ABBREVIATION); diff --git a/swad_photo_shape.c b/swad_photo_shape.c index 37f6c888..8221aad9 100644 --- a/swad_photo_shape.c +++ b/swad_photo_shape.c @@ -59,7 +59,7 @@ void Pho_PutIconsToSelectPhotoShape (void) { extern const char *Hlp_PROFILE_Settings_user_photos; extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES]; - extern const char *The_ClassPrefOn[The_NUM_THEMES]; + extern const char *The_Colors[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] = @@ -81,7 +81,8 @@ void Pho_PutIconsToSelectPhotoShape (void) Shape++) { if (Shape == Gbl.Prefs.PhotoShape) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActChgUsrPho); diff --git a/swad_project.c b/swad_project.c index 2b310e1d..16e251cf 100644 --- a/swad_project.c +++ b/swad_project.c @@ -566,7 +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]; + extern const char *The_Colors[The_NUM_THEMES]; struct Prj_Filter Filter; Usr_Who_t Who; unsigned Mask = 1 << Usr_WHO_ME | @@ -580,7 +580,8 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects) if (Mask & (1 << Who)) { if (Who == Projects->Filter.Who) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (Who == Usr_WHO_SELECTED ? ActReqUsrPrj : @@ -607,7 +608,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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Prj_NUM_ASSIGNED_NONASSIG]; struct Prj_Filter Filter; Prj_AssignedNonassig_t Assign; @@ -618,7 +619,8 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects) Assign++) { if ((Projects->Filter.Assign & (1 << Assign))) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActSeePrj); @@ -645,7 +647,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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL]; struct Prj_Filter Filter; Prj_HiddenVisibl_t HidVis; @@ -665,7 +667,7 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects) HidVis++) { if ((Projects->Filter.Hidden & (1 << HidVis))) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActSeePrj); @@ -693,7 +695,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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS]; struct Prj_Filter Filter; Prj_Faultiness_t Faultiness; @@ -713,7 +715,8 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects) Faultiness++) { if ((Projects->Filter.Faulti & (1 << Faultiness))) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActSeePrj); diff --git a/swad_setting.c b/swad_setting.c index 9d5edb2e..a86eec34 100644 --- a/swad_setting.c +++ b/swad_setting.c @@ -207,7 +207,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 *The_Colors[The_NUM_THEMES]; extern const char *Txt_Columns; extern const char *Txt_LAYOUT_SIDE_COLUMNS[4]; unsigned SideCols; @@ -223,7 +223,8 @@ static void Set_PutIconsToSelectSideCols (void) SideCols++) { if (SideCols == Gbl.Prefs.SideCols) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActChgCol); diff --git a/swad_tab.c b/swad_tab.c index 610f9f67..b002cf11 100644 --- a/swad_tab.c +++ b/swad_tab.c @@ -51,10 +51,7 @@ static const char *Tab_GetIcon (Tab_Tab_t Tab); void Tab_DrawTabs (void) { - extern const char *The_ClassTxtTabOn[The_NUM_THEMES]; - extern const char *The_ClassTxtTabOff[The_NUM_THEMES]; - extern const char *The_TabOnBgColors[The_NUM_THEMES]; - extern const char *The_TabOffBgColors[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_TABS_TXT[Tab_NUM_TABS]; extern const char *Txt_TABS_TXT[Tab_NUM_TABS]; Tab_Tab_t NumTab; @@ -110,11 +107,10 @@ void Tab_DrawTabs (void) if (ICanViewTab) // Don't show the first hidden tabs { /* Form, icon (at top) and text (at bottom) of the tab */ - HTM_LI_Begin ("class=\"%s %s\"", - NumTab == Gbl.Action.Tab ? "TAB_ON" : - "TAB_OFF", - NumTab == Gbl.Action.Tab ? The_TabOnBgColors[Gbl.Prefs.Theme] : - The_TabOffBgColors[Gbl.Prefs.Theme]); + HTM_LI_Begin ("class=\"%s%s\"", + NumTab == Gbl.Action.Tab ? "TAB_ON TAB_ON_" : + "TAB_OFF TAB_OFF_", + The_Colors[Gbl.Prefs.Theme]); if (NumTab == Gbl.Action.Tab) HTM_DIV_Begin (NULL); // This div must be present even in current tab in order to render properly the tab @@ -127,9 +123,10 @@ void Tab_DrawTabs (void) "BT_LINK",NULL); HTM_IMG (Gbl.Prefs.URLIconSet,Tab_GetIcon (NumTab),Txt_TABS_TXT[NumTab], "class=\"TAB_ICO%s\"",ClassIcoTab[Gbl.Prefs.IconSet][Gbl.Prefs.Theme]); - HTM_DIV_Begin ("class=\"TAB_TXT %s\"", - NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] : - The_ClassTxtTabOff[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"TAB_TXT TAB_%s_TXT_%s\"", + NumTab == Gbl.Action.Tab ? "ON" : + "OFF", + The_Colors[Gbl.Prefs.Theme]); HTM_Txt (Txt_TABS_TXT[NumTab]); HTM_DIV_End (); HTM_BUTTON_End (); diff --git a/swad_theme.c b/swad_theme.c index 531b082e..e1992c1c 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -74,138 +74,6 @@ const char *The_ThemeNames[The_NUM_THEMES] = [The_THEME_DARK ] = "Dark", }; -const char *The_ClassBodyBG[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "BODY_BG_WHITE", - [The_THEME_GREY ] = "BODY_BG_GREY", - [The_THEME_PURPLE] = "BODY_BG_PURPLE", - [The_THEME_BLUE ] = "BODY_BG_BLUE", - [The_THEME_YELLOW] = "BODY_BG_YELLOW", - [The_THEME_PINK ] = "BODY_BG_PINK", - [The_THEME_DARK ] = "BODY_BG_DARK", - }; - -const char *The_TabOnBgColors[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "TAB_ON_WHITE", - [The_THEME_GREY ] = "TAB_ON_GREY", - [The_THEME_PURPLE] = "TAB_ON_PURPLE", - [The_THEME_BLUE ] = "TAB_ON_BLUE", - [The_THEME_YELLOW] = "TAB_ON_YELLOW", - [The_THEME_PINK ] = "TAB_ON_PINK", - [The_THEME_DARK ] = "TAB_ON_DARK", - }; - -const char *The_TabOffBgColors[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "TAB_OFF_WHITE", - [The_THEME_GREY ] = "TAB_OFF_GREY", - [The_THEME_PURPLE] = "TAB_OFF_PURPLE", - [The_THEME_BLUE ] = "TAB_OFF_BLUE", - [The_THEME_YELLOW] = "TAB_OFF_YELLOW", - [The_THEME_PINK ] = "TAB_OFF_PINK", - [The_THEME_DARK ] = "TAB_OFF_DARK", - }; - -const char *The_ClassTagline[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "BT_LINK TAGLINE_WHITE", - [The_THEME_GREY ] = "BT_LINK TAGLINE_GREY", - [The_THEME_PURPLE] = "BT_LINK TAGLINE_PURPLE", - [The_THEME_BLUE ] = "BT_LINK TAGLINE_BLUE", - [The_THEME_YELLOW] = "BT_LINK TAGLINE_YELLOW", - [The_THEME_PINK ] = "BT_LINK TAGLINE_PINK", - [The_THEME_DARK ] = "BT_LINK TAGLINE_DARK", - }; - -const char *The_ClassNotif[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "BT_LINK NOTIF_WHITE", - [The_THEME_GREY ] = "BT_LINK NOTIF_GREY", - [The_THEME_PURPLE] = "BT_LINK NOTIF_PURPLE", - [The_THEME_BLUE ] = "BT_LINK NOTIF_BLUE", - [The_THEME_YELLOW] = "BT_LINK NOTIF_YELLOW", - [The_THEME_PINK ] = "BT_LINK NOTIF_PINK", - [The_THEME_DARK ] = "BT_LINK NOTIF_DARK", - }; - -const char *The_ClassUsr[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "USR_WHITE", - [The_THEME_GREY ] = "USR_GREY", - [The_THEME_PURPLE] = "USR_PURPLE", - [The_THEME_BLUE ] = "USR_BLUE", - [The_THEME_YELLOW] = "USR_YELLOW", - [The_THEME_PINK ] = "USR_PINK", - [The_THEME_DARK ] = "USR_DARK", - }; - -const char *The_ClassBreadcrumb[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "BC_WHITE", - [The_THEME_GREY ] = "BC_GREY", - [The_THEME_PURPLE] = "BC_PURPLE", - [The_THEME_BLUE ] = "BC_BLUE", - [The_THEME_YELLOW] = "BC_YELLOW", - [The_THEME_PINK ] = "BC_PINK", - [The_THEME_DARK ] = "BC_DARK", - }; - -const char *The_ClassCourse[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "MAIN_TITLE_WHITE", - [The_THEME_GREY ] = "MAIN_TITLE_GREY", - [The_THEME_PURPLE] = "MAIN_TITLE_PURPLE", - [The_THEME_BLUE ] = "MAIN_TITLE_BLUE", - [The_THEME_YELLOW] = "MAIN_TITLE_YELLOW", - [The_THEME_PINK ] = "MAIN_TITLE_PINK", - [The_THEME_DARK ] = "MAIN_TITLE_DARK", - }; - -const char *The_ClassTxtMenu[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "MENU_TXT_WHITE", - [The_THEME_GREY ] = "MENU_TXT_GREY", - [The_THEME_PURPLE] = "MENU_TXT_PURPLE", - [The_THEME_BLUE ] = "MENU_TXT_BLUE", - [The_THEME_YELLOW] = "MENU_TXT_YELLOW", - [The_THEME_PINK ] = "MENU_TXT_PINK", - [The_THEME_DARK ] = "MENU_TXT_DARK", - }; - -const char *The_ClassTxtTabOff[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "TAB_OFF_TXT_WHITE", - [The_THEME_GREY ] = "TAB_OFF_TXT_GREY", - [The_THEME_PURPLE] = "TAB_OFF_TXT_PURPLE", - [The_THEME_BLUE ] = "TAB_OFF_TXT_BLUE", - [The_THEME_YELLOW] = "TAB_OFF_TXT_YELLOW", - [The_THEME_PINK ] = "TAB_OFF_TXT_PINK", - [The_THEME_DARK ] = "TAB_OFF_TXT_DARK", - }; - -const char *The_ClassTxtTabOn[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "TAB_ON_TXT_WHITE", - [The_THEME_GREY ] = "TAB_ON_TXT_GREY", - [The_THEME_PURPLE] = "TAB_ON_TXT_PURPLE", - [The_THEME_BLUE ] = "TAB_ON_TXT_BLUE", - [The_THEME_YELLOW] = "TAB_ON_TXT_YELLOW", - [The_THEME_PINK ] = "TAB_ON_TXT_PINK", - [The_THEME_DARK ] = "TAB_ON_TXT_DARK", - }; - -const char *The_ClassTitle[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "TITLE_WHITE", - [The_THEME_GREY ] = "TITLE_GREY", - [The_THEME_PURPLE] = "TITLE_PURPLE", - [The_THEME_BLUE ] = "TITLE_BLUE", - [The_THEME_YELLOW] = "TITLE_YELLOW", - [The_THEME_PINK ] = "TITLE_PINK", - [The_THEME_DARK ] = "TITLE_DARK", - }; - const char *The_ClassFormLinkInBox[The_NUM_THEMES] = { [The_THEME_WHITE ] = "BT_LINK FORM_IN_WHITE", @@ -360,17 +228,6 @@ 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", - }; - const char *The_ClassInput[The_NUM_THEMES] = { [The_THEME_WHITE ] = "INPUT_WHITE", @@ -382,88 +239,15 @@ const char *The_ClassInput[The_NUM_THEMES] = [The_THEME_DARK ] = "INPUT_DARK", }; -const char *The_ClassFrameTitleColor[The_NUM_THEMES] = +const char *The_Colors[The_NUM_THEMES] = { - [The_THEME_WHITE ] = "FRAME_TITLE_WHITE", - [The_THEME_GREY ] = "FRAME_TITLE_GREY", - [The_THEME_PURPLE] = "FRAME_TITLE_PURPLE", - [The_THEME_BLUE ] = "FRAME_TITLE_BLUE", - [The_THEME_YELLOW] = "FRAME_TITLE_YELLOW", - [The_THEME_PINK ] = "FRAME_TITLE_PINK", - [The_THEME_DARK ] = "FRAME_TITLE_DARK", - }; - -const char *The_ClassAlertBackground[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "ALERT_BG_WHITE", - [The_THEME_GREY ] = "ALERT_BG_GREY", - [The_THEME_PURPLE] = "ALERT_BG_PURPLE", - [The_THEME_BLUE ] = "ALERT_BG_BLUE", - [The_THEME_YELLOW] = "ALERT_BG_YELLOW", - [The_THEME_PINK ] = "ALERT_BG_PINK", - [The_THEME_DARK ] = "ALERT_BG_DARK", - }; -const char *The_ClassAlertTxtColor[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "ALERT_TXT_WHITE", - [The_THEME_GREY ] = "ALERT_TXT_GREY", - [The_THEME_PURPLE] = "ALERT_TXT_PURPLE", - [The_THEME_BLUE ] = "ALERT_TXT_BLUE", - [The_THEME_YELLOW] = "ALERT_TXT_YELLOW", - [The_THEME_PINK ] = "ALERT_TXT_PINK", - [The_THEME_DARK ] = "ALERT_TXT_DARK", - }; - -const char *The_ClassColorRows[2][The_NUM_THEMES] = - { - [0][The_THEME_WHITE ] = "COLOR0_WHITE", - [0][The_THEME_GREY ] = "COLOR0_GREY", - [0][The_THEME_PURPLE] = "COLOR0_PURPLE", - [0][The_THEME_BLUE ] = "COLOR0_BLUE", - [0][The_THEME_YELLOW] = "COLOR0_YELLOW", - [0][The_THEME_PINK ] = "COLOR0_PINK", - [0][The_THEME_DARK ] = "COLOR0_DARK", - - [1][The_THEME_WHITE ] = "COLOR1_WHITE", - [1][The_THEME_GREY ] = "COLOR1_GREY", - [1][The_THEME_PURPLE] = "COLOR1_PURPLE", - [1][The_THEME_BLUE ] = "COLOR1_BLUE", - [1][The_THEME_YELLOW] = "COLOR1_YELLOW", - [1][The_THEME_PINK ] = "COLOR1_PINK", - [1][The_THEME_DARK ] = "COLOR1_DARK", - }; - -const char *The_TmlTxtColor[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "Tml_TXT_WHITE", - [The_THEME_GREY ] = "Tml_TXT_GREY", - [The_THEME_PURPLE] = "Tml_TXT_PURPLE", - [The_THEME_BLUE ] = "Tml_TXT_BLUE", - [The_THEME_YELLOW] = "Tml_TXT_YELLOW", - [The_THEME_PINK ] = "Tml_TXT_PINK", - [The_THEME_DARK ] = "Tml_TXT_DARK", - }; - -const char *The_ClassPhoto[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "CLASSPHOTO_WHITE", - [The_THEME_GREY ] = "CLASSPHOTO_GREY", - [The_THEME_PURPLE] = "CLASSPHOTO_PURPLE", - [The_THEME_BLUE ] = "CLASSPHOTO_BLUE", - [The_THEME_YELLOW] = "CLASSPHOTO_YELLOW", - [The_THEME_PINK ] = "CLASSPHOTO_PINK", - [The_THEME_DARK ] = "CLASSPHOTO_DARK", - }; - -const char *The_ClassNoticeTextColor[The_NUM_THEMES] = - { - [The_THEME_WHITE ] = "NOTICE_TEXT_WHITE", - [The_THEME_GREY ] = "NOTICE_TEXT_GREY", - [The_THEME_PURPLE] = "NOTICE_TEXT_PURPLE", - [The_THEME_BLUE ] = "NOTICE_TEXT_BLUE", - [The_THEME_YELLOW] = "NOTICE_TEXT_YELLOW", - [The_THEME_PINK ] = "NOTICE_TEXT_PINK", - [The_THEME_DARK ] = "NOTICE_TEXT_DARK", + [The_THEME_WHITE ] = "WHITE", + [The_THEME_GREY ] = "GREY", + [The_THEME_PURPLE] = "PURPLE", + [The_THEME_BLUE ] = "BLUE", + [The_THEME_YELLOW] = "YELLOW", + [The_THEME_PINK ] = "PINK", + [The_THEME_DARK ] = "DARK", }; /*****************************************************************************/ @@ -479,7 +263,6 @@ 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]; @@ -494,7 +277,8 @@ void The_PutIconsToSelectTheme (void) Theme++) { if (Theme == Gbl.Prefs.Theme) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActChgThe); @@ -587,7 +371,24 @@ The_Theme_t The_GetThemeFromStr (const char *Str) void The_SetColorRows (void) { - extern const char *The_ClassColorRows[2][The_NUM_THEMES]; + static const char *The_ClassColorRows[2][The_NUM_THEMES] = + { + [0][The_THEME_WHITE ] = "COLOR0_WHITE", + [0][The_THEME_GREY ] = "COLOR0_GREY", + [0][The_THEME_PURPLE] = "COLOR0_PURPLE", + [0][The_THEME_BLUE ] = "COLOR0_BLUE", + [0][The_THEME_YELLOW] = "COLOR0_YELLOW", + [0][The_THEME_PINK ] = "COLOR0_PINK", + [0][The_THEME_DARK ] = "COLOR0_DARK", + + [1][The_THEME_WHITE ] = "COLOR1_WHITE", + [1][The_THEME_GREY ] = "COLOR1_GREY", + [1][The_THEME_PURPLE] = "COLOR1_PURPLE", + [1][The_THEME_BLUE ] = "COLOR1_BLUE", + [1][The_THEME_YELLOW] = "COLOR1_YELLOW", + [1][The_THEME_PINK ] = "COLOR1_PINK", + [1][The_THEME_DARK ] = "COLOR1_DARK", + }; Gbl.ColorRows[0] = The_ClassColorRows[0][Gbl.Prefs.Theme]; // Darker Gbl.ColorRows[1] = The_ClassColorRows[1][Gbl.Prefs.Theme]; // Lighter diff --git a/swad_timeline_comment.c b/swad_timeline_comment.c index 64a1cdab..097fd3bd 100644 --- a/swad_timeline_comment.c +++ b/swad_timeline_comment.c @@ -645,12 +645,13 @@ static void Tml_Com_WriteAuthorName (const struct UsrData *UsrDat) // Author static void Tml_Com_WriteContent (struct Tml_Com_Comment *Com) { - extern const char *The_TmlTxtColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; /***** Write content of the comment *****/ if (Com->Content.Txt[0]) { - HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"Tml_TXT Tml_TXT_%s\"", + The_Colors[Gbl.Prefs.Theme]); Msg_WriteMsgContent (Com->Content.Txt,true,false); HTM_DIV_End (); } diff --git a/swad_timeline_note.c b/swad_timeline_note.c index e211ca70..9876b2df 100644 --- a/swad_timeline_note.c +++ b/swad_timeline_note.c @@ -381,7 +381,7 @@ static void Tml_Not_WriteContent (const struct Tml_Not_Note *Not) static void Tml_Not_GetAndWriteNoPost (const struct Tml_Not_Note *Not) { - extern const char *The_TmlTxtColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; struct Hie_Hierarchy Hie; struct For_Forums Forums; char ForumName[For_MAX_BYTES_FORUM_NAME + 1]; @@ -406,7 +406,7 @@ static void Tml_Not_GetAndWriteNoPost (const struct Tml_Not_Note *Not) Tml_Not_GetNoteSummary (Not,SummaryStr); /* Write note summary */ - HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"Tml_TXT Tml_TXT_%s\"",The_Colors[Gbl.Prefs.Theme]); HTM_Txt (SummaryStr); HTM_DIV_End (); } diff --git a/swad_timeline_post.c b/swad_timeline_post.c index 117661d1..9dbad32b 100644 --- a/swad_timeline_post.c +++ b/swad_timeline_post.c @@ -121,12 +121,13 @@ static void Tml_Pst_GetPostContent (long PstCod,struct Tml_Pst_Content *Content) static void Tml_Pst_ShowPostContent (struct Tml_Pst_Content *Content) { - extern const char *The_TmlTxtColor[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; /***** Write content text *****/ if (Content->Txt[0]) { - HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"Tml_TXT Tml_TXT_%s\"", + The_Colors[Gbl.Prefs.Theme]); Msg_WriteMsgContent (Content->Txt,true,false); HTM_DIV_End (); } diff --git a/swad_timeline_who.c b/swad_timeline_who.c index 5d92037c..d0b7e69f 100644 --- a/swad_timeline_who.c +++ b/swad_timeline_who.c @@ -62,7 +62,7 @@ static void Tml_Who_ShowWarningYouDontFollowAnyUser (void); void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline) { - extern const char *The_ClassPrefOn[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; Usr_Who_t Who; unsigned Mask = 1 << Usr_WHO_ME | 1 << Usr_WHO_FOLLOWED | @@ -78,7 +78,8 @@ void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline) { /* Begin container */ if (Who == Timeline->Who) - HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); diff --git a/swad_timetable.c b/swad_timetable.c index e5bc7e26..1ae32f52 100644 --- a/swad_timetable.c +++ b/swad_timetable.c @@ -212,12 +212,12 @@ static void Tmt_FreeTimeTable (void) static void Tmt_ShowTimeTableGrpsSelected (void) { - extern const char *The_ClassPhoto[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_Groups_OF_A_USER; extern const char *Txt_All_groups; - HTM_DIV_Begin ("class=\"CLASSPHOTO_TITLE %s CM\"", - The_ClassPhoto[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s CM\"", + The_Colors[Gbl.Prefs.Theme]); switch (Gbl.Crs.Grps.WhichGrps) { diff --git a/swad_user.c b/swad_user.c index 6c8a6d98..95c48ab3 100644 --- a/swad_user.c +++ b/swad_user.c @@ -1343,7 +1343,7 @@ void Usr_PutFormLogIn (void) void Usr_WriteLoggedUsrHead (void) { - extern const char *The_ClassUsr[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_Role; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; @@ -1356,7 +1356,7 @@ void Usr_WriteLoggedUsrHead (void) }; unsigned NumAvailableRoles = Rol_GetNumAvailableRoles (); - HTM_DIV_Begin ("class=\"HEAD_USR %s\"",The_ClassUsr[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"HEAD_USR USR_%s\"",The_Colors[Gbl.Prefs.Theme]); /***** User's role *****/ if (NumAvailableRoles == 1) @@ -3577,14 +3577,15 @@ void Usr_FreeListOtherRecipients (void) void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Args) { - extern const char *The_ClassPrefOn[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; Set_BeginSettingsHead (); 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 %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"", + The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Set_FormToSelectUsrListType (FuncParams,Args, @@ -3604,7 +3605,7 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Arg /***** Select 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]); + HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",The_Colors[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"PREF_OFF\""); Set_FormToSelectUsrListType (FuncParams,Args, @@ -6114,7 +6115,7 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType, struct SelectedUsrs *SelectedUsrs, bool PutCheckBoxToSelectUsr) { - extern const char *The_ClassPhoto[The_NUM_THEMES]; + extern const char *The_Colors[The_NUM_THEMES]; static const char *ClassPhoto[Usr_NUM_CLASS_PHOTO_TYPE][Pho_NUM_SHAPES] = { [Usr_CLASS_PHOTO_SEL ][Pho_SHAPE_CIRCLE ] = "PHOTOC21x28", @@ -6165,14 +6166,14 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType, UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) { UsrIsTheMsgSender = true; - HTM_TD_Begin ("class=\"CLASSPHOTO %s CB LIGHT_GREEN\"", - The_ClassPhoto[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s CB LIGHT_GREEN\"", + The_Colors[Gbl.Prefs.Theme]); } else { UsrIsTheMsgSender = false; - HTM_TD_Begin ("class=\"CLASSPHOTO %s CB\"", - The_ClassPhoto[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s CB\"", + The_Colors[Gbl.Prefs.Theme]); } /***** Checkbox to select this user *****/ @@ -6186,8 +6187,8 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType, false); /***** Photo foot *****/ - HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION %s\"", - The_ClassPhoto[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION CLASSPHOTO_%s\"", + The_Colors[Gbl.Prefs.Theme]); /* Name */ if (UsrDat.FrstName[0])