diff --git a/css/swad15.51.css b/css/swad15.51.1.css similarity index 97% rename from css/swad15.51.css rename to css/swad15.51.1.css index 0af26afef..f88e191de 100644 --- a/css/swad15.51.css +++ b/css/swad15.51.1.css @@ -140,11 +140,29 @@ a:hover {text-decoration:underline;} background-color:#201420; } -#head_row_1_logo - { - display:table-cell; - text-align:center; - vertical-align:middle; +@media only screen and (max-width: 899px) + { /* For mobile-phones */ + #head_row_1_logo_small + { + display:table-cell; + vertical-align:middle; + } + #head_row_1_logo_big + { + display:none; + } + } +@media only screen and (min-width: 900px) + { /* For tablets and desktop */ + #head_row_1_logo_small + { + display:none; + } + #head_row_1_logo_big + { + display:table-cell; + vertical-align:middle; + } } #head_row_1_search { @@ -188,6 +206,8 @@ a:hover {text-decoration:underline;} height:80px; vertical-align:top; } + +/******************************* Current time ********************************/ #head_row_2_time { display:table-cell; @@ -215,6 +235,7 @@ a:hover {text-decoration:underline;} } } +/****** Breadcrumb (platform/country/institution/centre/degree/course) *******/ #head_row_2_hierarchy { display:table-cell; @@ -228,6 +249,73 @@ a:hover {text-decoration:underline;} text-align:left; vertical-align:top !important; } +@media only screen and (max-width: 899px) + { /* For mobile-phones */ + #breadcrumb + { + font-size:10pt; + font-weight:bold; + white-space:nowrap; + } + } +@media only screen and (min-width: 900px) and (max-width: 1023px) + { /* For tablets */ + #breadcrumb + { + font-size:12pt; + font-weight:bold; + white-space:nowrap; + } + } +@media only screen and (min-width: 1024px) + { /* For desktop */ + #breadcrumb + { + font-size:14pt; + font-weight:bold; + white-space:nowrap; + } + } +.BREADCRUMB_WHITE {color:#707070;} +.BREADCRUMB_GREY {color:#FFB42E;} +.BREADCRUMB_BLUE {color:#FFE880;} +.BREADCRUMB_YELLOW {color:#FFC040;} + +/******** Big name of country, institution, centre, degree or course *********/ +#big_name h1,#big_name abbr + { + margin:0; + padding:0; + font-size:25pt; + font-weight:normal; + white-space:nowrap; + } +@media only screen and (max-width: 1023px) + { /* For mobile-phones */ + #big_short_name + { + } + #big_full_name + { + display:none; + } + } +@media only screen and (min-width: 1024px) + { /* For tablets and desktop */ + #big_short_name + { + display:none; + } + #big_full_name + { + } + } +.WHITE_COURSE {color:#4D88A1;} +.GREY_COURSE {font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; color:#F7F6F5;} +.BLUE_COURSE {font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; color:white;} +.YELLOW_COURSE {font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; color:white;} + +/***************************** Notifications *********************************/ #msg /* Notifications, used for AJAX based refresh */ { display:table-cell; @@ -1262,45 +1350,6 @@ a:hover img.CENTRE_PHOTO_SHOW background-repeat:no-repeat; } -.WHITE_DEGREE {color:#707070; font-size:14pt; font-weight:bold; white-space:nowrap;} -.GREY_DEGREE {color:#FFB42E; font-size:14pt; font-weight:bold; white-space:nowrap;} -.BLUE_DEGREE {color:#FFE880; font-size:14pt; font-weight:bold; white-space:nowrap;} -.YELLOW_DEGREE {color:#FFC040; font-size:14pt; font-weight:bold; white-space:nowrap;} - -/******** Big name of country, institution, centre, degree or course *********/ -#big_name h1,#big_name abbr - { - margin:0; - padding:0; - font-size:25pt; - font-weight:normal; - white-space:nowrap; - } -@media only screen and (max-width: 1023px) - { /* For mobile-phones */ - #big_short_name - { - } - #big_full_name - { - display:none; - } - } -@media only screen and (min-width: 1024px) - { /* For tablets and desktop */ - #big_short_name - { - display:none; - } - #big_full_name - { - } - } -.WHITE_COURSE {color:#4D88A1;} -.GREY_COURSE {font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; color:#F7F6F5;} -.BLUE_COURSE {font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; color:white;} -.YELLOW_COURSE {font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; color:white;} - /*****************************************************************************/ .WHITE_USR {color:#E0E0E0; font-size:15pt; font-weight:bold; white-space:nowrap;} .GREY_USR {color:#E0E0E0; font-size:15pt; font-weight:bold; white-space:nowrap;} diff --git a/icon/swad40x40.png b/icon/swad40x40.png new file mode 100644 index 000000000..401437535 Binary files /dev/null and b/icon/swad40x40.png differ diff --git a/swad_changelog.h b/swad_changelog.h index e42f6177a..5d8fec62a 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -117,12 +117,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 15.51 (2015/11/30)" +#define Log_PLATFORM_VERSION "SWAD 15.51.1 (2015/11/30)" #define CSS_FILE "swad15.51.css" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 /* + Version 15.51.1: Nov 30, 2015 Responsive design in logo. + Responsive design in breadcrumb. (186564 lines) Version 15.51: Nov 30, 2015 Responsive design in title (country, institution, centre, degree, course). CSS file is renamed after changes in order to invalidate browser cache. (186564 lines) Version 15.50.2: Nov 30, 2015 Changes in layout of preferences. (186517 lines) diff --git a/swad_config.h b/swad_config.h index a74df27eb..74b37a577 100644 --- a/swad_config.h +++ b/swad_config.h @@ -59,9 +59,12 @@ #define Cfg_PATH_SWAD_PUBLIC "/var/www/html/swad" // Main public directory for public SWAD pages, icons, etc. #define Cfg_PATH_SWAD_PRIVATE "/var/www/swad" // Main private directory for SWAD private data -#define Cfg_PLATFORM_LOGO_FILE "openswad240x40.png" // Logo displayed in the top of the page -#define Cfg_PLATFORM_LOGO_WIDTH 240 -#define Cfg_PLATFORM_LOGO_HEIGHT 40 +#define Cfg_PLATFORM_LOGO_SMALL_FILENAME "swad40x40.png" // Logo displayed in the top of the page +#define Cfg_PLATFORM_LOGO_SMALL_WIDTH 40 +#define Cfg_PLATFORM_LOGO_SMALL_HEIGHT 40 +#define Cfg_PLATFORM_LOGO_BIG_FILENAME "openswad240x40.png" +#define Cfg_PLATFORM_LOGO_BIG_WIDTH 240 +#define Cfg_PLATFORM_LOGO_BIG_HEIGHT 40 #define Cfg_PLATFORM_RESPONSIBLE_NAME "Antonio Cañas Vargas" // Main responsible for the platform #define Cfg_PLATFORM_RESPONSIBLE_E_MAIL "webmaster@openswad.org" // Main responsible for the platform @@ -109,9 +112,12 @@ #define Cfg_PATH_SWAD_PUBLIC "/var/www/html/swad" // Main public directory for public SWAD pages, icons, etc. #define Cfg_PATH_SWAD_PRIVATE "/var/www/swad" // Main private directory for SWAD private data -#define Cfg_PLATFORM_LOGO_FILE "openswad240x40.png" // Logo displayed in the top of the page -#define Cfg_PLATFORM_LOGO_WIDTH 240 -#define Cfg_PLATFORM_LOGO_HEIGHT 40 +#define Cfg_PLATFORM_LOGO_SMALL_FILENAME "swad40x40.png" // Logo displayed in the top of the page +#define Cfg_PLATFORM_LOGO_SMALL_WIDTH 40 +#define Cfg_PLATFORM_LOGO_SMALL_HEIGHT 40 +#define Cfg_PLATFORM_LOGO_BIG_FILENAME "openswad240x40.png" +#define Cfg_PLATFORM_LOGO_BIG_WIDTH 240 +#define Cfg_PLATFORM_LOGO_BIG_HEIGHT 40 #define Cfg_PLATFORM_RESPONSIBLE_NAME "Antonio Caņas Vargas" // Main responsible for the platform #define Cfg_PLATFORM_RESPONSIBLE_E_MAIL "webmaster@openswad.org" // Main responsible for the platform @@ -176,9 +182,12 @@ #define Cfg_PATH_SWAD_PUBLIC "/var/www/html/swad" // Main public directory for public SWAD pages, icons, etc. #define Cfg_PATH_SWAD_PRIVATE "/var/www/swad" // Main private directory for SWAD private data -#define Cfg_PLATFORM_LOGO_FILE "swad160x40.png" // Logo displayed in the top of the page -#define Cfg_PLATFORM_LOGO_WIDTH 160 -#define Cfg_PLATFORM_LOGO_HEIGHT 40 +#define Cfg_PLATFORM_LOGO_SMALL_FILENAME "swad40x40.png" // Logo displayed in the top of the page +#define Cfg_PLATFORM_LOGO_SMALL_WIDTH 40 +#define Cfg_PLATFORM_LOGO_SMALL_HEIGHT 40 +#define Cfg_PLATFORM_LOGO_BIG_FILENAME "swad160x40.png" +#define Cfg_PLATFORM_LOGO_BIG_WIDTH 160 +#define Cfg_PLATFORM_LOGO_BIG_HEIGHT 40 #define Cfg_PLATFORM_RESPONSIBLE_NAME "CEVUG" // Main responsible for the platform #define Cfg_PLATFORM_RESPONSIBLE_E_MAIL "sctecnico@ugr.es" // Main responsible for the platform @@ -233,9 +242,12 @@ #define Cfg_PATH_SWAD_PUBLIC "/var/www/html/swad" // Main public directory for public SWAD pages, icons, etc. #define Cfg_PATH_SWAD_PRIVATE "/var/www/swad" // Main private directory for SWAD private data -#define Cfg_PLATFORM_LOGO_FILE "swad160x40.png" // Logo displayed in the top of the page -#define Cfg_PLATFORM_LOGO_WIDTH 160 -#define Cfg_PLATFORM_LOGO_HEIGHT 40 +#define Cfg_PLATFORM_LOGO_SMALL_FILENAME "swad40x40.png" // Logo displayed in the top of the page +#define Cfg_PLATFORM_LOGO_SMALL_WIDTH 40 +#define Cfg_PLATFORM_LOGO_SMALL_HEIGHT 40 +#define Cfg_PLATFORM_LOGO_BIG_FILENAME "swad160x40.png" +#define Cfg_PLATFORM_LOGO_BIG_WIDTH 160 +#define Cfg_PLATFORM_LOGO_BIG_HEIGHT 40 #define Cfg_PLATFORM_RESPONSIBLE_NAME "Carmen Varela Báez" // Main responsible for the platform #define Cfg_PLATFORM_RESPONSIBLE_E_MAIL "cevuna@rec.una.py" // Main responsible for the platform diff --git a/swad_degree.c b/swad_degree.c index 87591fa4b..b4054a9c7 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -644,7 +644,7 @@ static void Deg_WriteSelectorOfDegree (void) void Deg_WriteCtyInsCtrDeg (void) { - extern const char *The_ClassDegree[The_NUM_THEMES]; + extern const char *The_ClassBreadcrumb[The_NUM_THEMES]; extern const char *Txt_System; char DegreeShortName[Deg_MAX_LENGTH_DEGREE_FULL_NAME+1]; // Full name of degree @@ -652,7 +652,7 @@ void Deg_WriteCtyInsCtrDeg (void) Act_FormGoToStart (ActMnu); Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) TabSys); Act_LinkFormSubmit (Txt_System, - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); fprintf (Gbl.F.Out,"%s",Txt_System); Act_FormEnd (); @@ -660,13 +660,13 @@ void Deg_WriteCtyInsCtrDeg (void) { /***** Separator *****/ fprintf (Gbl.F.Out," / ", - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); /***** Form to go to the country *****/ Act_FormGoToStart (ActSeeIns); Cty_PutParamCtyCod (Gbl.CurrentCty.Cty.CtyCod); Act_LinkFormSubmit (Gbl.CurrentCty.Cty.Name[Gbl.Prefs.Language], - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); fprintf (Gbl.F.Out,"%s", Gbl.CurrentCty.Cty.Name[Gbl.Prefs.Language]); Act_FormEnd (); @@ -675,13 +675,13 @@ void Deg_WriteCtyInsCtrDeg (void) { /***** Separator *****/ fprintf (Gbl.F.Out," / ", - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); /***** Form to go to the institution *****/ Act_FormGoToStart (ActSeeCtr); Ins_PutParamInsCod (Gbl.CurrentIns.Ins.InsCod); Act_LinkFormSubmit (Gbl.CurrentIns.Ins.FullName, - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); fprintf (Gbl.F.Out,"%s", Gbl.CurrentIns.Ins.ShortName); Act_FormEnd (); @@ -690,13 +690,13 @@ void Deg_WriteCtyInsCtrDeg (void) { /***** Separator *****/ fprintf (Gbl.F.Out," / ", - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); /***** Form to go to the centre *****/ Act_FormGoToStart (ActSeeDeg); Ctr_PutParamCtrCod (Gbl.CurrentCtr.Ctr.CtrCod); Act_LinkFormSubmit (Gbl.CurrentCtr.Ctr.FullName, - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); fprintf (Gbl.F.Out,"%s", Gbl.CurrentCtr.Ctr.ShortName); Act_FormEnd (); @@ -705,13 +705,13 @@ void Deg_WriteCtyInsCtrDeg (void) { /***** Separator *****/ fprintf (Gbl.F.Out," / ", - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); /***** Form to go to the degree *****/ Act_FormGoToStart (ActSeeCrs); Deg_PutParamDegCod (Gbl.CurrentDeg.Deg.DegCod); Act_LinkFormSubmit (Gbl.CurrentDeg.Deg.FullName, - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); strcpy (DegreeShortName,Gbl.CurrentDeg.Deg.ShortName); Str_LimitLengthHTMLStr (DegreeShortName, Deg_MAX_LENGTH_SHORT_NAME_DEGREE_ON_PAGE_HEAD); @@ -725,7 +725,7 @@ void Deg_WriteCtyInsCtrDeg (void) /***** Separator *****/ fprintf (Gbl.F.Out," / ", - The_ClassDegree[Gbl.Prefs.Theme]); + The_ClassBreadcrumb[Gbl.Prefs.Theme]); if (Gbl.CurrentDeg.Deg.DegCod <= 0) // No degree selected... fprintf (Gbl.F.Out,"... "); fprintf (Gbl.F.Out,""); diff --git a/swad_layout.c b/swad_layout.c index a752c3dbf..023bd271e 100644 --- a/swad_layout.c +++ b/swad_layout.c @@ -684,20 +684,30 @@ static void Lay_WritePageTopHeading (void) ClassHeadRow1[Gbl.Prefs.Theme]); /* 1st. row, 1st. column: logo */ - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" "" - "\"%s\"" "" "
", - Cfg_PLATFORM_LOGO_WIDTH, + Cfg_PLATFORM_LOGO_SMALL_WIDTH, Cfg_HTTPS_URL_SWAD_CGI, - Gbl.Prefs.IconsURL,Cfg_PLATFORM_LOGO_FILE, + Gbl.Prefs.IconsURL,Cfg_PLATFORM_LOGO_SMALL_FILENAME, Cfg_PLATFORM_SHORT_NAME,Cfg_PLATFORM_FULL_NAME, - Cfg_PLATFORM_LOGO_WIDTH, - Cfg_PLATFORM_LOGO_HEIGHT); + Cfg_PLATFORM_LOGO_SMALL_WIDTH,Cfg_PLATFORM_LOGO_SMALL_HEIGHT); + fprintf (Gbl.F.Out,"
" + "" + "\"%s\"" + "" + "
", + Cfg_PLATFORM_LOGO_BIG_WIDTH, + Cfg_HTTPS_URL_SWAD_CGI, + Gbl.Prefs.IconsURL,Cfg_PLATFORM_LOGO_BIG_FILENAME, + Cfg_PLATFORM_SHORT_NAME,Cfg_PLATFORM_FULL_NAME, + Cfg_PLATFORM_LOGO_BIG_WIDTH,Cfg_PLATFORM_LOGO_BIG_HEIGHT); /* 1st. row, 2nd. column: search */ fprintf (Gbl.F.Out,"
"); @@ -745,8 +755,10 @@ static void Lay_WritePageTopHeading (void) /* 2nd. row, 2nd. column: degree and course */ fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); Deg_WriteCtyInsCtrDeg (); Crs_WriteSelectorMyCourses (); + fprintf (Gbl.F.Out,"
"); Deg_WriteBigNameCtyInsCtrDegCrs (); fprintf (Gbl.F.Out,"
"); diff --git a/swad_theme.c b/swad_theme.c index a6f8d4b73..e518111a4 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -119,12 +119,12 @@ const char *The_ClassUsr[The_NUM_THEMES] = "YELLOW_USR", }; -const char *The_ClassDegree[The_NUM_THEMES] = +const char *The_ClassBreadcrumb[The_NUM_THEMES] = { - "WHITE_DEGREE", - "GREY_DEGREE", - "BLUE_DEGREE", - "YELLOW_DEGREE", + "BREADCRUMB_WHITE", + "BREADCRUMB_GREY", + "BREADCRUMB_BLUE", + "BREADCRUMB_YELLOW", }; const char *The_ClassCourse[The_NUM_THEMES] =