diff --git a/icon/chalkboard-teacher.svg b/icon/chalkboard-teacher.svg
new file mode 100644
index 00000000..d5e5923d
--- /dev/null
+++ b/icon/chalkboard-teacher.svg
@@ -0,0 +1 @@
+
diff --git a/icon/iconset/awesome/chalkboard-teacher.svg b/icon/iconset/awesome/chalkboard-teacher.svg
new file mode 100644
index 00000000..d5e5923d
--- /dev/null
+++ b/icon/iconset/awesome/chalkboard-teacher.svg
@@ -0,0 +1 @@
+
diff --git a/icon/iconset/awesome/list-alt.svg b/icon/iconset/awesome/list-alt.svg
new file mode 100644
index 00000000..ae233611
--- /dev/null
+++ b/icon/iconset/awesome/list-alt.svg
@@ -0,0 +1 @@
+
diff --git a/icon/iconset/nuvola/chalkboard-teacher.svg b/icon/iconset/nuvola/chalkboard-teacher.svg
new file mode 100644
index 00000000..8fa2256d
--- /dev/null
+++ b/icon/iconset/nuvola/chalkboard-teacher.svg
@@ -0,0 +1,138 @@
+
+
+
diff --git a/icon/iconset/nuvola/clipboard-list.svg b/icon/iconset/nuvola/clipboard-list.svg
new file mode 100644
index 00000000..133e7df3
--- /dev/null
+++ b/icon/iconset/nuvola/clipboard-list.svg
@@ -0,0 +1,637 @@
+
+
+
diff --git a/icon/iconset/nuvola/clipboard-list.png b/icon/iconset/nuvola/list-alt.png
similarity index 100%
rename from icon/iconset/nuvola/clipboard-list.png
rename to icon/iconset/nuvola/list-alt.png
diff --git a/swad_action.c b/swad_action.c
index 7b33b08a..95497a8f 100644
--- a/swad_action.c
+++ b/swad_action.c
@@ -355,7 +355,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
// TabDeg ******************************************************************
// Actions in menu:
[ActSeeDegInf ] = {1149, 0,TabDeg,ActSeeDegInf , 0, 0,0x3C7, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,DegCfg_ShowConfiguration ,"info" },
- [ActSeeCrs ] = {1009, 1,TabDeg,ActSeeCrs , 0, 0,0x3C7, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Crs_ShowCrssOfCurrentDeg ,"list-ol" },
+ [ActSeeCrs ] = {1009, 1,TabDeg,ActSeeCrs , 0, 0,0x3C7, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Crs_ShowCrssOfCurrentDeg ,"chalkboard-teacher" },
// Actions not in menu:
[ActPrnDegInf ] = {1150,-1,TabUnk,ActSeeDegInf , 0, 0,0x3C7, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,DegCfg_PrintConfiguration ,NULL},
@@ -380,12 +380,13 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
// TabCrs ******************************************************************
// Actions in menu:
[ActSeeCrsInf ] = { 847, 0,TabCrs,ActSeeCrsInf ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Crs_ShowIntroduction ,"info" },
- [ActSeeTchGui ] = { 784, 1,TabCrs,ActSeeTchGui ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"book-open" },
- [ActSeeSyl ] = {1242, 2,TabCrs,ActSeeSyl ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"list-ol" },
- [ActSeeBib ] = { 32, 3,TabCrs,ActSeeBib ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"book" },
- [ActSeeFAQ ] = { 54, 4,TabCrs,ActSeeFAQ ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"question" },
- [ActSeeCrsLnk ] = { 9, 5,TabCrs,ActSeeCrsLnk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"link" },
- [ActSeeCrsTT ] = { 25, 6,TabCrs,ActSeeCrsTT ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TT_ShowClassTimeTable ,"clock" },
+ [ActSeeScd ] = {1821, 1,TabCrs,ActSeeScd ,0x200,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Crs_ShowIntroduction ,"clipboard-list" },
+ [ActSeeTchGui ] = { 784, 2,TabCrs,ActSeeTchGui ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"book-open" },
+ [ActSeeSyl ] = {1242, 3,TabCrs,ActSeeSyl ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"list-ol" },
+ [ActSeeBib ] = { 32, 4,TabCrs,ActSeeBib ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"book" },
+ [ActSeeFAQ ] = { 54, 5,TabCrs,ActSeeFAQ ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"question" },
+ [ActSeeCrsLnk ] = { 9, 6,TabCrs,ActSeeCrsLnk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Inf_ShowInfo ,"link" },
+ [ActSeeCrsTT ] = { 25, 7,TabCrs,ActSeeCrsTT ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TT_ShowClassTimeTable ,"clock" },
// Actions not in menu:
[ActPrnCrsInf ] = {1028,-1,TabUnk,ActSeeCrsInf ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,CrsCfg_PrintConfiguration ,NULL},
@@ -727,7 +728,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActAdmShaCrsGrp ] = { 461, 8,TabFil,ActAdmShaCrsGrp ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,"folder-open" },
[ActAdmAsgWrkUsr ] = { 792, 9,TabFil,ActAdmAsgWrkUsr ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,"folder-open" },
[ActReqAsgWrkCrs ] = { 899,10,TabFil,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_AskEditWorksCrs ,"folder-open" },
- [ActSeeAdmMrk ] = { 17,11,TabFil,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,"clipboard-list" },
+ [ActSeeAdmMrk ] = { 17,11,TabFil,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,"list-alt" },
[ActAdmBrf ] = { 23,12,TabFil,ActAdmBrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,"briefcase" },
// Actions not in menu:
@@ -3535,6 +3536,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActSeeSysInf, // #1818
ActPrnSysInf, // #1819
ActMtn, // #1820
+ ActSeeScd, // #1821
};
/*****************************************************************************/
diff --git a/swad_action.h b/swad_action.h
index c6b8a67e..b85b876c 100644
--- a/swad_action.h
+++ b/swad_action.h
@@ -64,7 +64,7 @@ typedef enum
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
-#define Act_MAX_ACTION_COD 1820
+#define Act_MAX_ACTION_COD 1821
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
@@ -368,122 +368,123 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
/*****************************************************************************/
// Actions in menu
#define ActSeeCrsInf (ActChgCrsSta + 1)
-#define ActSeeTchGui (ActChgCrsSta + 2)
-#define ActSeeSyl (ActChgCrsSta + 3)
-#define ActSeeBib (ActChgCrsSta + 4)
-#define ActSeeFAQ (ActChgCrsSta + 5)
-#define ActSeeCrsLnk (ActChgCrsSta + 6)
-#define ActSeeCrsTT (ActChgCrsSta + 7)
+#define ActSeeScd (ActChgCrsSta + 2)
+#define ActSeeTchGui (ActChgCrsSta + 3)
+#define ActSeeSyl (ActChgCrsSta + 4)
+#define ActSeeBib (ActChgCrsSta + 5)
+#define ActSeeFAQ (ActChgCrsSta + 6)
+#define ActSeeCrsLnk (ActChgCrsSta + 7)
+#define ActSeeCrsTT (ActChgCrsSta + 8)
// Secondary actions
-#define ActPrnCrsInf (ActChgCrsSta + 8)
-#define ActChgCrsDegCfg (ActChgCrsSta + 9)
-#define ActRenCrsShoCfg (ActChgCrsSta + 10)
-#define ActRenCrsFulCfg (ActChgCrsSta + 11)
-#define ActChgInsCrsCodCfg (ActChgCrsSta + 12)
-#define ActChgCrsYeaCfg (ActChgCrsSta + 13)
-#define ActEdiCrsInf (ActChgCrsSta + 14)
-#define ActEdiTchGui (ActChgCrsSta + 15)
-#define ActSeeSylLec (ActChgCrsSta + 16)
-#define ActSeeSylPra (ActChgCrsSta + 17)
-#define ActEdiSylLec (ActChgCrsSta + 18)
-#define ActEdiSylPra (ActChgCrsSta + 19)
-#define ActDelItmSylLec (ActChgCrsSta + 20)
-#define ActDelItmSylPra (ActChgCrsSta + 21)
-#define ActUp_IteSylLec (ActChgCrsSta + 22)
-#define ActUp_IteSylPra (ActChgCrsSta + 23)
-#define ActDwnIteSylLec (ActChgCrsSta + 24)
-#define ActDwnIteSylPra (ActChgCrsSta + 25)
-#define ActRgtIteSylLec (ActChgCrsSta + 26)
-#define ActRgtIteSylPra (ActChgCrsSta + 27)
-#define ActLftIteSylLec (ActChgCrsSta + 28)
-#define ActLftIteSylPra (ActChgCrsSta + 29)
-#define ActInsIteSylLec (ActChgCrsSta + 30)
-#define ActInsIteSylPra (ActChgCrsSta + 31)
-#define ActModIteSylLec (ActChgCrsSta + 32)
-#define ActModIteSylPra (ActChgCrsSta + 33)
+#define ActPrnCrsInf (ActChgCrsSta + 9)
+#define ActChgCrsDegCfg (ActChgCrsSta + 10)
+#define ActRenCrsShoCfg (ActChgCrsSta + 11)
+#define ActRenCrsFulCfg (ActChgCrsSta + 12)
+#define ActChgInsCrsCodCfg (ActChgCrsSta + 13)
+#define ActChgCrsYeaCfg (ActChgCrsSta + 14)
+#define ActEdiCrsInf (ActChgCrsSta + 15)
+#define ActEdiTchGui (ActChgCrsSta + 16)
+#define ActSeeSylLec (ActChgCrsSta + 17)
+#define ActSeeSylPra (ActChgCrsSta + 18)
+#define ActEdiSylLec (ActChgCrsSta + 19)
+#define ActEdiSylPra (ActChgCrsSta + 20)
+#define ActDelItmSylLec (ActChgCrsSta + 21)
+#define ActDelItmSylPra (ActChgCrsSta + 22)
+#define ActUp_IteSylLec (ActChgCrsSta + 23)
+#define ActUp_IteSylPra (ActChgCrsSta + 24)
+#define ActDwnIteSylLec (ActChgCrsSta + 25)
+#define ActDwnIteSylPra (ActChgCrsSta + 26)
+#define ActRgtIteSylLec (ActChgCrsSta + 27)
+#define ActRgtIteSylPra (ActChgCrsSta + 28)
+#define ActLftIteSylLec (ActChgCrsSta + 29)
+#define ActLftIteSylPra (ActChgCrsSta + 30)
+#define ActInsIteSylLec (ActChgCrsSta + 31)
+#define ActInsIteSylPra (ActChgCrsSta + 32)
+#define ActModIteSylLec (ActChgCrsSta + 33)
+#define ActModIteSylPra (ActChgCrsSta + 34)
-#define ActEdiBib (ActChgCrsSta + 34)
-#define ActEdiFAQ (ActChgCrsSta + 35)
-#define ActEdiCrsLnk (ActChgCrsSta + 36)
+#define ActEdiBib (ActChgCrsSta + 35)
+#define ActEdiFAQ (ActChgCrsSta + 36)
+#define ActEdiCrsLnk (ActChgCrsSta + 37)
-#define ActChgFrcReaCrsInf (ActChgCrsSta + 37)
-#define ActChgFrcReaTchGui (ActChgCrsSta + 38)
-#define ActChgFrcReaSylLec (ActChgCrsSta + 39)
-#define ActChgFrcReaSylPra (ActChgCrsSta + 40)
-#define ActChgFrcReaBib (ActChgCrsSta + 41)
-#define ActChgFrcReaFAQ (ActChgCrsSta + 42)
-#define ActChgFrcReaCrsLnk (ActChgCrsSta + 43)
+#define ActChgFrcReaCrsInf (ActChgCrsSta + 38)
+#define ActChgFrcReaTchGui (ActChgCrsSta + 39)
+#define ActChgFrcReaSylLec (ActChgCrsSta + 40)
+#define ActChgFrcReaSylPra (ActChgCrsSta + 41)
+#define ActChgFrcReaBib (ActChgCrsSta + 42)
+#define ActChgFrcReaFAQ (ActChgCrsSta + 43)
+#define ActChgFrcReaCrsLnk (ActChgCrsSta + 44)
-#define ActChgHavReaCrsInf (ActChgCrsSta + 44)
-#define ActChgHavReaTchGui (ActChgCrsSta + 45)
-#define ActChgHavReaSylLec (ActChgCrsSta + 46)
-#define ActChgHavReaSylPra (ActChgCrsSta + 47)
-#define ActChgHavReaBib (ActChgCrsSta + 48)
-#define ActChgHavReaFAQ (ActChgCrsSta + 49)
-#define ActChgHavReaCrsLnk (ActChgCrsSta + 50)
+#define ActChgHavReaCrsInf (ActChgCrsSta + 45)
+#define ActChgHavReaTchGui (ActChgCrsSta + 46)
+#define ActChgHavReaSylLec (ActChgCrsSta + 47)
+#define ActChgHavReaSylPra (ActChgCrsSta + 48)
+#define ActChgHavReaBib (ActChgCrsSta + 49)
+#define ActChgHavReaFAQ (ActChgCrsSta + 50)
+#define ActChgHavReaCrsLnk (ActChgCrsSta + 51)
-#define ActSelInfSrcCrsInf (ActChgCrsSta + 51)
-#define ActSelInfSrcTchGui (ActChgCrsSta + 52)
-#define ActSelInfSrcSylLec (ActChgCrsSta + 53)
-#define ActSelInfSrcSylPra (ActChgCrsSta + 54)
-#define ActSelInfSrcBib (ActChgCrsSta + 55)
-#define ActSelInfSrcFAQ (ActChgCrsSta + 56)
-#define ActSelInfSrcCrsLnk (ActChgCrsSta + 57)
-#define ActRcvURLCrsInf (ActChgCrsSta + 58)
-#define ActRcvURLTchGui (ActChgCrsSta + 59)
-#define ActRcvURLSylLec (ActChgCrsSta + 60)
-#define ActRcvURLSylPra (ActChgCrsSta + 61)
-#define ActRcvURLBib (ActChgCrsSta + 62)
-#define ActRcvURLFAQ (ActChgCrsSta + 63)
-#define ActRcvURLCrsLnk (ActChgCrsSta + 64)
-#define ActRcvPagCrsInf (ActChgCrsSta + 65)
-#define ActRcvPagTchGui (ActChgCrsSta + 66)
-#define ActRcvPagSylLec (ActChgCrsSta + 67)
-#define ActRcvPagSylPra (ActChgCrsSta + 68)
-#define ActRcvPagBib (ActChgCrsSta + 69)
-#define ActRcvPagFAQ (ActChgCrsSta + 70)
-#define ActRcvPagCrsLnk (ActChgCrsSta + 71)
-#define ActEditorCrsInf (ActChgCrsSta + 72)
-#define ActEditorTchGui (ActChgCrsSta + 73)
-#define ActEditorSylLec (ActChgCrsSta + 74)
-#define ActEditorSylPra (ActChgCrsSta + 75)
-#define ActEditorBib (ActChgCrsSta + 76)
-#define ActEditorFAQ (ActChgCrsSta + 77)
-#define ActEditorCrsLnk (ActChgCrsSta + 78)
-#define ActPlaTxtEdiCrsInf (ActChgCrsSta + 79)
-#define ActPlaTxtEdiTchGui (ActChgCrsSta + 80)
-#define ActPlaTxtEdiSylLec (ActChgCrsSta + 81)
-#define ActPlaTxtEdiSylPra (ActChgCrsSta + 82)
-#define ActPlaTxtEdiBib (ActChgCrsSta + 83)
-#define ActPlaTxtEdiFAQ (ActChgCrsSta + 84)
-#define ActPlaTxtEdiCrsLnk (ActChgCrsSta + 85)
-#define ActRchTxtEdiCrsInf (ActChgCrsSta + 86)
-#define ActRchTxtEdiTchGui (ActChgCrsSta + 87)
-#define ActRchTxtEdiSylLec (ActChgCrsSta + 88)
-#define ActRchTxtEdiSylPra (ActChgCrsSta + 89)
-#define ActRchTxtEdiBib (ActChgCrsSta + 90)
-#define ActRchTxtEdiFAQ (ActChgCrsSta + 91)
-#define ActRchTxtEdiCrsLnk (ActChgCrsSta + 92)
-#define ActRcvPlaTxtCrsInf (ActChgCrsSta + 93)
-#define ActRcvPlaTxtTchGui (ActChgCrsSta + 94)
-#define ActRcvPlaTxtSylLec (ActChgCrsSta + 95)
-#define ActRcvPlaTxtSylPra (ActChgCrsSta + 96)
-#define ActRcvPlaTxtBib (ActChgCrsSta + 97)
-#define ActRcvPlaTxtFAQ (ActChgCrsSta + 98)
-#define ActRcvPlaTxtCrsLnk (ActChgCrsSta + 99)
-#define ActRcvRchTxtCrsInf (ActChgCrsSta + 100)
-#define ActRcvRchTxtTchGui (ActChgCrsSta + 101)
-#define ActRcvRchTxtSylLec (ActChgCrsSta + 102)
-#define ActRcvRchTxtSylPra (ActChgCrsSta + 103)
-#define ActRcvRchTxtBib (ActChgCrsSta + 104)
-#define ActRcvRchTxtFAQ (ActChgCrsSta + 105)
-#define ActRcvRchTxtCrsLnk (ActChgCrsSta + 106)
+#define ActSelInfSrcCrsInf (ActChgCrsSta + 52)
+#define ActSelInfSrcTchGui (ActChgCrsSta + 53)
+#define ActSelInfSrcSylLec (ActChgCrsSta + 54)
+#define ActSelInfSrcSylPra (ActChgCrsSta + 55)
+#define ActSelInfSrcBib (ActChgCrsSta + 56)
+#define ActSelInfSrcFAQ (ActChgCrsSta + 57)
+#define ActSelInfSrcCrsLnk (ActChgCrsSta + 58)
+#define ActRcvURLCrsInf (ActChgCrsSta + 59)
+#define ActRcvURLTchGui (ActChgCrsSta + 60)
+#define ActRcvURLSylLec (ActChgCrsSta + 61)
+#define ActRcvURLSylPra (ActChgCrsSta + 62)
+#define ActRcvURLBib (ActChgCrsSta + 63)
+#define ActRcvURLFAQ (ActChgCrsSta + 64)
+#define ActRcvURLCrsLnk (ActChgCrsSta + 65)
+#define ActRcvPagCrsInf (ActChgCrsSta + 66)
+#define ActRcvPagTchGui (ActChgCrsSta + 67)
+#define ActRcvPagSylLec (ActChgCrsSta + 68)
+#define ActRcvPagSylPra (ActChgCrsSta + 69)
+#define ActRcvPagBib (ActChgCrsSta + 70)
+#define ActRcvPagFAQ (ActChgCrsSta + 71)
+#define ActRcvPagCrsLnk (ActChgCrsSta + 72)
+#define ActEditorCrsInf (ActChgCrsSta + 73)
+#define ActEditorTchGui (ActChgCrsSta + 74)
+#define ActEditorSylLec (ActChgCrsSta + 75)
+#define ActEditorSylPra (ActChgCrsSta + 76)
+#define ActEditorBib (ActChgCrsSta + 77)
+#define ActEditorFAQ (ActChgCrsSta + 78)
+#define ActEditorCrsLnk (ActChgCrsSta + 79)
+#define ActPlaTxtEdiCrsInf (ActChgCrsSta + 80)
+#define ActPlaTxtEdiTchGui (ActChgCrsSta + 81)
+#define ActPlaTxtEdiSylLec (ActChgCrsSta + 82)
+#define ActPlaTxtEdiSylPra (ActChgCrsSta + 83)
+#define ActPlaTxtEdiBib (ActChgCrsSta + 84)
+#define ActPlaTxtEdiFAQ (ActChgCrsSta + 85)
+#define ActPlaTxtEdiCrsLnk (ActChgCrsSta + 86)
+#define ActRchTxtEdiCrsInf (ActChgCrsSta + 87)
+#define ActRchTxtEdiTchGui (ActChgCrsSta + 88)
+#define ActRchTxtEdiSylLec (ActChgCrsSta + 89)
+#define ActRchTxtEdiSylPra (ActChgCrsSta + 90)
+#define ActRchTxtEdiBib (ActChgCrsSta + 91)
+#define ActRchTxtEdiFAQ (ActChgCrsSta + 92)
+#define ActRchTxtEdiCrsLnk (ActChgCrsSta + 93)
+#define ActRcvPlaTxtCrsInf (ActChgCrsSta + 94)
+#define ActRcvPlaTxtTchGui (ActChgCrsSta + 95)
+#define ActRcvPlaTxtSylLec (ActChgCrsSta + 96)
+#define ActRcvPlaTxtSylPra (ActChgCrsSta + 97)
+#define ActRcvPlaTxtBib (ActChgCrsSta + 98)
+#define ActRcvPlaTxtFAQ (ActChgCrsSta + 99)
+#define ActRcvPlaTxtCrsLnk (ActChgCrsSta + 100)
+#define ActRcvRchTxtCrsInf (ActChgCrsSta + 101)
+#define ActRcvRchTxtTchGui (ActChgCrsSta + 102)
+#define ActRcvRchTxtSylLec (ActChgCrsSta + 103)
+#define ActRcvRchTxtSylPra (ActChgCrsSta + 104)
+#define ActRcvRchTxtBib (ActChgCrsSta + 105)
+#define ActRcvRchTxtFAQ (ActChgCrsSta + 106)
+#define ActRcvRchTxtCrsLnk (ActChgCrsSta + 107)
-#define ActPrnCrsTT (ActChgCrsSta + 107)
-#define ActEdiCrsTT (ActChgCrsSta + 108)
-#define ActChgCrsTT (ActChgCrsSta + 109)
-#define ActChgCrsTT1stDay (ActChgCrsSta + 110)
+#define ActPrnCrsTT (ActChgCrsSta + 108)
+#define ActEdiCrsTT (ActChgCrsSta + 109)
+#define ActChgCrsTT (ActChgCrsSta + 110)
+#define ActChgCrsTT1stDay (ActChgCrsSta + 111)
/*****************************************************************************/
/***************************** Assessment tab ********************************/
diff --git a/swad_changelog.h b/swad_changelog.h
index a8c97962..9bac175b 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -497,7 +497,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
-#define Log_PLATFORM_VERSION "SWAD 19.128.7 (2020-02-19)"
+#define Log_PLATFORM_VERSION "SWAD 19.129 (2020-02-20)"
#define CSS_FILE "swad19.118.css"
#define JS_FILE "swad19.91.1.js"
/*
@@ -521,6 +521,16 @@ Param
// TODO: No se puede entrar con DNI '1' suponiendo que no tenga password ¿por qué?
// TODO: En la lista de conectados central, poner el logo de la institución a la que pertenece el usuario
+ Version 19.129: Feb 20, 2020 New option for schedule in course. (279240 lines)
+ Copy the following icons to icon public directory:
+sudo cp -a icon/iconset/nuvola/list-alt.png /var/www/html/swad/icon/iconset/nuvola/
+sudo cp -a icon/iconset/awesome/list-alt.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp -a icon/iconset/nuvola/clipboard-list.svg /var/www/html/swad/icon/iconset/nuvola/
+sudo cp -a icon/iconset/awesome/clipboard-list.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp -a icon/iconset/nuvola/chalkboard-teacher.svg /var/www/html/swad/icon/iconset/nuvola/
+sudo cp -a icon/iconset/awesome/chalkboard-teacher.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp -a icon/chalkboard-teacher.svg /var/www/html/swad/icon/
+
Version 19.128.7: Feb 19, 2020 Programa is changed by Temario.
Fixed bug in plugins. (279167 lines)
Version 19.128.6: Feb 19, 2020 Visibility added to API function getTestConfig. (279156 lines)
diff --git a/swad_chat.c b/swad_chat.c
index 44ecd3d3..8b5e0b3d 100644
--- a/swad_chat.c
+++ b/swad_chat.c
@@ -220,7 +220,7 @@ void Cht_ShowListOfAvailableChatRooms (void)
"%s %s",
Txt_Course,Crs.ShrtName);
Cht_WriteLinkToChat1 (ThisRoomCode,ThisRoomShrtName,ThisRoomFullName,2,IsLastItemInLevel);
- Ico_PutIcon ("list-ol.svg",ThisRoomFullName,"ICO16x16");
+ Ico_PutIcon ("chalkboard-teacher.svg",ThisRoomFullName,"ICO16x16");
Cht_WriteLinkToChat2 (ThisRoomCode,ThisRoomFullName);
}
}
diff --git a/swad_course.c b/swad_course.c
index 02464bf3..fdcf3537 100644
--- a/swad_course.c
+++ b/swad_course.c
@@ -360,7 +360,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
ClassNormal,
NULL);
Hie_FreeGoToMsg ();
- Ico_PutIcon ("list-ol.svg",Crs.FullName,"ICO16x16");
+ Ico_PutIcon ("chalkboard-teacher.svg",Crs.FullName,"ICO16x16");
HTM_TxtF (" %s",Crs.ShrtName);
HTM_BUTTON_End ();
Frm_EndForm ();
@@ -1058,7 +1058,7 @@ static void Crs_PutIconToViewCourses (void)
extern const char *Txt_Courses;
Lay_PutContextualLinkOnlyIcon (ActSeeCrs,NULL,NULL,
- "list-ol.svg",
+ "chalkboard-teacher.svg",
Txt_Courses);
}
diff --git a/swad_figure.c b/swad_figure.c
index 3646dae0..3347892a 100644
--- a/swad_figure.c
+++ b/swad_figure.c
@@ -624,7 +624,7 @@ static void Fig_WriteHeadHierarchy (void)
HTM_TH_End ();
HTM_TH_Begin (1,1,"RM");
- Ico_PutIcon ("list-ol.svg",Txt_Courses,"CONTEXT_ICO_x16");
+ Ico_PutIcon ("chalkboard-teacher.svg",Txt_Courses,"CONTEXT_ICO_x16");
HTM_BR ();
HTM_Txt (Txt_Courses);
HTM_TH_End ();
@@ -4037,12 +4037,12 @@ static void Fig_ShowStatOfAForumType (For_ForumType_t ForumType,
break;
case For_FORUM_COURSE_USRS:
Fig_WriteForumTitleAndStats (ForumType,CtyCod,InsCod,CtrCod,DegCod,CrsCod,
- "list-ol.svg",FiguresForum,
+ "chalkboard-teacher.svg",FiguresForum,
Txt_Courses,"");
break;
case For_FORUM_COURSE_TCHS:
Fig_WriteForumTitleAndStats (ForumType,CtyCod,InsCod,CtrCod,DegCod,CrsCod,
- "list-ol.svg",FiguresForum,
+ "chalkboard-teacher.svg",FiguresForum,
Txt_Courses,Txt_only_teachers);
break;
default:
diff --git a/swad_forum.c b/swad_forum.c
index 4e3d195c..89df7abf 100644
--- a/swad_forum.c
+++ b/swad_forum.c
@@ -2092,7 +2092,7 @@ static void For_WriteLinkToForum (struct Forum *Forum,
break;
case For_FORUM_COURSE_USRS:
case For_FORUM_COURSE_TCHS:
- Ico_PutIcon ("list-ol.svg",ForumName,"ICO16x16");
+ Ico_PutIcon ("chalkboard-teacher.svg",ForumName,"ICO16x16");
break;
default:
break;
diff --git a/swad_icon.c b/swad_icon.c
index f330d1c2..54098446 100644
--- a/swad_icon.c
+++ b/swad_icon.c
@@ -340,7 +340,7 @@ void Ico_PutContextualIconToShowAttendanceList (Act_Action_t NextAction,void (*F
extern const char *Txt_Attendance_list;
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
- "list-ol.svg",
+ "tasks.svg",
Txt_Attendance_list);
}
diff --git a/swad_menu.c b/swad_menu.c
index 21df2167..c66b9510 100644
--- a/swad_menu.c
+++ b/swad_menu.c
@@ -101,12 +101,13 @@ static const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_
},
[TabCrs] = {
[ 0] = ActSeeCrsInf,
- [ 1] = ActSeeTchGui,
- [ 2] = ActSeeSyl,
- [ 3] = ActSeeBib,
- [ 4] = ActSeeFAQ,
- [ 5] = ActSeeCrsLnk,
- [ 6] = ActSeeCrsTT,
+ [ 1] = ActSeeScd,
+ [ 2] = ActSeeTchGui,
+ [ 3] = ActSeeSyl,
+ [ 4] = ActSeeBib,
+ [ 5] = ActSeeFAQ,
+ [ 6] = ActSeeCrsLnk,
+ [ 7] = ActSeeCrsTT,
},
[TabAss] = {
[ 0] = ActSeeAss,
diff --git a/swad_tab.c b/swad_tab.c
index e6da56d7..ce661e6f 100644
--- a/swad_tab.c
+++ b/swad_tab.c
@@ -192,7 +192,7 @@ static const char *Tab_GetIcon (Tab_Tab_t NumTab)
[TabIns] = "university",
[TabCtr] = "building",
[TabDeg] = "graduation-cap",
- [TabCrs] = "list-ol",
+ [TabCrs] = "chalkboard-teacher",
[TabAss] = "check",
[TabFil] = "folder-open",
[TabUsr] = "users",
diff --git a/swad_text.c b/swad_text.c
index 32bc9974..e2a82e50 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -15908,44 +15908,44 @@ const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES] =
,
[Inf_LECTURES] =
#if L==1 // ca
- "Programa teoria"
+ "Temari teoria"
#elif L==2 // de
"Studienplan (Vorlesungen)"
#elif L==3 // en
"Syllabus (lectures)"
#elif L==4 // es
- "Programa teoría"
+ "Temario teoría"
#elif L==5 // fr
"Plan théorie"
#elif L==6 // gn
- "Programa teoría" // Okoteve traducción
+ "Temario teoría" // Okoteve traducción
#elif L==7 // it
- "Programma teoria"
+ "Temi teoria"
#elif L==8 // pl
- "Syllabus (wyklady)"
+ "Sylabus (wyklady)"
#elif L==9 // pt
- "Programa teoria"
+ "Conteúdo teoria"
#endif
,
[Inf_PRACTICALS] =
#if L==1 // ca
- "Programa pràctiques"
+ "Temari pràctiques"
#elif L==2 // de
"Studienplan (Übungen)"
#elif L==3 // en
"Syllabus (practicals)"
#elif L==4 // es
- "Programa prácticas"
+ "Temario prácticas"
#elif L==5 // fr
- "Plan pratique"
+ "Temi pratique"
#elif L==6 // gn
- "Programa prácticas" // Okoteve traducción
+ "Temario prácticas" // Okoteve traducción
#elif L==7 // it
"Programma pratica"
#elif L==8 // pl
- "Syllabus (practicals)"
+ "Sylabus (practicals)"
#elif L==9 // pt
- "Programa prática"
+ "Conteúdo prática"
#endif
,
[Inf_BIBLIOGRAPHY] =
@@ -19223,7 +19223,28 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Informação"
#endif
,
- // 1: ActSeeTchGui
+ // 1: ActSeeScd
+#if L==1 // ca
+ "Programa"
+#elif L==2 // de
+ "Programm"
+#elif L==3 // en
+ "Schedule"
+#elif L==4 // es
+ "Programa"
+#elif L==5 // fr
+ "Programme"
+#elif L==6 // gn
+ "Programa" // Okoteve traducción
+#elif L==7 // it
+ "Programma"
+#elif L==8 // pl
+ "Program"
+#elif L==9 // pt
+ "Programa"
+#endif
+ ,
+ // 2: ActSeeTchGui
#if L==1 // ca
"Guia"
#elif L==2 // de
@@ -19244,7 +19265,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Guia"
#endif
,
- // 2: ActSeeSyl
+ // 3: ActSeeSyl
#if L==1 // ca
"Temari"
#elif L==2 // de
@@ -19258,14 +19279,14 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
#elif L==6 // gn
"Temario" // Okoteve traducción
#elif L==7 // it
- "Programma"
+ "Temi"
#elif L==8 // pl
"Sylabus"
#elif L==9 // pt
"Conteúdo"
#endif
,
- // 3: ActSeeBib
+ // 4: ActSeeBib
#if L==1 // ca
"Bibliografia"
#elif L==2 // de
@@ -19286,7 +19307,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Bibliografia"
#endif
,
- // 4: ActSeeFAQ
+ // 5: ActSeeFAQ
#if L==1 // ca
"FAQ" // Necessita traduccio
#elif L==2 // de
@@ -19307,7 +19328,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"FAQ"
#endif
,
- // 5: ActSeeCrsLnk
+ // 6: ActSeeCrsLnk
#if L==1 // ca
"Enllaços"
#elif L==2 // de
@@ -19328,7 +19349,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Ligações"
#endif
,
- // 6: ActSeeCrsTT
+ // 7: ActSeeCrsTT
#if L==1 // ca
"Horari"
#elif L==2 // de
@@ -19349,7 +19370,6 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Horário"
#endif
,
- NULL, // 7
NULL, // 8
NULL, // 9
NULL, // 10
@@ -21059,7 +21079,28 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Informação desta disciplina"
#endif
,
- // 1: ActSeeTchGui
+ // 1: ActSeeScd
+#if L==1 // ca
+ "Programació didàctica de l'assignatura"
+#elif L==2 // de
+ "Didaktische Programmierung des Kurses"
+#elif L==3 // en
+ "Didactic programming of the course"
+#elif L==4 // es
+ "Programación didáctica de la asignatura"
+#elif L==5 // fr
+ "Programmation didactique de la matière"
+#elif L==6 // gn
+ "Programación didáctica de la asignatura" // Okoteve traducción
+#elif L==7 // it
+ "Programmazione didattica della materia"
+#elif L==8 // pl
+ "Programowanie dydaktyczne przedmiotu"
+#elif L==9 // pt
+ "Programação didática da disciplina"
+#endif
+ ,
+ // 2: ActSeeTchGui
#if L==1 // ca
"Guia docent de l'assignatura"
#elif L==2 // de
@@ -21080,28 +21121,28 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Guia de ensino"
#endif
,
- // 2: ActSeeSyl
+ // 3: ActSeeSyl
#if L==1 // ca
- "Programa de l'assignatura"
+ "Temari de l'assignatura"
#elif L==2 // de
"Studienplan"
#elif L==3 // en
"Syllabus"
#elif L==4 // es
- "Programa de la asignatura"
+ "Temario de la asignatura"
#elif L==5 // fr
"Plan"
#elif L==6 // gn
- "Programa de la asignatura"// Okoteve traducción
+ "Temario de la asignatura" // Okoteve traducción
#elif L==7 // it
- "Programma"
+ "Temi"
#elif L==8 // pl
- "Syllabus"
+ "Sylabus"
#elif L==9 // pt
- "Programa"
+ "Conteúdo"
#endif
,
- // 3: ActSeeBib
+ // 4: ActSeeBib
#if L==1 // ca
"Bibliografia relacionada amb els continguts de l'assignatura"
#elif L==2 // de
@@ -21122,7 +21163,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Bibliografia"
#endif
,
- // 4: ActSeeFAQ
+ // 5: ActSeeFAQ
#if L==1 // ca
"FAQ (preguntes freqüentment formulades i les seves respostes)"
#elif L==2 // de
@@ -21143,7 +21184,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"FAQ"
#endif
,
- // 5: ActSeeCrsLnk
+ // 6: ActSeeCrsLnk
#if L==1 // ca
"Enllaços relacionats amb els continguts de l'assignatura"
#elif L==2 // de
@@ -21164,7 +21205,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Ligações"
#endif
,
- // 6: ActSeeCrsTT
+ // 7: ActSeeCrsTT
#if L==1 // ca
"Horari de classes de l'assignatura"
#elif L==2 // de
@@ -21185,7 +21226,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Horário"
#endif
,
- NULL, // 7
NULL, // 8
NULL, // 9
NULL, // 10
diff --git a/swad_text_action.c b/swad_text_action.c
index de9ba920..b5926e30 100644
--- a/swad_text_action.c
+++ b/swad_text_action.c
@@ -4764,6 +4764,27 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
"" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"" // Precisa de tradução
+#endif
+ ,
+ [ActSeeScd] =
+#if L==1 // ca
+ "" // Necessita traducció
+#elif L==2 // de
+ "" // Need Übersetzung
+#elif L==3 // en
+ "See educational schedule of the course"
+#elif L==4 // es
+ "Ver programación didáctica de la asignatura"
+#elif L==5 // fr
+ "" // Besoin de traduction
+#elif L==6 // gn
+ "" // Okoteve traducción
+#elif L==7 // it
+ "" // Bisogno di traduzione
+#elif L==8 // pl
+ "" // Potrzebujesz tlumaczenie
+#elif L==9 // pt
+ "" // Precisa de tradução
#endif
,
[ActSeeTchGui] =