From 67aa38a867f3cac0e0a7881ef7150243f855d75a Mon Sep 17 00:00:00 2001 From: acanas Date: Tue, 15 Mar 2022 14:38:07 +0100 Subject: [PATCH] Version 21.83.5: Mar 15, 2022 Working on design of dark theme. --- css/{swad21.83.2.css => swad21.83.5.css} | 58 +++++++++++------ swad_changelog.h | 5 +- swad_timetable.c | 83 ++++++++++++------------ 3 files changed, 83 insertions(+), 63 deletions(-) rename css/{swad21.83.2.css => swad21.83.5.css} (99%) diff --git a/css/swad21.83.2.css b/css/swad21.83.5.css similarity index 99% rename from css/swad21.83.2.css rename to css/swad21.83.5.css index 74c57eb3..e4e67824 100644 --- a/css/swad21.83.2.css +++ b/css/swad21.83.5.css @@ -3460,38 +3460,58 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} line-height:100%; letter-spacing:0; } + .Tmt_DAY { font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; - color:#202020; font-size:10pt; letter-spacing:0; } -.Tmt_SUNDAY + +.Tmt_DAY_WHITE {color:#202020;} +.Tmt_DAY_GREY {color:#202020;} +.Tmt_DAY_PURPLE {color:#202020;} +.Tmt_DAY_BLUE {color:#202020;} +.Tmt_DAY_YELLOW {color:#202020;} +.Tmt_DAY_PINK {color:#202020;} +.Tmt_DAY_DARK {color:#e0e0e0;} + +.Tmt_SUNDAY_WHITE {color:#660000;} +.Tmt_SUNDAY_GREY {color:#660000;} +.Tmt_SUNDAY_PURPLE {color:#660000;} +.Tmt_SUNDAY_BLUE {color:#660000;} +.Tmt_SUNDAY_YELLOW {color:#660000;} +.Tmt_SUNDAY_PINK {color:#660000;} +.Tmt_SUNDAY_DARK {color:#ff8080;} + +.Tmt_HOUR { - font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; - color:red; - font-size:10pt; - letter-spacing:0; - } -.Tmt_HOUR_BIG - { - color:#808080; + box-sizing:border-box; + height:32px; + width:7%; font-size:10pt; font-weight:bold; line-height:100%; letter-spacing:0; } -.Tmt_HOUR_SMALL - { - font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; - color:#A0A0A0; - font-size:10pt; - line-height:100%; - letter-spacing:0; - } + +.Tmt_HOUR00_WHITE {color:#808080;} +.Tmt_HOUR00_GREY {color:#808080;} +.Tmt_HOUR00_PURPLE {color:#808080;} +.Tmt_HOUR00_BLUE {color:#808080;} +.Tmt_HOUR00_YELLOW {color:#808080;} +.Tmt_HOUR00_PINK {color:#808080;} +.Tmt_HOUR00_DARK {color:#d0d0d0;} + +.Tmt_HOURXX_WHITE {color:#d0d0d0;} +.Tmt_HOURXX_GREY {color:#d0d0d0;} +.Tmt_HOURXX_PURPLE {color:#d0d0d0;} +.Tmt_HOURXX_BLUE {color:#d0d0d0;} +.Tmt_HOURXX_YELLOW {color:#d0d0d0;} +.Tmt_HOURXX_PINK {color:#d0d0d0;} +.Tmt_HOURXX_DARK {color:#808080;} + .Tmt_HOURCOL {box-sizing:border-box; height:16px; width:7%;} -.Tmt_HOUR {box-sizing:border-box; height:32px; width:7%;} .Tmt_MINICOL {box-sizing:border-box; height:16px; width:2%;} .Tmt_ALIGN {box-sizing:border-box; height:16px; width:1%;} .Tmt_FREE0 {box-sizing:border-box; height:16px; background-color:#F4F2EA; border:solid 1px; border-color:#F4F2EA #E0D9C2 #EEEADC #F4F2EA;} diff --git a/swad_changelog.h b/swad_changelog.h index c2178880..f3fe4b15 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate TODO: Attach pdf files in multimedia. */ -#define Log_PLATFORM_VERSION "SWAD 21.83.4 (2022-03-11)" -#define CSS_FILE "swad21.83.2.css" +#define Log_PLATFORM_VERSION "SWAD 21.83.5 (2022-03-15)" +#define CSS_FILE "swad21.83.5.css" #define JS_FILE "swad21.78.2.js" /* + Version 21.83.5: Mar 15, 2022 Working on design of dark theme. (323559 lines) Version 21.83.4: Mar 11, 2022 Code refactoring in timetable. (323543 lines) Version 21.83.3: Mar 10, 2022 Code refactoring in timetable. (323527 lines) Version 21.83.2: Mar 10, 2022 Working on design of dark theme. (323488 lines) diff --git a/swad_timetable.c b/swad_timetable.c index 88fcd27b..492012b2 100644 --- a/swad_timetable.c +++ b/swad_timetable.c @@ -73,7 +73,6 @@ extern struct Globals Gbl; #define Tmt_PERCENT_WIDTH_OF_A_DAY (Tmt_PERCENT_WIDTH_OF_A_MINICOLUMN * Tmt_NUM_MINICOLUMNS_PER_DAY) // Width (%) of each day #define Tmt_PERCENT_WIDTH_OF_ALL_DAYS (Tmt_PERCENT_WIDTH_OF_A_DAY * Tmt_DAYS_PER_WEEK) // Width (%) of all days #define Tmt_PERCENT_WIDTH_OF_A_SEPARATION_COLUMN 1 // Width (%) of left and right columns -#define Tmt_PERCENT_WIDTH_OF_AN_HOUR_COLUMN ((100 - Tmt_PERCENT_WIDTH_OF_ALL_DAYS - Tmt_PERCENT_WIDTH_OF_A_SEPARATION_COLUMN * 2) / 2) // Width (%) of the separation columns #define Tmt_MAX_BYTES_STR_CLASS_TYPE 256 #define Tmt_MAX_BYTES_STR_DURATION 32 // "hh:mm h" @@ -129,7 +128,7 @@ static void Tmt_ModifTimeTable (struct Tmt_Timetable *Timetable); static void Tmt_DrawTimeTable (const struct Tmt_Timetable *Timetable); static void Tmt_TimeTableDrawAdjustRow (void); static void Tmt_TimeTableDrawDaysCells (void); -static void Tmt_TimeTableDrawHourCell (unsigned Hour,unsigned Min,const char *Align); +static void Tmt_DrawHourCell (unsigned Hour,unsigned Min,const char *Align); static unsigned Tmt_CalculateColsToDrawInCell (const struct Tmt_Timetable *Timetable, bool TopCall, unsigned Weekday,unsigned Interval); @@ -1008,21 +1007,11 @@ static void Tmt_DrawTimeTable (const struct Tmt_Timetable *Timetable) /***** Row with day names *****/ HTM_TR_Begin (NULL); - - HTM_TD_Begin ("rowspan=\"2\" class=\"Tmt_HOUR_BIG RM\" style=\"width:%u%%;\"", - Tmt_PERCENT_WIDTH_OF_AN_HOUR_COLUMN); - HTM_TxtF ("%02u:00",Timetable->Config.Range.Hours.Start); - HTM_TD_End (); - + Tmt_DrawHourCell (Timetable->Config.Range.Hours.Start,0,"RM"); Tmt_DrawCellAlignTimeTable (); Tmt_TimeTableDrawDaysCells (); Tmt_DrawCellAlignTimeTable (); - - HTM_TD_Begin ("rowspan=\"2\" class=\"Tmt_HOUR_BIG LM\" style=\"width:%u%%;\"", - Tmt_PERCENT_WIDTH_OF_AN_HOUR_COLUMN); - HTM_TxtF ("%02u:00",Timetable->Config.Range.Hours.Start); - HTM_TD_End (); - + Tmt_DrawHourCell (Timetable->Config.Range.Hours.Start,0,"LM"); HTM_TR_End (); /***** Get list of groups types and groups in this course *****/ @@ -1041,10 +1030,10 @@ static void Tmt_DrawTimeTable (const struct Tmt_Timetable *Timetable) /* Left hour:minutes cell */ if (WhichCell.Interval % 2) - Tmt_TimeTableDrawHourCell (Timetable->Config.Range.Hours.Start + - (WhichCell.Interval + 2) / Timetable->Config.IntervalsPerHour, - Min, - "RM"); + Tmt_DrawHourCell (Timetable->Config.Range.Hours.Start + + (WhichCell.Interval + 2) / Timetable->Config.IntervalsPerHour, + Min, + "RM"); /* Empty column used to adjust height */ Tmt_DrawCellAlignTimeTable (); @@ -1121,10 +1110,10 @@ static void Tmt_DrawTimeTable (const struct Tmt_Timetable *Timetable) /* Right hour:minutes cell */ if (WhichCell.Interval % 2) - Tmt_TimeTableDrawHourCell (Timetable->Config.Range.Hours.Start + - (WhichCell.Interval + 2) / Timetable->Config.IntervalsPerHour, - Min, - "LM"); + Tmt_DrawHourCell (Timetable->Config.Range.Hours.Start + + (WhichCell.Interval + 2) / Timetable->Config.IntervalsPerHour, + Min, + "LM"); HTM_TR_End (); } @@ -1187,6 +1176,7 @@ static void Tmt_TimeTableDrawAdjustRow (void) static void Tmt_TimeTableDrawDaysCells (void) { + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_DAYS_CAPS[7]; unsigned DayColumn; unsigned Weekday; @@ -1196,10 +1186,11 @@ static void Tmt_TimeTableDrawDaysCells (void) DayColumn++) { Weekday = (DayColumn + Gbl.Prefs.FirstDayOfWeek) % 7; - HTM_TD_Begin ("colspan=\"%u\" class=\"%s CM\" style=\"width:%u%%;\"", + HTM_TD_Begin ("colspan=\"%u\" class=\"Tmt_DAY %s%s CM\" style=\"width:%u%%;\"", Tmt_NUM_MINICOLUMNS_PER_DAY, - Weekday == 6 ? "Tmt_SUNDAY" : // Sunday drawn in red - "Tmt_DAY", // Monday to Saturday + Weekday == 6 ? "Tmt_SUNDAY_" : // Sunday drawn in red + "Tmt_DAY_", // Monday to Saturday + The_Colors[Gbl.Prefs.Theme], Tmt_PERCENT_WIDTH_OF_A_DAY); HTM_Txt (Txt_DAYS_CAPS[Weekday]); HTM_TD_End (); @@ -1210,11 +1201,14 @@ static void Tmt_TimeTableDrawDaysCells (void) /****************** Draw cells with day names in a time table ****************/ /*****************************************************************************/ -static void Tmt_TimeTableDrawHourCell (unsigned Hour,unsigned Min,const char *Align) +static void Tmt_DrawHourCell (unsigned Hour,unsigned Min,const char *Align) { - HTM_TD_Begin ("rowspan=\"2\" class=\"Tmt_HOUR %s %s\"", - Min ? "Tmt_HOUR_SMALL" : - "Tmt_HOUR_BIG", + extern const char *The_Colors[The_NUM_THEMES]; + + HTM_TD_Begin ("rowspan=\"2\" class=\"Tmt_HOUR %s_%s %s\"", + Min ? "Tmt_HOURXX" : + "Tmt_HOUR00", + The_Colors[Gbl.Prefs.Theme], Align); HTM_TxtF ("%02u:%02u",Hour,Min); HTM_TD_End (); @@ -1530,11 +1524,6 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable, /***** Form to modify this cell *****/ Frm_BeginForm (NextAction[Timetable->View]); - /***** Create unique string for this cell used in labels *****/ - if (asprintf (&CellStr,"%02u%02u%02u", - WhichCell->Weekday,WhichCell->Interval,WhichCell->Column) < 0) - Err_NotEnoughMemoryExit (); - /***** Put hidden parameters *****/ Par_PutHiddenParamUnsigned (NULL,"TTDay",WhichCell->Weekday ); Par_PutHiddenParamUnsigned (NULL,"TTInt",WhichCell->Interval); @@ -1542,7 +1531,8 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable, /***** Class type *****/ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE, - "name=\"TTTyp\" class=\"Tmt_TYP\""); + "name=\"TTTyp\" class=\"Tmt_TYP %s\"", + The_ClassInput[Gbl.Prefs.Theme]); for (CT = (Tmt_ClassType_t) 0; CT <= (Tmt_ClassType_t) (Tmt_NUM_CLASS_TYPES - 1); CT++) @@ -1565,7 +1555,7 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable, Dur = (MaxDuration >= Timetable->Config.IntervalsPerHour) ? Timetable->Config.IntervalsPerHour : // MaxDuration >= 1h ==> Dur = 1h MaxDuration; // MaxDuration < 1h ==> Dur = MaxDuration if (asprintf (&TTDur,"%u:%02u", - (Dur / Timetable->Config.IntervalsPerHour), // Hours + (Dur / Timetable->Config.IntervalsPerHour), // Hours (Dur % Timetable->Config.IntervalsPerHour) * Timetable->Config.Range.MinutesPerInterval) < 0) // Minutes Err_NotEnoughMemoryExit (); @@ -1576,7 +1566,8 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable, { /***** Class duration *****/ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE, - "name=\"TTDur\" class=\"Tmt_DUR\""); + "name=\"TTDur\" class=\"Tmt_DUR %s\"", + The_ClassInput[Gbl.Prefs.Theme]); for (i = WhichCell->Interval + Tmt_TimeTable[WhichCell->Weekday][WhichCell->Interval].Columns[WhichCell->Column].DurationIntervals; i < Timetable->Config.IntervalsPerDay; @@ -1602,6 +1593,13 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable, } HTM_SELECT_End (); + /***** Create unique string for this cell used in labels *****/ + if (asprintf (&CellStr,"%02u%02u%02u", + WhichCell->Weekday, + WhichCell->Interval, + WhichCell->Column) < 0) + Err_NotEnoughMemoryExit (); + if (Timetable->View == Tmt_CRS_EDIT) { /***** Group *****/ @@ -1611,8 +1609,9 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable, HTM_LABEL_End (); HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE, "id=\"TTGrp%s\" name=\"TTGrp\"" - " class=\"Tmt_GRP\"", - CellStr); + " class=\"Tmt_GRP %s\"", + CellStr, + The_ClassInput[Gbl.Prefs.Theme]); HTM_OPTION (HTM_Type_STRING,"-1",GrpCod <= 0,false, "%s",Txt_All_groups); for (NumGrpTyp = 0; @@ -1672,10 +1671,10 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable, " class=\"Tmt_INF %s\"", CellStr,The_ClassInput[Gbl.Prefs.Theme]); } - } - /***** Free allocated unique string for this cell used in labels *****/ - free (CellStr); + /***** Free allocated unique string for this cell used in labels *****/ + free (CellStr); + } /***** End form *****/ Frm_EndForm ();