diff --git a/css/swad21.71.css b/css/swad21.72.css
similarity index 95%
rename from css/swad21.71.css
rename to css/swad21.72.css
index 2ec26425..ea0036a4 100644
--- a/css/swad21.71.css
+++ b/css/swad21.72.css
@@ -813,7 +813,14 @@ a:hover /* Default ==> underlined */
vertical-align:middle;
padding:4px 0;
}
-
+/* Creating filter from RGB: https://codepen.io/sosuke/pen/Pjoqqp */
+.TAB_ICO_WHITE {} /* #000000 */
+.TAB_ICO_GREY {} /* #000000 */
+.TAB_ICO_PURPLE {} /* #000000 */
+.TAB_ICO_BLUE {} /* #000000 */
+.TAB_ICO_YELLOW {} /* #000000 */
+.TAB_ICO_PINK {} /* #000000 */
+/* .TAB_ICO_DARK {filter: invert(100%) sepia(0%) saturate(7483%) hue-rotate(109deg) brightness(106%) contrast(106%);} */ /* #ffffff */
.TAB_ICO_DARK {filter:invert(1);}
/*********************** Layout (fourth row, main zone) **********************/
@@ -953,7 +960,7 @@ a:hover /* Default ==> underlined */
}
#main_horizontal .MENU_OPT_OFF
{
- opacity:0.67;
+ opacity:0.6;
}
#main_horizontal .MENU_OPT_OFF:hover, #main_horizontal .MENU_OPT_ON
{
@@ -1016,7 +1023,7 @@ a:hover /* Default ==> underlined */
}
#main_vertical .MENU_OPT_OFF
{
- opacity:0.67;
+ opacity:0.6;
}
#main_vertical .MENU_OPT_OFF:hover, #main_vertical .MENU_OPT_ON
{
@@ -1076,7 +1083,7 @@ a:hover /* Default ==> underlined */
}
#main_vertical .MENU_OPT_OFF
{
- opacity:0.67;
+ opacity:0.6;
}
#main_vertical .MENU_OPT_OFF:hover, #main_vertical .MENU_OPT_ON
{
@@ -1122,8 +1129,15 @@ a:hover /* Default ==> underlined */
overflow:hidden;
}
}
-
-.MENU_ICO_DARK {filter:invert(1);}
+/* Creating filter from RGB: https://codepen.io/sosuke/pen/Pjoqqp */
+.MENU_ICO_WHITE {} /* #000000 */
+.MENU_ICO_GREY {} /* #000000 */
+.MENU_ICO_PURPLE {} /* #000000 */
+.MENU_ICO_BLUE {} /* #000000 */
+.MENU_ICO_YELLOW {} /* #000000 */
+.MENU_ICO_PINK {} /* #000000 */
+/* .MENU_ICO_DARK {filter: invert(100%) sepia(0%) saturate(7483%) hue-rotate(109deg) brightness(106%) contrast(106%);} */ /* #ffffff */
+.MENU_ICO_DARK {filter:invert(1);}
/********************************* Menu fonts ********************************/
@media only screen and (max-width: 800px)
@@ -1944,7 +1958,38 @@ a:hover img.CENTER_PHOTO_SHOW
margin-top:-2px;
vertical-align:middle;
}
-.CONTEXT_ICO_DARK {filter:invert(1);}
+/* Creating filter from RGB: https://codepen.io/sosuke/pen/Pjoqqp */
+.BLACK_ICO_WHITE {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
+.BLACK_ICO_GREY {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
+.BLACK_ICO_PURPLE {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
+.BLACK_ICO_BLUE {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
+.BLACK_ICO_YELLOW {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
+.BLACK_ICO_PINK {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
+.BLACK_ICO_DARK {filter: invert(92%) sepia(44%) saturate(2%) hue-rotate(176deg) brightness(110%) contrast(88%);} /* #f0f0f0 */
+
+.GREEN_ICO_WHITE {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
+.GREEN_ICO_GREY {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
+.GREEN_ICO_PURPLE {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
+.GREEN_ICO_BLUE {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
+.GREEN_ICO_YELLOW {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
+.GREEN_ICO_PINK {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
+.GREEN_ICO_DARK {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
+
+.RED_ICO_WHITE {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
+.RED_ICO_GREY {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
+.RED_ICO_PURPLE {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
+.RED_ICO_BLUE {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
+.RED_ICO_YELLOW {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
+.RED_ICO_PINK {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
+.RED_ICO_DARK {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
+
+.WHITE_ICO_WHITE {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
+.WHITE_ICO_GREY {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
+.WHITE_ICO_PURPLE {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
+.WHITE_ICO_BLUE {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
+.WHITE_ICO_YELLOW {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
+.WHITE_ICO_PINK {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
+.WHITE_ICO_DARK {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
/********************************** Frame ************************************/
.FRAME_INLINE
@@ -3787,12 +3832,19 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
{
text-align:left;
padding-top:5px;
- color:#202020;
font-size:13pt;
line-height:1.4;
overflow:hidden;
text-overflow:ellipsis;
}
+.Tml_TXT_WHITE {color:#202020;}
+.Tml_TXT_GREY {color:#202020;}
+.Tml_TXT_PURPLE {color:#202020;}
+.Tml_TXT_BLUE {color:#202020;}
+.Tml_TXT_YELLOW {color:#202020;}
+.Tml_TXT_PINK {color:#202020;}
+.Tml_TXT_DARK {color:#e0e0e0;}
+
.Tml_EXPAND_COM
{
text-align:center;
diff --git a/icon/500px-brands.svg b/icon/500px-brands.svg
index 592fc06e..4fd5a0f7 100644
--- a/icon/500px-brands.svg
+++ b/icon/500px-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/address-card.svg b/icon/address-card.svg
index adb5af88..762ca34a 100644
--- a/icon/address-card.svg
+++ b/icon/address-card.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/angle-down.svg b/icon/angle-down.svg
index 75b577be..7dcd108c 100644
--- a/icon/angle-down.svg
+++ b/icon/angle-down.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/angle-up.svg b/icon/angle-up.svg
index 0d83d461..47ffb0b8 100644
--- a/icon/angle-up.svg
+++ b/icon/angle-up.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/arrow-down.svg b/icon/arrow-down.svg
index 25fef867..c2cd941d 100644
--- a/icon/arrow-down.svg
+++ b/icon/arrow-down.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/arrow-left.svg b/icon/arrow-left.svg
index 4bcd6319..fd02abe2 100644
--- a/icon/arrow-left.svg
+++ b/icon/arrow-left.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/arrow-right.svg b/icon/arrow-right.svg
index c7e443d1..604b62c9 100644
--- a/icon/arrow-right.svg
+++ b/icon/arrow-right.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/arrow-up.svg b/icon/arrow-up.svg
index 130ac0b6..19808372 100644
--- a/icon/arrow-up.svg
+++ b/icon/arrow-up.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/at.svg b/icon/at.svg
index d1d0f775..8b72d6f8 100644
--- a/icon/at.svg
+++ b/icon/at.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/bell.svg b/icon/bell.svg
index 8e220b3d..7599563d 100644
--- a/icon/bell.svg
+++ b/icon/bell.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/bolt.svg b/icon/bolt.svg
index 14565c19..fbf9e378 100644
--- a/icon/bolt.svg
+++ b/icon/bolt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/book.svg b/icon/book.svg
index 3d521d72..df61bde6 100644
--- a/icon/book.svg
+++ b/icon/book.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/building.svg b/icon/building.svg
index 9b6eccbf..699bea74 100644
--- a/icon/building.svg
+++ b/icon/building.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/bullhorn.svg b/icon/bullhorn.svg
index 2acfb670..964f2042 100644
--- a/icon/bullhorn.svg
+++ b/icon/bullhorn.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/calendar-check.svg b/icon/calendar-check.svg
index 3f5511ef..ccff3ae7 100644
--- a/icon/calendar-check.svg
+++ b/icon/calendar-check.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/calendar-day.svg b/icon/calendar-day.svg
index af0b1ec7..e6ef132b 100644
--- a/icon/calendar-day.svg
+++ b/icon/calendar-day.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/calendar-minus.svg b/icon/calendar-minus.svg
index 39d681c6..2b00121d 100644
--- a/icon/calendar-minus.svg
+++ b/icon/calendar-minus.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/calendar-plus.svg b/icon/calendar-plus.svg
index ec4e5ab7..8a9e9ffd 100644
--- a/icon/calendar-plus.svg
+++ b/icon/calendar-plus.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/calendar.svg b/icon/calendar.svg
index 8037b088..1e6bd8ce 100644
--- a/icon/calendar.svg
+++ b/icon/calendar.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/camera.svg b/icon/camera.svg
index 3f8beb06..188960fa 100644
--- a/icon/camera.svg
+++ b/icon/camera.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/car.svg b/icon/car.svg
index e7fb376f..82c45ea9 100644
--- a/icon/car.svg
+++ b/icon/car.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/caret-down.svg b/icon/caret-down.svg
index ef0d414e..e1d07232 100644
--- a/icon/caret-down.svg
+++ b/icon/caret-down.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/caret-right.svg b/icon/caret-right.svg
index 36e278fa..b0dd8ade 100644
--- a/icon/caret-right.svg
+++ b/icon/caret-right.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/chalkboard-teacher.svg b/icon/chalkboard-teacher.svg
index d5e5923d..1b2b6a78 100644
--- a/icon/chalkboard-teacher.svg
+++ b/icon/chalkboard-teacher.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/chalkboard.svg b/icon/chalkboard.svg
index 7f87324d..af7dab5c 100644
--- a/icon/chalkboard.svg
+++ b/icon/chalkboard.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/chart-line.svg b/icon/chart-line.svg
index 9aa4e506..011f58ba 100644
--- a/icon/chart-line.svg
+++ b/icon/chart-line.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/chart-pie.svg b/icon/chart-pie.svg
index 2d2068b0..97f83f83 100644
--- a/icon/chart-pie.svg
+++ b/icon/chart-pie.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/check-circle-regular.svg b/icon/check-circle-regular.svg
index 771827df..5391e529 100644
--- a/icon/check-circle-regular.svg
+++ b/icon/check-circle-regular.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/check-circle.svg b/icon/check-circle.svg
index ae2c7530..6aaa9742 100644
--- a/icon/check-circle.svg
+++ b/icon/check-circle.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/check.svg b/icon/check.svg
index c79ff1ec..15d7ab5e 100644
--- a/icon/check.svg
+++ b/icon/check.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/child.svg b/icon/child.svg
index 0e31c909..afb7048a 100644
--- a/icon/child.svg
+++ b/icon/child.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/clipboard-list.svg b/icon/clipboard-list.svg
index 5c498854..bbf0d5b1 100644
--- a/icon/clipboard-list.svg
+++ b/icon/clipboard-list.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/clipboard.svg b/icon/clipboard.svg
index e56eb005..628d0b7e 100644
--- a/icon/clipboard.svg
+++ b/icon/clipboard.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/clock.svg b/icon/clock.svg
index 04a3a000..28a70adf 100644
--- a/icon/clock.svg
+++ b/icon/clock.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/cloud-sun.svg b/icon/cloud-sun.svg
index e6c50917..a1ce1e6f 100644
--- a/icon/cloud-sun.svg
+++ b/icon/cloud-sun.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/code.svg b/icon/code.svg
index 28dff5bf..db82c3c2 100644
--- a/icon/code.svg
+++ b/icon/code.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/coffee.svg b/icon/coffee.svg
index 10596b84..381011f6 100644
--- a/icon/coffee.svg
+++ b/icon/coffee.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/cog.svg b/icon/cog.svg
index 91e8b327..c85ffb29 100644
--- a/icon/cog.svg
+++ b/icon/cog.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/comment-dots.svg b/icon/comment-dots.svg
index fb4d0377..789c7405 100644
--- a/icon/comment-dots.svg
+++ b/icon/comment-dots.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/comment-regular.svg b/icon/comment-regular.svg
index 4a43c494..0bf45adb 100644
--- a/icon/comment-regular.svg
+++ b/icon/comment-regular.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/comments.svg b/icon/comments.svg
index 4982c233..72057020 100644
--- a/icon/comments.svg
+++ b/icon/comments.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/concierge-bell.svg b/icon/concierge-bell.svg
index 5029c078..50e921c7 100644
--- a/icon/concierge-bell.svg
+++ b/icon/concierge-bell.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/copy.svg b/icon/copy.svg
index aca8c187..df787bd8 100644
--- a/icon/copy.svg
+++ b/icon/copy.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/cut.svg b/icon/cut.svg
index 46e7a424..e638584b 100644
--- a/icon/cut.svg
+++ b/icon/cut.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/delicious-brands.svg b/icon/delicious-brands.svg
index f9f8a32f..613509d2 100644
--- a/icon/delicious-brands.svg
+++ b/icon/delicious-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/deviantart-brands.svg b/icon/deviantart-brands.svg
index 420e00de..29d52723 100644
--- a/icon/deviantart-brands.svg
+++ b/icon/deviantart-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/diaspora-brands.svg b/icon/diaspora-brands.svg
index 0e62820f..6e5b75fa 100644
--- a/icon/diaspora-brands.svg
+++ b/icon/diaspora-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/dolly.svg b/icon/dolly.svg
index 337ab679..6cd48b44 100644
--- a/icon/dolly.svg
+++ b/icon/dolly.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/door-closed.svg b/icon/door-closed.svg
index 63f37f43..019ffc7e 100644
--- a/icon/door-closed.svg
+++ b/icon/door-closed.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/door-open.svg b/icon/door-open.svg
index 123abc70..ce3e894b 100644
--- a/icon/door-open.svg
+++ b/icon/door-open.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/download.svg b/icon/download.svg
index 07fb52ac..0c6730bc 100644
--- a/icon/download.svg
+++ b/icon/download.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/dumbbell.svg b/icon/dumbbell.svg
index 7c337d6c..1d203022 100644
--- a/icon/dumbbell.svg
+++ b/icon/dumbbell.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/edit.svg b/icon/edit.svg
index b03aa426..e757323b 100644
--- a/icon/edit.svg
+++ b/icon/edit.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/ellipsis-h.svg b/icon/ellipsis-h.svg
index 552612d5..53c45a18 100644
--- a/icon/ellipsis-h.svg
+++ b/icon/ellipsis-h.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/ellipsis-v.svg b/icon/ellipsis-v.svg
index 1b9c018c..45f8e370 100644
--- a/icon/ellipsis-v.svg
+++ b/icon/ellipsis-v.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/envelope-open-text.svg b/icon/envelope-open-text.svg
index 6dfeec57..a9bf1adf 100644
--- a/icon/envelope-open-text.svg
+++ b/icon/envelope-open-text.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/envelope.svg b/icon/envelope.svg
index 4e7a6b0e..e0c6e57d 100644
--- a/icon/envelope.svg
+++ b/icon/envelope.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/exclamation-triangle.svg b/icon/exclamation-triangle.svg
index f36e768e..f316b164 100644
--- a/icon/exclamation-triangle.svg
+++ b/icon/exclamation-triangle.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/expand-arrows-alt.svg b/icon/expand-arrows-alt.svg
index a25c253c..4b6f239b 100644
--- a/icon/expand-arrows-alt.svg
+++ b/icon/expand-arrows-alt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/eye-slash.svg b/icon/eye-slash.svg
index c0e994d8..e19a3c59 100644
--- a/icon/eye-slash.svg
+++ b/icon/eye-slash.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/eye.svg b/icon/eye.svg
index 390e19b8..b7d90c46 100644
--- a/icon/eye.svg
+++ b/icon/eye.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/facebook-brands.svg b/icon/facebook-brands.svg
index e0e5de7e..649b4945 100644
--- a/icon/facebook-brands.svg
+++ b/icon/facebook-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/file-alt.svg b/icon/file-alt.svg
index 2872d6b5..c581e8fa 100644
--- a/icon/file-alt.svg
+++ b/icon/file-alt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/file-export.svg b/icon/file-export.svg
index 24bded7e..e9aad4e0 100644
--- a/icon/file-export.svg
+++ b/icon/file-export.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/file-import.svg b/icon/file-import.svg
index 280d9e93..1fca7b5c 100644
--- a/icon/file-import.svg
+++ b/icon/file-import.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/file-signature.svg b/icon/file-signature.svg
index bddd6af1..e117f818 100644
--- a/icon/file-signature.svg
+++ b/icon/file-signature.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/file.svg b/icon/file.svg
index c9fab53f..6da15047 100644
--- a/icon/file.svg
+++ b/icon/file.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/flag-checkered.svg b/icon/flag-checkered.svg
index 0428068c..f9ef3e54 100644
--- a/icon/flag-checkered.svg
+++ b/icon/flag-checkered.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/flag.svg b/icon/flag.svg
index 0b178750..80ad2dc2 100644
--- a/icon/flag.svg
+++ b/icon/flag.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/flask.svg b/icon/flask.svg
index 02b65fdf..69275dd1 100644
--- a/icon/flask.svg
+++ b/icon/flask.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/flickr-brands.svg b/icon/flickr-brands.svg
index de8bfab9..74796f55 100644
--- a/icon/flickr-brands.svg
+++ b/icon/flickr-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/folder-open.svg b/icon/folder-open.svg
index e0b7fecd..99d403c8 100644
--- a/icon/folder-open.svg
+++ b/icon/folder-open.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/folder.svg b/icon/folder.svg
new file mode 100644
index 00000000..0169c71b
--- /dev/null
+++ b/icon/folder.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icon/foursquare-brands.svg b/icon/foursquare-brands.svg
index cc6f0739..b36f8613 100644
--- a/icon/foursquare-brands.svg
+++ b/icon/foursquare-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/gamepad.svg b/icon/gamepad.svg
index 29750646..216acf53 100644
--- a/icon/gamepad.svg
+++ b/icon/gamepad.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/github-brands.svg b/icon/github-brands.svg
index 6975073d..7870c06d 100644
--- a/icon/github-brands.svg
+++ b/icon/github-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/globe-americas.svg b/icon/globe-americas.svg
new file mode 100644
index 00000000..0b3f0f3f
--- /dev/null
+++ b/icon/globe-americas.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icon/google-plus-brands.svg b/icon/google-plus-brands.svg
index f410a71e..a6423fe5 100644
--- a/icon/google-plus-brands.svg
+++ b/icon/google-plus-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/googlescholar-brands.svg b/icon/googlescholar-brands.svg
new file mode 100644
index 00000000..fbc21dcd
--- /dev/null
+++ b/icon/googlescholar-brands.svg
@@ -0,0 +1,66 @@
+
+
+
+
diff --git a/icon/graduation-cap.svg b/icon/graduation-cap.svg
index 2ff8174c..b2dc6b3b 100644
--- a/icon/graduation-cap.svg
+++ b/icon/graduation-cap.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/hand-point-up.svg b/icon/hand-point-up.svg
index 2f4dff1b..7fe8870f 100644
--- a/icon/hand-point-up.svg
+++ b/icon/hand-point-up.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/heart.svg b/icon/heart.svg
index 3ce9e0f3..b6b04b69 100644
--- a/icon/heart.svg
+++ b/icon/heart.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/house-user.svg b/icon/house-user.svg
new file mode 100644
index 00000000..6c08816a
--- /dev/null
+++ b/icon/house-user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/address-card.svg b/icon/iconset/awesome/address-card.svg
index adb5af88..762ca34a 100644
--- a/icon/iconset/awesome/address-card.svg
+++ b/icon/iconset/awesome/address-card.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/at.svg b/icon/iconset/awesome/at.svg
index d1d0f775..8b72d6f8 100644
--- a/icon/iconset/awesome/at.svg
+++ b/icon/iconset/awesome/at.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/bell.svg b/icon/iconset/awesome/bell.svg
index 8e220b3d..7599563d 100644
--- a/icon/iconset/awesome/bell.svg
+++ b/icon/iconset/awesome/bell.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/book-open.svg b/icon/iconset/awesome/book-open.svg
index 86a909c6..4b780a38 100644
--- a/icon/iconset/awesome/book-open.svg
+++ b/icon/iconset/awesome/book-open.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/book.svg b/icon/iconset/awesome/book.svg
index 3d521d72..df61bde6 100644
--- a/icon/iconset/awesome/book.svg
+++ b/icon/iconset/awesome/book.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/briefcase.svg b/icon/iconset/awesome/briefcase.svg
index 35fb7406..397314e3 100644
--- a/icon/iconset/awesome/briefcase.svg
+++ b/icon/iconset/awesome/briefcase.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/building.svg b/icon/iconset/awesome/building.svg
index 9b6eccbf..699bea74 100644
--- a/icon/iconset/awesome/building.svg
+++ b/icon/iconset/awesome/building.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/bullhorn.svg b/icon/iconset/awesome/bullhorn.svg
index 2acfb670..964f2042 100644
--- a/icon/iconset/awesome/bullhorn.svg
+++ b/icon/iconset/awesome/bullhorn.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/calendar-check.svg b/icon/iconset/awesome/calendar-check.svg
index 3f5511ef..ccff3ae7 100644
--- a/icon/iconset/awesome/calendar-check.svg
+++ b/icon/iconset/awesome/calendar-check.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/calendar-day.svg b/icon/iconset/awesome/calendar-day.svg
index af0b1ec7..e6ef132b 100644
--- a/icon/iconset/awesome/calendar-day.svg
+++ b/icon/iconset/awesome/calendar-day.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/calendar.svg b/icon/iconset/awesome/calendar.svg
index 8037b088..1e6bd8ce 100644
--- a/icon/iconset/awesome/calendar.svg
+++ b/icon/iconset/awesome/calendar.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/chalkboard-teacher.svg b/icon/iconset/awesome/chalkboard-teacher.svg
index d5e5923d..1b2b6a78 100644
--- a/icon/iconset/awesome/chalkboard-teacher.svg
+++ b/icon/iconset/awesome/chalkboard-teacher.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/chart-bar.svg b/icon/iconset/awesome/chart-bar.svg
index 30451e48..d4b6501f 100644
--- a/icon/iconset/awesome/chart-bar.svg
+++ b/icon/iconset/awesome/chart-bar.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/chart-line.svg b/icon/iconset/awesome/chart-line.svg
index 9aa4e506..011f58ba 100644
--- a/icon/iconset/awesome/chart-line.svg
+++ b/icon/iconset/awesome/chart-line.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/chart-pie.svg b/icon/iconset/awesome/chart-pie.svg
index 2d2068b0..97f83f83 100644
--- a/icon/iconset/awesome/chart-pie.svg
+++ b/icon/iconset/awesome/chart-pie.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/check.svg b/icon/iconset/awesome/check.svg
index c79ff1ec..15d7ab5e 100644
--- a/icon/iconset/awesome/check.svg
+++ b/icon/iconset/awesome/check.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/clipboard-list.svg b/icon/iconset/awesome/clipboard-list.svg
index 5c498854..bbf0d5b1 100644
--- a/icon/iconset/awesome/clipboard-list.svg
+++ b/icon/iconset/awesome/clipboard-list.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/clock.svg b/icon/iconset/awesome/clock.svg
index 04a3a000..28a70adf 100644
--- a/icon/iconset/awesome/clock.svg
+++ b/icon/iconset/awesome/clock.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/cog.svg b/icon/iconset/awesome/cog.svg
index 91e8b327..c85ffb29 100644
--- a/icon/iconset/awesome/cog.svg
+++ b/icon/iconset/awesome/cog.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/comment-dots.svg b/icon/iconset/awesome/comment-dots.svg
index fb4d0377..789c7405 100644
--- a/icon/iconset/awesome/comment-dots.svg
+++ b/icon/iconset/awesome/comment-dots.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/comment.svg b/icon/iconset/awesome/comment.svg
index 821f0f39..89277ed8 100644
--- a/icon/iconset/awesome/comment.svg
+++ b/icon/iconset/awesome/comment.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/comments.svg b/icon/iconset/awesome/comments.svg
index 4982c233..72057020 100644
--- a/icon/iconset/awesome/comments.svg
+++ b/icon/iconset/awesome/comments.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/edit.svg b/icon/iconset/awesome/edit.svg
index b03aa426..e757323b 100644
--- a/icon/iconset/awesome/edit.svg
+++ b/icon/iconset/awesome/edit.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/envelope.svg b/icon/iconset/awesome/envelope.svg
index 4e7a6b0e..e0c6e57d 100644
--- a/icon/iconset/awesome/envelope.svg
+++ b/icon/iconset/awesome/envelope.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/file-alt.svg b/icon/iconset/awesome/file-alt.svg
index 2872d6b5..c581e8fa 100644
--- a/icon/iconset/awesome/file-alt.svg
+++ b/icon/iconset/awesome/file-alt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/file-invoice.svg b/icon/iconset/awesome/file-invoice.svg
index 5f508280..9130211e 100644
--- a/icon/iconset/awesome/file-invoice.svg
+++ b/icon/iconset/awesome/file-invoice.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/file-signature.svg b/icon/iconset/awesome/file-signature.svg
index bddd6af1..e117f818 100644
--- a/icon/iconset/awesome/file-signature.svg
+++ b/icon/iconset/awesome/file-signature.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/folder-open.svg b/icon/iconset/awesome/folder-open.svg
index e0b7fecd..99d403c8 100644
--- a/icon/iconset/awesome/folder-open.svg
+++ b/icon/iconset/awesome/folder-open.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/gamepad.svg b/icon/iconset/awesome/gamepad.svg
index 29750646..216acf53 100644
--- a/icon/iconset/awesome/gamepad.svg
+++ b/icon/iconset/awesome/gamepad.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/globe-americas.svg b/icon/iconset/awesome/globe-americas.svg
new file mode 100644
index 00000000..0b3f0f3f
--- /dev/null
+++ b/icon/iconset/awesome/globe-americas.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/graduation-cap.svg b/icon/iconset/awesome/graduation-cap.svg
index 2ff8174c..b2dc6b3b 100644
--- a/icon/iconset/awesome/graduation-cap.svg
+++ b/icon/iconset/awesome/graduation-cap.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/hand-point-up.svg b/icon/iconset/awesome/hand-point-up.svg
index 2f4dff1b..7fe8870f 100644
--- a/icon/iconset/awesome/hand-point-up.svg
+++ b/icon/iconset/awesome/hand-point-up.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/heart.svg b/icon/iconset/awesome/heart.svg
index 3ce9e0f3..b6b04b69 100644
--- a/icon/iconset/awesome/heart.svg
+++ b/icon/iconset/awesome/heart.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/house-user.svg b/icon/iconset/awesome/house-user.svg
index 548a1723..6c08816a 100644
--- a/icon/iconset/awesome/house-user.svg
+++ b/icon/iconset/awesome/house-user.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/info.svg b/icon/iconset/awesome/info.svg
index 29237a49..8a310b3a 100644
--- a/icon/iconset/awesome/info.svg
+++ b/icon/iconset/awesome/info.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/link.svg b/icon/iconset/awesome/link.svg
index 4572d324..586901d4 100644
--- a/icon/iconset/awesome/link.svg
+++ b/icon/iconset/awesome/link.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/list-alt.svg b/icon/iconset/awesome/list-alt.svg
index ae233611..b747f80b 100644
--- a/icon/iconset/awesome/list-alt.svg
+++ b/icon/iconset/awesome/list-alt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/list-ol.svg b/icon/iconset/awesome/list-ol.svg
index 2823b83d..6a977bbc 100644
--- a/icon/iconset/awesome/list-ol.svg
+++ b/icon/iconset/awesome/list-ol.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/map-marker-alt.svg b/icon/iconset/awesome/map-marker-alt.svg
index afa8073c..906180af 100644
--- a/icon/iconset/awesome/map-marker-alt.svg
+++ b/icon/iconset/awesome/map-marker-alt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/poll.svg b/icon/iconset/awesome/poll.svg
index d8186b1c..d7721296 100644
--- a/icon/iconset/awesome/poll.svg
+++ b/icon/iconset/awesome/poll.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/power-off.svg b/icon/iconset/awesome/power-off.svg
index f8a3d08b..430ae5c3 100644
--- a/icon/iconset/awesome/power-off.svg
+++ b/icon/iconset/awesome/power-off.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/puzzle-piece.svg b/icon/iconset/awesome/puzzle-piece.svg
index 0ccc7149..19481c9b 100644
--- a/icon/iconset/awesome/puzzle-piece.svg
+++ b/icon/iconset/awesome/puzzle-piece.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/question.svg b/icon/iconset/awesome/question.svg
index 5ee602f2..2a3a5c66 100644
--- a/icon/iconset/awesome/question.svg
+++ b/icon/iconset/awesome/question.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/search.svg b/icon/iconset/awesome/search.svg
index 19f96575..f41bbdd4 100644
--- a/icon/iconset/awesome/search.svg
+++ b/icon/iconset/awesome/search.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/sitemap.svg b/icon/iconset/awesome/sitemap.svg
index e3822892..adf29e11 100644
--- a/icon/iconset/awesome/sitemap.svg
+++ b/icon/iconset/awesome/sitemap.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/sticky-note.svg b/icon/iconset/awesome/sticky-note.svg
index 5b9d7026..bc36d474 100644
--- a/icon/iconset/awesome/sticky-note.svg
+++ b/icon/iconset/awesome/sticky-note.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/tasks.svg b/icon/iconset/awesome/tasks.svg
index 542d0c55..d283aaa5 100644
--- a/icon/iconset/awesome/tasks.svg
+++ b/icon/iconset/awesome/tasks.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/tools.svg b/icon/iconset/awesome/tools.svg
index da79059f..5f5e5a3a 100644
--- a/icon/iconset/awesome/tools.svg
+++ b/icon/iconset/awesome/tools.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/university.svg b/icon/iconset/awesome/university.svg
index 54f17281..a0a54855 100644
--- a/icon/iconset/awesome/university.svg
+++ b/icon/iconset/awesome/university.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/user-circle.svg b/icon/iconset/awesome/user-circle.svg
index 093ee6ed..4cd124de 100644
--- a/icon/iconset/awesome/user-circle.svg
+++ b/icon/iconset/awesome/user-circle.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/user-clock.svg b/icon/iconset/awesome/user-clock.svg
index 29975058..13bfb980 100644
--- a/icon/iconset/awesome/user-clock.svg
+++ b/icon/iconset/awesome/user-clock.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/user-friends.svg b/icon/iconset/awesome/user-friends.svg
index 2bc9174b..1add45ec 100644
--- a/icon/iconset/awesome/user-friends.svg
+++ b/icon/iconset/awesome/user-friends.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/user-tie.svg b/icon/iconset/awesome/user-tie.svg
index 9ed91a3d..66dd0167 100644
--- a/icon/iconset/awesome/user-tie.svg
+++ b/icon/iconset/awesome/user-tie.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/user.svg b/icon/iconset/awesome/user.svg
index a52b1161..23737bfd 100644
--- a/icon/iconset/awesome/user.svg
+++ b/icon/iconset/awesome/user.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/awesome/users.svg b/icon/iconset/awesome/users.svg
index 682ed262..845df8fb 100644
--- a/icon/iconset/awesome/users.svg
+++ b/icon/iconset/awesome/users.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/nuvola/classroom.svg b/icon/iconset/nuvola/classroom.svg
deleted file mode 100644
index 8fa2256d..00000000
--- a/icon/iconset/nuvola/classroom.svg
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
diff --git a/icon/inbox.svg b/icon/inbox.svg
index 1f9fcc84..88a6908d 100644
--- a/icon/inbox.svg
+++ b/icon/inbox.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/info-circle.svg b/icon/info-circle.svg
index 19632d55..9e86172e 100644
--- a/icon/info-circle.svg
+++ b/icon/info-circle.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/instagram-brands.svg b/icon/instagram-brands.svg
index 639850ad..53ab3119 100644
--- a/icon/instagram-brands.svg
+++ b/icon/instagram-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/key.svg b/icon/key.svg
index d0b66b4f..5139e044 100644
--- a/icon/key.svg
+++ b/icon/key.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/landmark.svg b/icon/landmark.svg
index 27d6f36f..82651c15 100644
--- a/icon/landmark.svg
+++ b/icon/landmark.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/laptop-house.svg b/icon/laptop-house.svg
index 64800400..54c70302 100644
--- a/icon/laptop-house.svg
+++ b/icon/laptop-house.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/link.svg b/icon/link.svg
index 4572d324..586901d4 100644
--- a/icon/link.svg
+++ b/icon/link.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/linkedin-brands.svg b/icon/linkedin-brands.svg
index 454a7f43..437b8078 100644
--- a/icon/linkedin-brands.svg
+++ b/icon/linkedin-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/list-ol.svg b/icon/list-ol.svg
index 2823b83d..6a977bbc 100644
--- a/icon/list-ol.svg
+++ b/icon/list-ol.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/list.svg b/icon/list.svg
index 4dc87af7..40866cd0 100644
--- a/icon/list.svg
+++ b/icon/list.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/lock.svg b/icon/lock.svg
index 53579bfa..19dfa22e 100644
--- a/icon/lock.svg
+++ b/icon/lock.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/map-marker-alt.svg b/icon/map-marker-alt.svg
index afa8073c..906180af 100644
--- a/icon/map-marker-alt.svg
+++ b/icon/map-marker-alt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/map-signs.svg b/icon/map-signs.svg
index 22b107cd..3d77e618 100644
--- a/icon/map-signs.svg
+++ b/icon/map-signs.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/marker.svg b/icon/marker.svg
index dc0b8a91..622ad8e0 100644
--- a/icon/marker.svg
+++ b/icon/marker.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/mouse-pointer.svg b/icon/mouse-pointer.svg
index e7930925..72b6b3b4 100644
--- a/icon/mouse-pointer.svg
+++ b/icon/mouse-pointer.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/paperclip.svg b/icon/paperclip.svg
index ffe6407b..2ab86b80 100644
--- a/icon/paperclip.svg
+++ b/icon/paperclip.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/paste.svg b/icon/paste.svg
index 758dcc51..b7cc1a95 100644
--- a/icon/paste.svg
+++ b/icon/paste.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/pen.svg b/icon/pen.svg
index 01c7e253..f21736e7 100644
--- a/icon/pen.svg
+++ b/icon/pen.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/photo-video.svg b/icon/photo-video.svg
index d58c5853..be7f613b 100644
--- a/icon/photo-video.svg
+++ b/icon/photo-video.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/pinterest-brands.svg b/icon/pinterest-brands.svg
index 5821dab5..c445eb90 100644
--- a/icon/pinterest-brands.svg
+++ b/icon/pinterest-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/play.svg b/icon/play.svg
index b728d042..bcd81f7a 100644
--- a/icon/play.svg
+++ b/icon/play.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/plus.svg b/icon/plus.svg
index 062b65ff..bfa907d9 100644
--- a/icon/plus.svg
+++ b/icon/plus.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/poll.svg b/icon/poll.svg
index d8186b1c..d7721296 100644
--- a/icon/poll.svg
+++ b/icon/poll.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/print.svg b/icon/print.svg
index 89a7b9a5..df07bf98 100644
--- a/icon/print.svg
+++ b/icon/print.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/qrcode.svg b/icon/qrcode.svg
index b2f75ea0..18dca2af 100644
--- a/icon/qrcode.svg
+++ b/icon/qrcode.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/question.svg b/icon/question.svg
index 5ee602f2..2a3a5c66 100644
--- a/icon/question.svg
+++ b/icon/question.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/recycle.svg b/icon/recycle.svg
index fa0894ec..0834f878 100644
--- a/icon/recycle.svg
+++ b/icon/recycle.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/reply.svg b/icon/reply.svg
index 425d35e8..bc231e0b 100644
--- a/icon/reply.svg
+++ b/icon/reply.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/researchgate-brands.svg b/icon/researchgate-brands.svg
index 64048510..0229c980 100644
--- a/icon/researchgate-brands.svg
+++ b/icon/researchgate-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/rss-square.svg b/icon/rss-square.svg
index e4fb2793..883d3265 100644
--- a/icon/rss-square.svg
+++ b/icon/rss-square.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/search.svg b/icon/search.svg
index 19f96575..f41bbdd4 100644
--- a/icon/search.svg
+++ b/icon/search.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/share-alt.svg b/icon/share-alt.svg
index 89441b17..40bb2fae 100644
--- a/icon/share-alt.svg
+++ b/icon/share-alt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/share.svg b/icon/share.svg
index f10813fb..1a1e6100 100644
--- a/icon/share.svg
+++ b/icon/share.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/shield-alt.svg b/icon/shield-alt.svg
index 0872ef13..467149ab 100644
--- a/icon/shield-alt.svg
+++ b/icon/shield-alt.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/shopping-basket.svg b/icon/shopping-basket.svg
index cd0cfc09..0b1896e0 100644
--- a/icon/shopping-basket.svg
+++ b/icon/shopping-basket.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/shopping-cart.svg b/icon/shopping-cart.svg
index 12f756f4..e7c58dcb 100644
--- a/icon/shopping-cart.svg
+++ b/icon/shopping-cart.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/sign-in-alt.svg b/icon/sign-in-alt.svg
new file mode 100644
index 00000000..d68a1b3f
--- /dev/null
+++ b/icon/sign-in-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icon/sign-out-alt.svg b/icon/sign-out-alt.svg
new file mode 100644
index 00000000..5c9daff8
--- /dev/null
+++ b/icon/sign-out-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icon/sitemap.svg b/icon/sitemap.svg
index e3822892..adf29e11 100644
--- a/icon/sitemap.svg
+++ b/icon/sitemap.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/slideshare-brands.svg b/icon/slideshare-brands.svg
index 4f4d95c8..0848a71c 100644
--- a/icon/slideshare-brands.svg
+++ b/icon/slideshare-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/spell-check.svg b/icon/spell-check.svg
index a02d9efa..b14d80e7 100644
--- a/icon/spell-check.svg
+++ b/icon/spell-check.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/stack-overflow-brands.svg b/icon/stack-overflow-brands.svg
index 88bef379..dc7e4b59 100644
--- a/icon/stack-overflow-brands.svg
+++ b/icon/stack-overflow-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/stamp.svg b/icon/stamp.svg
index cb1c1535..87eccc4a 100644
--- a/icon/stamp.svg
+++ b/icon/stamp.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/star.svg b/icon/star.svg
index e5c388fb..ce744164 100644
--- a/icon/star.svg
+++ b/icon/star.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/sticky-note.svg b/icon/sticky-note.svg
index 5b9d7026..bc36d474 100644
--- a/icon/sticky-note.svg
+++ b/icon/sticky-note.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/table.svg b/icon/table.svg
index 18164fee..2750cff1 100644
--- a/icon/table.svg
+++ b/icon/table.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/tag.svg b/icon/tag.svg
new file mode 100644
index 00000000..18756501
--- /dev/null
+++ b/icon/tag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icon/tasks.svg b/icon/tasks.svg
index 542d0c55..d283aaa5 100644
--- a/icon/tasks.svg
+++ b/icon/tasks.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/th.svg b/icon/th.svg
index 2073ff01..f5f60a7e 100644
--- a/icon/th.svg
+++ b/icon/th.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/times.svg b/icon/times.svg
new file mode 100644
index 00000000..81446224
--- /dev/null
+++ b/icon/times.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icon/toilet.svg b/icon/toilet.svg
index 22c23e7d..e690fcb9 100644
--- a/icon/toilet.svg
+++ b/icon/toilet.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/trash.svg b/icon/trash.svg
index 1fdb216e..e40a23d1 100644
--- a/icon/trash.svg
+++ b/icon/trash.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/tree.svg b/icon/tree.svg
index 4678c6c6..561b8a76 100644
--- a/icon/tree.svg
+++ b/icon/tree.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/trophy.svg b/icon/trophy.svg
index b81fb068..543ed227 100644
--- a/icon/trophy.svg
+++ b/icon/trophy.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/tumblr-brands.svg b/icon/tumblr-brands.svg
index dd94af49..84ed9094 100644
--- a/icon/tumblr-brands.svg
+++ b/icon/tumblr-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/twitch-brands.svg b/icon/twitch-brands.svg
index ef45b1da..198dc64e 100644
--- a/icon/twitch-brands.svg
+++ b/icon/twitch-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/twitter-brands.svg b/icon/twitter-brands.svg
index a1a0cf30..9ac9e0b9 100644
--- a/icon/twitter-brands.svg
+++ b/icon/twitter-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/university.svg b/icon/university.svg
index 54f17281..a0a54855 100644
--- a/icon/university.svg
+++ b/icon/university.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/unlock.svg b/icon/unlock.svg
index 6984136a..f1abfb97 100644
--- a/icon/unlock.svg
+++ b/icon/unlock.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/user-check.svg b/icon/user-check.svg
index 561e275c..7c6a16fa 100644
--- a/icon/user-check.svg
+++ b/icon/user-check.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/user-circle.svg b/icon/user-circle.svg
index 093ee6ed..4cd124de 100644
--- a/icon/user-circle.svg
+++ b/icon/user-circle.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/user-cog.svg b/icon/user-cog.svg
index d56d352e..62ae6cfd 100644
--- a/icon/user-cog.svg
+++ b/icon/user-cog.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/user-friends.svg b/icon/user-friends.svg
index 2bc9174b..1add45ec 100644
--- a/icon/user-friends.svg
+++ b/icon/user-friends.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/user-plus.svg b/icon/user-plus.svg
index 0868a45d..1245a44b 100644
--- a/icon/user-plus.svg
+++ b/icon/user-plus.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/user-slash.svg b/icon/user-slash.svg
index fef89791..469fff4a 100644
--- a/icon/user-slash.svg
+++ b/icon/user-slash.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/user-tie.svg b/icon/user-tie.svg
index 9ed91a3d..66dd0167 100644
--- a/icon/user-tie.svg
+++ b/icon/user-tie.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/user.svg b/icon/user.svg
index a52b1161..23737bfd 100644
--- a/icon/user.svg
+++ b/icon/user.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/users-cog.svg b/icon/users-cog.svg
index dc61d692..99981d39 100644
--- a/icon/users-cog.svg
+++ b/icon/users-cog.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/users.svg b/icon/users.svg
index 682ed262..845df8fb 100644
--- a/icon/users.svg
+++ b/icon/users.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/utensils.svg b/icon/utensils.svg
index 40e8556a..e4ac9b9b 100644
--- a/icon/utensils.svg
+++ b/icon/utensils.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/volleyball-ball.svg b/icon/volleyball-ball.svg
index 255ab4fd..673b501d 100644
--- a/icon/volleyball-ball.svg
+++ b/icon/volleyball-ball.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/walking.svg b/icon/walking.svg
index 455f0214..2356dd37 100644
--- a/icon/walking.svg
+++ b/icon/walking.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/icon/youtube-brands.svg b/icon/youtube-brands.svg
index 4b41d721..f59312a0 100644
--- a/icon/youtube-brands.svg
+++ b/icon/youtube-brands.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/swad_ID.c b/swad_ID.c
index a1b4e107..c74a9da7 100644
--- a/swad_ID.c
+++ b/swad_ID.c
@@ -425,7 +425,7 @@ static void ID_PutLinkToConfirmID (struct UsrData *UsrDat,unsigned NumID,
/***** Put link *****/
HTM_BUTTON_SUBMIT_Begin (Txt_Confirm_ID,The_ClassFormLinkOutBoxBold[Gbl.Prefs.Theme],NULL);
- Ico_PutIconTextLink ("check.svg",Txt_Confirm_ID);
+ Ico_PutIconTextLink ("check.svg",Ico_BLACK,Txt_Confirm_ID);
HTM_BUTTON_End ();
/***** End form *****/
diff --git a/swad_QR.c b/swad_QR.c
index 80e956a5..db72b475 100644
--- a/swad_QR.c
+++ b/swad_QR.c
@@ -62,7 +62,7 @@ void QR_PutLinkToPrintQRCode (Act_Action_t Action,
/***** Link to print QR *****/
Lay_PutContextualLinkOnlyIcon (Action,NULL,
FuncParams,Args,
- "qrcode.svg",
+ "qrcode.svg",Ico_BLACK,
Txt_QR_code);
}
diff --git a/swad_account.c b/swad_account.c
index 2aad7065..81455447 100644
--- a/swad_account.c
+++ b/swad_account.c
@@ -109,7 +109,7 @@ void Acc_PutLinkToCreateAccount (void)
Lay_PutContextualLinkIconText (ActFrmMyAcc,NULL,
NULL,NULL,
- "at.svg",
+ "at.svg",Ico_BLACK,
Txt_Create_account);
}
@@ -571,7 +571,7 @@ void Acc_PutLinkToRemoveMyAccount (__attribute__((unused)) void *Args)
if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Me.UsrDat.UsrCod))
Lay_PutContextualLinkOnlyIcon (ActReqRemMyAcc,NULL,
Acc_PutParamsToRemoveMyAccount,Gbl.Usrs.Me.UsrDat.EnUsrCod,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Remove_account);
}
@@ -1129,12 +1129,12 @@ void Acc_PutIconToChangeUsrAccount (void)
if (Usr_ItsMe (Gbl.Record.UsrDat->UsrCod))
Lay_PutContextualLinkOnlyIcon (ActFrmMyAcc,NULL,
NULL,NULL,
- "at.svg",
+ "at.svg",Ico_BLACK,
Txt_Change_account);
else // Not me
if (Usr_ICanEditOtherUsr (Gbl.Record.UsrDat))
Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "at.svg",
+ "at.svg",Ico_BLACK,
Txt_Change_account);
}
diff --git a/swad_action.c b/swad_action.c
index c5e0a961..681838a9 100644
--- a/swad_action.c
+++ b/swad_action.c
@@ -168,7 +168,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActRefOldPubUsrTL ] = {1511,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,Tml_RefreshOldTimelineUsr ,NULL},
[ActRcvPstUsrTL ] = {1498,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Tml_Pst_ReceivePostUsr ,NULL},
- [ActRcvComUsrTL ] = {1504,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Tml_Com_ReceiveCommUsr ,NULL},
+ [ActRcvComUsrTL ] = {1504,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Tml_Com_ReceiveCommUsr ,NULL},
[ActShoHidComUsrTL ] = {1807,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,Tml_Com_ShowHiddenCommsUsr ,NULL},
[ActAllShaNotUsrTL ] = {1769,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,Tml_Sha_ShowAllSharersNoteUsr ,NULL},
[ActAllFavNotUsrTL ] = {1770,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,Tml_Fav_ShowAllFaversNoteUsr ,NULL},
@@ -208,7 +208,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
// TabSys ******************************************************************
// Actions in menu:
[ActSeeSysInf ] = {1818, 0,TabSys,ActSeeSysInf , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,SysCfg_ShowConfiguration ,"info" },
- [ActSeeCty ] = { 862, 1,TabSys,ActSeeCty , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_ListCountries1 ,Cty_ListCountries2 ,"globe" },
+ [ActSeeCty ] = { 862, 1,TabSys,ActSeeCty , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_ListCountries1 ,Cty_ListCountries2 ,"globe-americas" },
[ActSeePen ] = {1060, 2,TabSys,ActSeePen , 0, 0, 0, 0, 0, 0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Hie_SeePending ,"sitemap" },
[ActSeeLnk ] = { 748, 3,TabSys,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Lnk_SeeLinks ,"link" },
[ActLstPlg ] = { 777, 4,TabSys,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Plg_ListPlugins ,"puzzle-piece" },
@@ -223,7 +223,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActRenCty ] = { 866,-1,TabUnk,ActSeeCty , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_RenameCountry ,Cty_ContEditAfterChgCty ,NULL},
[ActChgCtyWWW ] = {1157,-1,TabUnk,ActSeeCty , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_ChangeCtyWWW ,Cty_ContEditAfterChgCty ,NULL},
- [ActSeeBan ] = {1137,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x3FF,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ban_ShowAllBanners ,NULL},
+ [ActSeeBan ] = {1137,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x3FF,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ban_ShowAllBanners ,NULL},
[ActEdiBan ] = {1138,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ban_EditBanners ,NULL},
[ActNewBan ] = {1139,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_ReceiveFormNewBanner ,Ban_ContEditAfterChgBan ,NULL},
[ActRemBan ] = {1140,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_RemoveBanner ,Ban_ContEditAfterChgBan ,NULL},
@@ -330,7 +330,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeCtrInf ] = {1151, 0,TabCtr,ActSeeCtrInf , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ShowConfiguration ,"info" },
[ActSeeDeg ] = {1011, 1,TabCtr,ActSeeDeg , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Deg_ShowDegsOfCurrentCtr ,"graduation-cap" },
[ActSeeBld ] = {1838, 2,TabCtr,ActSeeBld , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Bld_SeeBuildings ,"building" },
- [ActSeeRoo ] = {1744, 2,TabCtr,ActSeeRoo , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Roo_SeeRooms ,"classroom" },
+ [ActSeeRoo ] = {1744, 2,TabCtr,ActSeeRoo , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Roo_SeeRooms ,"chalkboard-teacher" },
// Actions not in menu:
[ActPrnCtrInf ] = {1152,-1,TabUnk,ActSeeCtrInf , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,CtrCfg_PrintConfiguration ,NULL},
@@ -351,9 +351,9 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeDegTyp ] = {1013,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,DegTyp_SeeDegreeTypesInDegTab ,NULL},
[ActEdiDegTyp ] = { 573,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,DegTyp_EditDegreeTypes ,NULL},
- [ActNewDegTyp ] = { 537,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DegTyp_ReceiveFormNewDegreeType ,DegTyp_ContEditAfterChgDegTyp ,NULL},
- [ActRemDegTyp ] = { 545,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DegTyp_RemoveDegreeType ,DegTyp_ContEditAfterChgDegTyp ,NULL},
- [ActRenDegTyp ] = { 538,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DegTyp_RenameDegreeType ,DegTyp_ContEditAfterChgDegTyp ,NULL},
+ [ActNewDegTyp ] = { 537,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DegTyp_ReceiveFormNewDegreeType,DegTyp_ContEditAfterChgDegTyp ,NULL},
+ [ActRemDegTyp ] = { 545,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DegTyp_RemoveDegreeType ,DegTyp_ContEditAfterChgDegTyp ,NULL},
+ [ActRenDegTyp ] = { 538,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x200, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,DegTyp_RenameDegreeType ,DegTyp_ContEditAfterChgDegTyp ,NULL},
[ActEdiDeg ] = { 536,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Deg_EditDegrees ,NULL},
[ActReqDeg ] = {1206,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_ReceiveFormReqDeg ,Deg_ContEditAfterChgDeg ,NULL},
@@ -669,8 +669,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActUnhCfe ] = {1621,-1,TabUnk,ActSeeAllExaAnn ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Cfe_UnhideCallForExam ,Cfe_ListCallsForExamsEdit ,NULL},
[ActEdiOneTstQst ] = { 105,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ShowFormEditOneQst ,NULL},
- [ActReqImpTstQst ] = {1007,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,QstImp_ShowFormImportQstsFromXML ,NULL},
- [ActImpTstQst ] = {1008,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,QstImp_ImportQstsFromXML ,NULL},
+ [ActReqImpTstQst ] = {1007,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,QstImp_ShowFormImpQstsFromXML ,NULL},
+ [ActImpTstQst ] = {1008,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,QstImp_ImpQstsFromXML ,NULL},
[ActLstTstQst ] = { 132,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ListQuestionsToEdit ,NULL},
[ActRcvTstQst ] = { 126,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Qst_ReceiveQst ,NULL},
[ActReqRemSevTstQst ] = {1835,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_RequestRemoveSelectedQsts ,NULL},
@@ -688,7 +688,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActReqAssTst ] = {1837,-1,TabUnk,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ReceiveTestDraft ,NULL},
[ActAssTst ] = { 98,-1,TabUnk,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_AssessTest ,NULL},
- [ActCfgTst ] = { 451,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TstCfg_CheckAndShowFormConfig ,NULL},
+ [ActCfgTst ] = { 451,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TstCfg_CheckAndShowFormConfig ,NULL},
[ActRcvCfgTst ] = { 454,-1,TabUnk,ActReqTst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,TstCfg_ReceiveConfigTst ,NULL},
[ActReqSeeMyTstRes ] = {1083,-1,TabUnk,ActReqTst ,0x208,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDates ,TstPrn_SelDatesToSeeMyPrints ,NULL},
@@ -726,8 +726,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActValSetQst ] = {1909,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_ValidateQst ,NULL},
[ActInvSetQst ] = {1910,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_InvalidateQst ,NULL},
- [ActReqNewExaSes ] = {1852,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestCreatOrEditSession,NULL},
- [ActEdiOneExaSes ] = {1902,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestCreatOrEditSession,NULL},
+ [ActReqNewExaSes ] = {1852,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestCreatOrEditSes ,NULL},
+ [ActEdiOneExaSes ] = {1902,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestCreatOrEditSes ,NULL},
[ActNewExaSes ] = {1853,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReceiveFormSession ,NULL},
[ActChgExaSes ] = {1903,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReceiveFormSession ,NULL},
[ActReqRemExaSes ] = {1850,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestRemoveSession ,NULL},
diff --git a/swad_agenda.c b/swad_agenda.c
index 31e96c56..8cc9f8fc 100644
--- a/swad_agenda.c
+++ b/swad_agenda.c
@@ -231,7 +231,7 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda
Agenda->SelectedOrder,
Agenda->CurrentPage,
-1L);
- Ico_PutSettingIconLink (Icon[PstFut],
+ Ico_PutSettingIconLink (Icon[PstFut],Ico_BLACK,
Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]);
Frm_EndForm ();
HTM_DIV_End ();
@@ -248,10 +248,14 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[2];
Agd_PrivatPublicEvents_t PrvPub;
- static const char *Icon[2] =
+ static const struct
{
- [Agd_PRIVAT_EVENTS] = "lock.svg",
- [Agd_PUBLIC_EVENTS] = "unlock.svg",
+ const char *Icon;
+ Ico_Color_t Color;
+ } Icon[2] =
+ {
+ [Agd_PRIVAT_EVENTS] = {"lock.svg" ,Ico_RED },
+ [Agd_PUBLIC_EVENTS] = {"unlock.svg",Ico_GREEN},
};
Set_BeginOneSettingSelector ();
@@ -270,7 +274,7 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
Agenda->SelectedOrder,
Agenda->CurrentPage,
-1L);
- Ico_PutSettingIconLink (Icon[PrvPub],
+ Ico_PutSettingIconLink (Icon[PrvPub].Icon,Icon[PrvPub].Color,
Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]);
Frm_EndForm ();
HTM_DIV_End ();
@@ -287,10 +291,14 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *Txt_AGENDA_HIDDEN_VISIBL_EVENTS[2];
Agd_HiddenVisiblEvents_t HidVis;
- static const char *Icon[2] =
+ static const struct
{
- [Agd_HIDDEN_EVENTS] = "eye-slash-red.svg",
- [Agd_VISIBL_EVENTS] = "eye-green.svg",
+ const char *Icon;
+ Ico_Color_t Color;
+ } Icon[2] =
+ {
+ [Agd_HIDDEN_EVENTS] = {"eye-slash.svg",Ico_RED },
+ [Agd_VISIBL_EVENTS] = {"eye.svg" ,Ico_GREEN},
};
Set_BeginOneSettingSelector ();
@@ -309,7 +317,7 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda
Agenda->SelectedOrder,
Agenda->CurrentPage,
-1L);
- Ico_PutSettingIconLink (Icon[HidVis],
+ Ico_PutSettingIconLink (Icon[HidVis].Icon,Icon[HidVis].Color,
Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]);
Frm_EndForm ();
HTM_DIV_End ();
@@ -726,7 +734,7 @@ static void Agd_PutIconsOtherPublicAgenda (void *EncryptedUsrCod)
&Gbl.Usrs.Other.UsrDat))
Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL,
Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod,
- "user.svg",
+ "user.svg",Ico_BLACK,
Txt_Another_user_s_profile);
/***** Button to view user's record card *****/
@@ -734,12 +742,12 @@ static void Agd_PutIconsOtherPublicAgenda (void *EncryptedUsrCod)
/* View student's records: common record card and course record card */
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL,
Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod,
- "address-card.svg",
+ "address-card.svg",Ico_BLACK,
Txt_View_record_for_this_course);
else if (Usr_CheckIfICanViewRecordTch (&Gbl.Usrs.Other.UsrDat))
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL,
Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod,
- "address-card.svg",
+ "address-card.svg",Ico_BLACK,
Txt_View_record_and_office_hours);
}
@@ -916,12 +924,12 @@ static void Agd_PutFormsToRemEditOneEvent (struct Agd_Agenda *Agenda,
if (AgdEvent->Public)
Lay_PutContextualLinkOnlyIcon (ActPrvEvtMyAgd,NULL,
Agd_PutCurrentParamsMyAgenda,Agenda,
- "unlock.svg",
+ "unlock.svg",Ico_GREEN,
Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private);
else
Lay_PutContextualLinkOnlyIcon (ActPubEvtMyAgd,NULL,
Agd_PutCurrentParamsMyAgenda,Agenda,
- "lock.svg",
+ "lock.svg",Ico_RED,
Txt_Event_private_click_to_make_it_visible_to_the_users_of_your_courses);
}
diff --git a/swad_alert.c b/swad_alert.c
index 4f43c369..e69a071f 100644
--- a/swad_alert.c
+++ b/swad_alert.c
@@ -408,7 +408,7 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
HTM_DIV_Begin ("class=\"ALERT_CLOSE\"");
HTM_A_Begin ("href=\"\" onclick=\"toggleDisplay('%s');return false;\" /",
IdAlert);
- Ico_PutIcon ("times.svg",Txt_Close,"ICO16x16");
+ Ico_PutIcon ("times.svg",Ico_BLACK,Txt_Close,"ICO16x16");
HTM_A_End ();
HTM_DIV_End ();
}
diff --git a/swad_announcement.c b/swad_announcement.c
index 324089f6..58d381fc 100644
--- a/swad_announcement.c
+++ b/swad_announcement.c
@@ -307,7 +307,7 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
/***** Put form to mark announcement as seen *****/
Lay_PutContextualLinkIconText (ActAnnSee,NULL,
Ann_PutParams,&AnnCod,
- "times.svg",
+ "times.svg",Ico_BLACK,
Txt_Do_not_show_again);
/* End container for foot */
diff --git a/swad_assignment.c b/swad_assignment.c
index bc5daffe..e2e4044a 100644
--- a/swad_assignment.c
+++ b/swad_assignment.c
@@ -578,7 +578,7 @@ static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,bool PrintView
sizeof (Gbl.FileBrowser.FilFolLnk.Name) - 1);
Gbl.FileBrowser.FilFolLnk.Type = Brw_IS_FOLDER;
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
- Ico_PutIconLink ("folder-open-yellow-plus.png",
+ Ico_PutIconLink ("folder-open-yellow-plus.png",Ico_BLACK,
Txt_Upload_file_or_create_folder);
Frm_EndForm ();
switch (Gbl.Usrs.Me.Role.Logged)
@@ -595,9 +595,12 @@ static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,bool PrintView
}
}
else // Sending of files disabled
- Ico_PutIconOff (ICanSendFiles ? "folder-open-green.svg" :
- "folder-red.svg",
- Txt_Folder);
+ {
+ if (ICanSendFiles)
+ Ico_PutIconOff ("folder-open.svg",Ico_GREEN,Txt_Folder);
+ else
+ Ico_PutIconOff ("folder.svg" ,Ico_RED ,Txt_Folder);
+ }
/***** Folder name *****/
HTM_Txt (Asg->Folder);
diff --git a/swad_banner.c b/swad_banner.c
index 51137794..31aee05a 100644
--- a/swad_banner.c
+++ b/swad_banner.c
@@ -392,7 +392,7 @@ void Ban_PutIconToViewBanners (void)
Lay_PutContextualLinkOnlyIcon (ActSeeBan,NULL,
NULL,NULL,
- "flag.svg",
+ "flag.svg",Ico_BLACK,
Txt_Banners);
}
diff --git a/swad_box.c b/swad_box.c
index 3afa38eb..9a0aeab5 100644
--- a/swad_box.c
+++ b/swad_box.c
@@ -170,7 +170,7 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title,
{
HTM_A_Begin ("href=\"%s%s\" target=\"_blank\"",Hlp_WIKI,HelpLink);
Ico_PutDivIcon ("CONTEXT_OPT HLP_HIGHLIGHT",
- "question.svg",Txt_Help);
+ "question.svg",Ico_BLACK,Txt_Help);
HTM_A_End ();
}
@@ -179,7 +179,7 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title,
HTM_A_Begin ("href=\"\" onclick=\"toggleDisplay('%s');return false;\"",
Gbl.Box.Ids[Gbl.Box.Nested]);
Ico_PutDivIcon ("CONTEXT_OPT HLP_HIGHLIGHT",
- "times.svg",Txt_Close);
+ "times.svg",Ico_BLACK,Txt_Close);
HTM_A_End ();
}
diff --git a/swad_browser.c b/swad_browser.c
index 196e5cf7..82441e35 100644
--- a/swad_browser.c
+++ b/swad_browser.c
@@ -4790,7 +4790,7 @@ static void Brw_PutIconPaste (unsigned Level)
}
else
/* Icon to paste inactive */
- Ico_PutIconOff ("paste.svg",Txt_Copy_not_allowed);
+ Ico_PutIconOff ("paste.svg",Ico_BLACK,Txt_Copy_not_allowed);
}
HTM_TD_End ();
@@ -4814,7 +4814,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,
switch (IconThisRow)
{
case Brw_ICON_TREE_NOTHING:
- Ico_PutIcon ("tr16x16.gif","","ICO20x20");
+ Ico_PutIcon ("tr16x16.gif",Ico_BLACK,"","ICO20x20");
break;
case Brw_ICON_TREE_EXPAND:
/***** Visible icon to expand folder *****/
@@ -4855,7 +4855,7 @@ static void Brw_IndentDependingOnLevel (unsigned Level)
i++)
{
HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd);
- Ico_PutIcon ("tr16x16.gif","","ICO20x20");
+ Ico_PutIcon ("tr16x16.gif",Ico_BLACK,"","ICO20x20");
HTM_TD_End ();
}
}
@@ -4884,7 +4884,7 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row
FileBrowserId,
JavaScriptFuncToExpandFolder); // JavaScript function to unhide rows
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
- Ico_PutIconLink ("caret-right.svg",Txt_Expand);
+ Ico_PutIconLink ("caret-right.svg",Ico_BLACK,Txt_Expand);
Frm_EndForm ();
/***** End container *****/
@@ -4918,7 +4918,7 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R
FileBrowserId,
JavaScriptFuncToContractFolder); // JavaScript function to hide rows
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
- Ico_PutIconLink ("caret-down.svg",Txt_Contract);
+ Ico_PutIconLink ("caret-down.svg",Ico_BLACK,Txt_Contract);
Frm_EndForm ();
/***** End container *****/
@@ -5058,6 +5058,7 @@ static void Brw_PutIconFolderWithoutPlus (const char *FileBrowserId,const char *
/***** Icon *****/
Ico_PutIcon (Open ? "folder-open-yellow.png" :
"folder-yellow.png",
+ Ico_BLACK,
Txt_Folder,"CONTEXT_OPT CONTEXT_ICO_16x16");
/***** End container *****/
@@ -5097,7 +5098,7 @@ static void Brw_PutIconNewFileOrFolder (void)
/***** Icon that indicates new file *****/
HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd);
- Ico_PutIcon ("star16x16.gif",Txt_New_FILE_OR_FOLDER,"ICO20x20");
+ Ico_PutIcon ("star16x16.gif",Ico_BLACK,Txt_New_FILE_OR_FOLDER,"ICO20x20");
HTM_TD_End ();
}
@@ -5152,7 +5153,7 @@ static void Brw_PutIconFile (Brw_FileType_t FileType,const char *FileName,
if (Input)
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"link.svg",Txt_Link,Class);
else
- Ico_PutIcon ("link.svg",Txt_Link,Class);
+ Ico_PutIcon ("link.svg",Ico_BLACK,Txt_Link,Class);
}
else // FileType == Brw_IS_FILE
{
@@ -5302,7 +5303,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
/* Put icon to make public/private file */
if (IsPublic)
- Ico_PutIconOff ("unlock.svg",
+ Ico_PutIconOff ("unlock.svg",Ico_GREEN,
Txt_Public_open_educational_resource_OER_for_everyone);
HTM_TD_End ();
@@ -5485,7 +5486,7 @@ static void Brw_WriteFileOrFolderPublisher (unsigned Level,long UsrCod)
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM,
false);
else
- Ico_PutIcon ("usr_bl.jpg",Txt_Unknown_or_without_photo,
+ Ico_PutIcon ("usr_bl.jpg",Ico_BLACK,Txt_Unknown_or_without_photo,
ClassPhoto[Gbl.Prefs.PhotoShape]);
HTM_TD_End ();
@@ -8517,7 +8518,7 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
/* Name of the file of marks, link end and form end */
HTM_TxtF (" %s ",FileNameToShow);
- Ico_PutIcon ("grades32x32.gif",Txt_Check_marks_in_the_file,"ICO40x40");
+ Ico_PutIcon ("grades32x32.gif",Ico_BLACK,Txt_Check_marks_in_the_file,"ICO40x40");
/* End link */
HTM_BUTTON_End ();
@@ -8535,7 +8536,7 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
Brw_PutIconFile (FileMetadata->FilFolLnk.Type,FileMetadata->FilFolLnk.Name,
"ICO40x40",false);
HTM_TxtF (" %s ",FileNameToShow);
- Ico_PutIcon ("download.svg",Title,"ICO40x40");
+ Ico_PutIcon ("download.svg",Ico_BLACK,Title,"ICO40x40");
HTM_A_End ();
}
}
@@ -10126,7 +10127,7 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
Str_FreeStrings ();
if (FileMetadata.FilFolLnk.Type == Brw_IS_FOLDER)
/* Icon with folder */
- Ico_PutIcon ("folder-yellow.png",Txt_Folder,"CONTEXT_ICO_16x16");
+ Ico_PutIcon ("folder-yellow.png",Ico_BLACK,Txt_Folder,"CONTEXT_ICO_16x16");
else
/* Icon with file type or link */
Brw_PutIconFile (FileMetadata.FilFolLnk.Type,FileMetadata.FilFolLnk.Name,
@@ -10154,7 +10155,7 @@ static void Brw_PutLinkToAskRemOldFiles (void)
Lay_PutContextualLinkIconText (ActReqRemOldBrf,NULL,
Brw_PutHiddenParamFullTreeIfSelected,&Gbl.FileBrowser.FullTree,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Remove_old_files);
}
diff --git a/swad_building.c b/swad_building.c
index d9d2fc22..216046f6 100644
--- a/swad_building.c
+++ b/swad_building.c
@@ -296,7 +296,7 @@ void Bld_PutIconToViewBuildings (void)
Lay_PutContextualLinkOnlyIcon (ActSeeBld,NULL,
NULL,NULL,
- "building.svg",
+ "building.svg",Ico_BLACK,
Txt_Buildings);
}
diff --git a/swad_calendar.c b/swad_calendar.c
index 88c566a7..077c24a7 100644
--- a/swad_calendar.c
+++ b/swad_calendar.c
@@ -133,9 +133,9 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
if (FuncParams) // Extra parameters depending on the action
FuncParams (Args);
snprintf (Icon,sizeof (Icon),"first-day-of-week-%u.png",FirstDayOfWeek);
- Ico_PutSettingIconLink (Icon,
+ Ico_PutSettingIconLink (Icon,Ico_BLACK,
Str_BuildString (Txt_First_day_of_the_week_X,
- Txt_DAYS_SMALL[FirstDayOfWeek]));
+ Txt_DAYS_SMALL[FirstDayOfWeek]));
Str_FreeStrings ();
Frm_EndForm ();
HTM_DIV_End ();
@@ -323,6 +323,6 @@ void Cal_PutIconToSeeCalendar (__attribute__((unused)) void *Args)
Lay_PutContextualLinkOnlyIcon (ActSeeCal,NULL,
NULL,NULL,
- "calendar.svg",
+ "calendar.svg",Ico_BLACK,
Txt_Calendar);
}
diff --git a/swad_center.c b/swad_center.c
index 27fcfc03..6fcf1151 100644
--- a/swad_center.c
+++ b/swad_center.c
@@ -504,7 +504,7 @@ void Ctr_PutIconToViewCenters (void)
Lay_PutContextualLinkOnlyIcon (ActSeeCtr,NULL,
NULL,NULL,
- "building.svg",
+ "building.svg",Ico_BLACK,
Txt_Centers);
}
@@ -1933,7 +1933,7 @@ static void Ctr_FormToGoToMap (struct Ctr_Center *Ctr)
Ctr_EditingCtr = Ctr; // Used to pass parameter with the code of the center
Lay_PutContextualLinkOnlyIcon (ActSeeCtrInf,NULL,
Ctr_PutParamGoToCtr,&Ctr_EditingCtr->CtrCod,
- "map-marker-alt.svg",
+ "map-marker-alt.svg",Ico_BLACK,
Txt_Map);
}
}
diff --git a/swad_center_config.c b/swad_center_config.c
index 8cea4914..cef18f33 100644
--- a/swad_center_config.c
+++ b/swad_center_config.c
@@ -290,7 +290,7 @@ static void CtrCfg_PutIconToChangePhoto (void)
PhotoExists = Fil_CheckIfPathExists (PathPhoto);
Lay_PutContextualLinkOnlyIcon (ActReqCtrPho,NULL,
NULL,NULL,
- "camera.svg",
+ "camera.svg",Ico_BLACK,
PhotoExists ? Txt_Change_photo :
Txt_Upload_photo);
}
diff --git a/swad_changelog.h b/swad_changelog.h
index 9c25ba3d..87d45d9e 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -602,10 +602,229 @@ 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.71 (2021-12-20)"
-#define CSS_FILE "swad21.71.css"
+#define Log_PLATFORM_VERSION "SWAD 21.72 (2021-12-21)"
+#define CSS_FILE "swad21.72.css"
#define JS_FILE "swad21.67.4.js"
/*
+ Version 21.72: Dec 21, 2021 Working on design of dark theme. (322560 lines)
+Copy the following icons to icon public directory:
+
+sudo cp icon/500px-brands.svg /var/www/html/swad/icon/
+sudo cp icon/address-card.svg /var/www/html/swad/icon/
+sudo cp icon/angle-down.svg /var/www/html/swad/icon/
+sudo cp icon/angle-up.svg /var/www/html/swad/icon/
+sudo cp icon/arrow-down.svg /var/www/html/swad/icon/
+sudo cp icon/arrow-left.svg /var/www/html/swad/icon/
+sudo cp icon/arrow-right.svg /var/www/html/swad/icon/
+sudo cp icon/arrow-up.svg /var/www/html/swad/icon/
+sudo cp icon/at.svg /var/www/html/swad/icon/
+sudo cp icon/bell.svg /var/www/html/swad/icon/
+sudo cp icon/bolt.svg /var/www/html/swad/icon/
+sudo cp icon/book.svg /var/www/html/swad/icon/
+sudo cp icon/building.svg /var/www/html/swad/icon/
+sudo cp icon/bullhorn.svg /var/www/html/swad/icon/
+sudo cp icon/calendar.svg /var/www/html/swad/icon/
+sudo cp icon/calendar-check.svg /var/www/html/swad/icon/
+sudo cp icon/calendar-day.svg /var/www/html/swad/icon/
+sudo cp icon/calendar-minus.svg /var/www/html/swad/icon/
+sudo cp icon/calendar-plus.svg /var/www/html/swad/icon/
+sudo cp icon/camera.svg /var/www/html/swad/icon/
+sudo cp icon/car.svg /var/www/html/swad/icon/
+sudo cp icon/caret-down.svg /var/www/html/swad/icon/
+sudo cp icon/caret-right.svg /var/www/html/swad/icon/
+sudo cp icon/chalkboard.svg /var/www/html/swad/icon/
+sudo cp icon/chalkboard-teacher.svg /var/www/html/swad/icon/
+sudo cp icon/chart-line.svg /var/www/html/swad/icon/
+sudo cp icon/chart-pie.svg /var/www/html/swad/icon/
+sudo cp icon/check.svg /var/www/html/swad/icon/
+sudo cp icon/check-circle.svg /var/www/html/swad/icon/
+sudo cp icon/check-circle-regular.svg /var/www/html/swad/icon/
+sudo cp icon/child.svg /var/www/html/swad/icon/
+sudo cp icon/clipboard.svg /var/www/html/swad/icon/
+sudo cp icon/clipboard-list.svg /var/www/html/swad/icon/
+sudo cp icon/clock.svg /var/www/html/swad/icon/
+sudo cp icon/cloud-sun.svg /var/www/html/swad/icon/
+sudo cp icon/code.svg /var/www/html/swad/icon/
+sudo cp icon/coffee.svg /var/www/html/swad/icon/
+sudo cp icon/cog.svg /var/www/html/swad/icon/
+sudo cp icon/comment-dots.svg /var/www/html/swad/icon/
+sudo cp icon/comment-regular.svg /var/www/html/swad/icon/
+sudo cp icon/comments.svg /var/www/html/swad/icon/
+sudo cp icon/concierge-bell.svg /var/www/html/swad/icon/
+sudo cp icon/copy.svg /var/www/html/swad/icon/
+sudo cp icon/cut.svg /var/www/html/swad/icon/
+sudo cp icon/delicious-brands.svg /var/www/html/swad/icon/
+sudo cp icon/deviantart-brands.svg /var/www/html/swad/icon/
+sudo cp icon/diaspora-brands.svg /var/www/html/swad/icon/
+sudo cp icon/dolly.svg /var/www/html/swad/icon/
+sudo cp icon/door-closed.svg /var/www/html/swad/icon/
+sudo cp icon/door-open.svg /var/www/html/swad/icon/
+sudo cp icon/download.svg /var/www/html/swad/icon/
+sudo cp icon/dumbbell.svg /var/www/html/swad/icon/
+sudo cp icon/edit.svg /var/www/html/swad/icon/
+sudo cp icon/ellipsis-h.svg /var/www/html/swad/icon/
+sudo cp icon/ellipsis-v.svg /var/www/html/swad/icon/
+sudo cp icon/envelope.svg /var/www/html/swad/icon/
+sudo cp icon/envelope-open-text.svg /var/www/html/swad/icon/
+sudo cp icon/exclamation-triangle.svg /var/www/html/swad/icon/
+sudo cp icon/expand-arrows-alt.svg /var/www/html/swad/icon/
+sudo cp icon/eye.svg /var/www/html/swad/icon/
+sudo cp icon/eye-slash.svg /var/www/html/swad/icon/
+sudo cp icon/facebook-brands.svg /var/www/html/swad/icon/
+sudo cp icon/file.svg /var/www/html/swad/icon/
+sudo cp icon/file-alt.svg /var/www/html/swad/icon/
+sudo cp icon/file-export.svg /var/www/html/swad/icon/
+sudo cp icon/file-import.svg /var/www/html/swad/icon/
+sudo cp icon/file-signature.svg /var/www/html/swad/icon/
+sudo cp icon/flag.svg /var/www/html/swad/icon/
+sudo cp icon/flag-checkered.svg /var/www/html/swad/icon/
+sudo cp icon/flask.svg /var/www/html/swad/icon/
+sudo cp icon/flickr-brands.svg /var/www/html/swad/icon/
+sudo cp icon/folder.svg /var/www/html/swad/icon/
+sudo cp icon/folder-open.svg /var/www/html/swad/icon/
+sudo cp icon/foursquare-brands.svg /var/www/html/swad/icon/
+sudo cp icon/gamepad.svg /var/www/html/swad/icon/
+sudo cp icon/github-brands.svg /var/www/html/swad/icon/
+sudo cp icon/globe-americas.svg /var/www/html/swad/icon/
+sudo cp icon/google-plus-brands.svg /var/www/html/swad/icon/
+sudo cp icon/googlescholar-brands.svg /var/www/html/swad/icon/
+sudo cp icon/graduation-cap.svg /var/www/html/swad/icon/
+sudo cp icon/hand-point-up.svg /var/www/html/swad/icon/
+sudo cp icon/heart.svg /var/www/html/swad/icon/
+sudo cp icon/house-user.svg /var/www/html/swad/icon/
+sudo cp icon/inbox.svg /var/www/html/swad/icon/
+sudo cp icon/info-circle.svg /var/www/html/swad/icon/
+sudo cp icon/instagram-brands.svg /var/www/html/swad/icon/
+sudo cp icon/key.svg /var/www/html/swad/icon/
+sudo cp icon/landmark.svg /var/www/html/swad/icon/
+sudo cp icon/laptop-house.svg /var/www/html/swad/icon/
+sudo cp icon/link.svg /var/www/html/swad/icon/
+sudo cp icon/linkedin-brands.svg /var/www/html/swad/icon/
+sudo cp icon/list.svg /var/www/html/swad/icon/
+sudo cp icon/list-ol.svg /var/www/html/swad/icon/
+sudo cp icon/lock.svg /var/www/html/swad/icon/
+sudo cp icon/map-marker-alt.svg /var/www/html/swad/icon/
+sudo cp icon/map-signs.svg /var/www/html/swad/icon/
+sudo cp icon/marker.svg /var/www/html/swad/icon/
+sudo cp icon/mouse-pointer.svg /var/www/html/swad/icon/
+sudo cp icon/paperclip.svg /var/www/html/swad/icon/
+sudo cp icon/paste.svg /var/www/html/swad/icon/
+sudo cp icon/pen.svg /var/www/html/swad/icon/
+sudo cp icon/photo-video.svg /var/www/html/swad/icon/
+sudo cp icon/pinterest-brands.svg /var/www/html/swad/icon/
+sudo cp icon/play.svg /var/www/html/swad/icon/
+sudo cp icon/plus.svg /var/www/html/swad/icon/
+sudo cp icon/poll.svg /var/www/html/swad/icon/
+sudo cp icon/print.svg /var/www/html/swad/icon/
+sudo cp icon/qrcode.svg /var/www/html/swad/icon/
+sudo cp icon/question.svg /var/www/html/swad/icon/
+sudo cp icon/recycle.svg /var/www/html/swad/icon/
+sudo cp icon/reply.svg /var/www/html/swad/icon/
+sudo cp icon/researchgate-brands.svg /var/www/html/swad/icon/
+sudo cp icon/rss-square.svg /var/www/html/swad/icon/
+sudo cp icon/search.svg /var/www/html/swad/icon/
+sudo cp icon/share.svg /var/www/html/swad/icon/
+sudo cp icon/share-alt.svg /var/www/html/swad/icon/
+sudo cp icon/shield-alt.svg /var/www/html/swad/icon/
+sudo cp icon/shopping-basket.svg /var/www/html/swad/icon/
+sudo cp icon/shopping-cart.svg /var/www/html/swad/icon/
+sudo cp icon/sign-in-alt.svg /var/www/html/swad/icon/
+sudo cp icon/sign-out-alt.svg /var/www/html/swad/icon/
+sudo cp icon/sitemap.svg /var/www/html/swad/icon/
+sudo cp icon/slideshare-brands.svg /var/www/html/swad/icon/
+sudo cp icon/spell-check.svg /var/www/html/swad/icon/
+sudo cp icon/stack-overflow-brands.svg /var/www/html/swad/icon/
+sudo cp icon/stamp.svg /var/www/html/swad/icon/
+sudo cp icon/star.svg /var/www/html/swad/icon/
+sudo cp icon/sticky-note.svg /var/www/html/swad/icon/
+sudo cp icon/table.svg /var/www/html/swad/icon/
+sudo cp icon/tag.svg /var/www/html/swad/icon/
+sudo cp icon/tasks.svg /var/www/html/swad/icon/
+sudo cp icon/th.svg /var/www/html/swad/icon/
+sudo cp icon/times.svg /var/www/html/swad/icon/
+sudo cp icon/toilet.svg /var/www/html/swad/icon/
+sudo cp icon/trash.svg /var/www/html/swad/icon/
+sudo cp icon/tree.svg /var/www/html/swad/icon/
+sudo cp icon/trophy.svg /var/www/html/swad/icon/
+sudo cp icon/tumblr-brands.svg /var/www/html/swad/icon/
+sudo cp icon/twitch-brands.svg /var/www/html/swad/icon/
+sudo cp icon/twitter-brands.svg /var/www/html/swad/icon/
+sudo cp icon/university.svg /var/www/html/swad/icon/
+sudo cp icon/unlock.svg /var/www/html/swad/icon/
+sudo cp icon/user.svg /var/www/html/swad/icon/
+sudo cp icon/user-check.svg /var/www/html/swad/icon/
+sudo cp icon/user-circle.svg /var/www/html/swad/icon/
+sudo cp icon/user-cog.svg /var/www/html/swad/icon/
+sudo cp icon/user-friends.svg /var/www/html/swad/icon/
+sudo cp icon/user-plus.svg /var/www/html/swad/icon/
+sudo cp icon/user-slash.svg /var/www/html/swad/icon/
+sudo cp icon/user-tie.svg /var/www/html/swad/icon/
+sudo cp icon/users.svg /var/www/html/swad/icon/
+sudo cp icon/users-cog.svg /var/www/html/swad/icon/
+sudo cp icon/utensils.svg /var/www/html/swad/icon/
+sudo cp icon/volleyball-ball.svg /var/www/html/swad/icon/
+sudo cp icon/walking.svg /var/www/html/swad/icon/
+sudo cp icon/wikipedia-w-brands.svg /var/www/html/swad/icon/
+sudo cp icon/youtube-brands.svg /var/www/html/swad/icon/
+
+sudo cp icon/iconset/awesome/address-card.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/at.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/bell.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/book.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/book-open.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/briefcase.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/building.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/bullhorn.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/calendar.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/calendar-check.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/calendar-day.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/chalkboard-teacher.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/chart-bar.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/chart-line.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/chart-pie.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/check.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/clipboard-list.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/clock.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/cog.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/comment.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/comment-dots.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/comments.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/edit.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/envelope.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/file-alt.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/file-invoice.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/file-signature.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/folder-open.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/gamepad.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/globe-americas.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/graduation-cap.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/hand-point-up.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/heart.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/house-user.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/info.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/link.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/list-alt.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/list-ol.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/map-marker-alt.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/poll.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/power-off.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/puzzle-piece.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/question.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/search.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/sitemap.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/sticky-note.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/tasks.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/tools.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/university.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/user.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/user-circle.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/user-clock.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/user-friends.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/user-tie.svg /var/www/html/swad/icon/iconset/awesome/
+sudo cp icon/iconset/awesome/users.svg /var/www/html/swad/icon/iconset/awesome/
+
+sudo cp icon/iconset/nuvola/chalkboard-teacher.svg /var/www/html/swad/icon/iconset/nuvola/
+
Version 21.71: Dec 20, 2021 Working on design of dark theme. (322132 lines)
Version 21.70.9: Dec 20, 2021 Fixed bug in user's IDs when listing match results. (321929 lines)
Version 21.70.8: Dec 20, 2021 Fixed bug showing calendar. (321927 lines)
diff --git a/swad_chat.c b/swad_chat.c
index 1fbf2f9e..4d804563 100644
--- a/swad_chat.c
+++ b/swad_chat.c
@@ -137,7 +137,7 @@ void Cht_ShowListOfAvailableChatRooms (void)
/***** Title of top level *****/
HTM_LI_Begin ("class=\"%s\"",The_ClassDat[Gbl.Prefs.Theme]);
- Ico_PutIcon ("comments.svg",Txt_Chat_rooms,"ICO16x16");
+ Ico_PutIcon ("comments.svg",Ico_BLACK,Txt_Chat_rooms,"ICO16x16");
HTM_TxtF (" %s",Txt_Chat_rooms);
HTM_LI_End ();
@@ -147,7 +147,7 @@ void Cht_ShowListOfAvailableChatRooms (void)
snprintf (ThisRoomFullName,sizeof (ThisRoomFullName),"%s (%s)",
Txt_General,Txt_SEX_PLURAL_abc[Usr_SEX_ALL]);
Cht_WriteLinkToChat1 ("GBL_USR",Txt_SEX_PLURAL_Abc[Usr_SEX_ALL],ThisRoomFullName,1,IsLastItemInLevel);
- Ico_PutIcon ("comments.svg",ThisRoomFullName,"ICO16x16");
+ Ico_PutIcon ("comments.svg",Ico_BLACK,ThisRoomFullName,"ICO16x16");
Cht_WriteLinkToChat2 ("GBL_USR",ThisRoomFullName);
IsLastItemInLevel[1] = !Gbl.Usrs.Me.MyDegs.Num;
@@ -158,7 +158,7 @@ void Cht_ShowListOfAvailableChatRooms (void)
Txt_General,Txt_ROLES_PLURAL_abc[Rol_STD][Usr_SEX_ALL]);
Cht_WriteLinkToChat1 ("GBL_STD",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],
ThisRoomFullName,1,IsLastItemInLevel);
- Ico_PutIcon ("comments.svg",ThisRoomFullName,"ICO16x16");
+ Ico_PutIcon ("comments.svg",Ico_BLACK,ThisRoomFullName,"ICO16x16");
Cht_WriteLinkToChat2 ("GBL_STD",ThisRoomFullName);
break;
case Rol_NET:
@@ -167,7 +167,7 @@ void Cht_ShowListOfAvailableChatRooms (void)
Txt_General,Txt_ROLES_PLURAL_abc[Rol_TCH][Usr_SEX_ALL]);
Cht_WriteLinkToChat1 ("GBL_TCH",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],
ThisRoomFullName,1,IsLastItemInLevel);
- Ico_PutIcon ("comments.svg",ThisRoomFullName,"ICO16x16");
+ Ico_PutIcon ("comments.svg",Ico_BLACK,ThisRoomFullName,"ICO16x16");
Cht_WriteLinkToChat2 ("GBL_TCH",ThisRoomFullName);
break;
default:
@@ -221,7 +221,7 @@ void Cht_ShowListOfAvailableChatRooms (void)
snprintf (ThisRoomFullName,sizeof (ThisRoomFullName),"%s %s",
Txt_Course,Crs.ShrtName);
Cht_WriteLinkToChat1 (ThisRoomCode,ThisRoomShrtName,ThisRoomFullName,2,IsLastItemInLevel);
- Ico_PutIcon ("chalkboard-teacher.svg",ThisRoomFullName,"ICO16x16");
+ Ico_PutIcon ("chalkboard-teacher.svg",Ico_BLACK,ThisRoomFullName,"ICO16x16");
Cht_WriteLinkToChat2 (ThisRoomCode,ThisRoomFullName);
}
}
diff --git a/swad_country.c b/swad_country.c
index f30c1d99..cd471b26 100644
--- a/swad_country.c
+++ b/swad_country.c
@@ -562,7 +562,7 @@ void Cty_DrawCountryMap (struct Cty_Countr *Cty,const char *Class)
free (URL);
}
else
- Ico_PutIcon ("tr16x16.gif",Cty->Name[Gbl.Prefs.Language],Class);
+ Ico_PutIcon ("tr16x16.gif",Ico_BLACK,Cty->Name[Gbl.Prefs.Language],Class);
}
/*****************************************************************************/
@@ -730,7 +730,7 @@ static void Cty_PutIconToViewCountries (void)
Lay_PutContextualLinkOnlyIcon (ActSeeCty,NULL,
NULL,NULL,
- "globe.svg",
+ "globe-americas.svg",Ico_BLACK,
Txt_Countries);
}
@@ -1908,7 +1908,7 @@ static void Cty_FormToGoToMap (struct Cty_Countr *Cty)
Cty_EditingCty = Cty; // Used to pass parameter with the code of the country
Lay_PutContextualLinkOnlyIcon (ActSeeCtyInf,NULL,
Cty_PutParamGoToCty,&Cty_EditingCty->CtyCod,
- "map-marker-alt.svg",
+ "map-marker-alt.svg",Ico_BLACK,
Txt_Map);
}
}
diff --git a/swad_country_config.c b/swad_country_config.c
index 4a97dc53..e76b4d82 100644
--- a/swad_country_config.c
+++ b/swad_country_config.c
@@ -380,7 +380,7 @@ static void CtyCfg_Platform (bool PrintView)
NULL);
Str_FreeStrings ();
}
- Ico_PutIcon ("swad64x64.png",Cfg_PLATFORM_FULL_NAME,"ICO20x20");
+ Ico_PutIcon ("swad64x64.png",Ico_BLACK,Cfg_PLATFORM_FULL_NAME,"ICO20x20");
HTM_NBSP ();
HTM_Txt (Cfg_PLATFORM_SHORT_NAME);
if (!PrintView)
diff --git a/swad_course.c b/swad_course.c
index 87c39bba..016880b4 100644
--- a/swad_course.c
+++ b/swad_course.c
@@ -197,7 +197,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
Highlight ? ClassHighlight :
ClassNormal,
NULL);
- Ico_PutIcon ("sitemap.svg",Txt_System,"ICO16x16");
+ Ico_PutIcon ("sitemap.svg",Ico_BLACK,Txt_System,"ICO16x16");
HTM_TxtF (" %s",Txt_System);
HTM_BUTTON_End ();
Frm_EndForm ();
@@ -371,7 +371,7 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
ClassNormal,
NULL);
Str_FreeStrings ();
- Ico_PutIcon ("chalkboard-teacher.svg",Hie.Crs.FullName,"ICO16x16");
+ Ico_PutIcon ("chalkboard-teacher.svg",Ico_BLACK,Hie.Crs.FullName,"ICO16x16");
HTM_TxtF (" %s",Hie.Crs.ShrtName);
HTM_BUTTON_End ();
Frm_EndForm ();
@@ -1116,7 +1116,7 @@ static void Crs_PutIconToViewCourses (void)
Lay_PutContextualLinkOnlyIcon (ActSeeCrs,NULL,
NULL,NULL,
- "chalkboard-teacher.svg",
+ "chalkboard-teacher.svg",Ico_BLACK,
Txt_Courses);
}
@@ -2215,7 +2215,7 @@ static void Crs_PutIconToSearchCourses (__attribute__((unused)) void *Args)
/***** Put form to search / select courses *****/
Lay_PutContextualLinkOnlyIcon (ActReqSch,NULL,
Sch_PutLinkToSearchCoursesParams,NULL,
- "search.svg",
+ "search.svg",Ico_BLACK,
Txt_Search_courses);
}
@@ -2253,7 +2253,7 @@ void Crs_PutIconToSelectMyCourses (__attribute__((unused)) void *Args)
/***** Put icon with link *****/
Lay_PutContextualLinkOnlyIcon (ActMyCrs,NULL,
NULL,NULL,
- "sitemap.svg",
+ "sitemap.svg",Ico_BLACK,
Txt_My_courses);
}
@@ -2555,7 +2555,7 @@ void Crs_PutLinkToRemoveOldCrss (void)
/***** Put form to remove old courses *****/
Lay_PutContextualLinkIconText (ActReqRemOldCrs,NULL,
NULL,NULL,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Eliminate_old_courses);
}
diff --git a/swad_course_config.c b/swad_course_config.c
index db08bc86..70a24026 100644
--- a/swad_course_config.c
+++ b/swad_course_config.c
@@ -456,6 +456,7 @@ static void CrsCfg_Indicators (void)
HTM_TxtF ("%s ",Title);
Ico_PutIcon ((IndicatorsCrs.NumIndicators == Ind_NUM_INDICATORS) ? "check-circle.svg" :
"exclamation-triangle.svg",
+ Ico_BLACK,
Title,"ICO16x16");
HTM_BUTTON_End ();
free (Title);
diff --git a/swad_degree.c b/swad_degree.c
index fcb55f93..5ead4740 100644
--- a/swad_degree.c
+++ b/swad_degree.c
@@ -971,7 +971,7 @@ void Deg_PutIconToViewDegrees (void)
Lay_PutContextualLinkOnlyIcon (ActSeeDeg,NULL,
NULL,NULL,
- "graduation-cap.svg",
+ "graduation-cap.svg",Ico_BLACK,
Txt_Degrees);
}
diff --git a/swad_degree_type.c b/swad_degree_type.c
index 6091ac0e..22755837 100644
--- a/swad_degree_type.c
+++ b/swad_degree_type.c
@@ -305,7 +305,7 @@ void DegTyp_PutIconToViewDegreeTypes (void)
Lay_PutContextualLinkOnlyIcon (ActSeeDegTyp,NULL,
NULL,NULL,
- "sitemap.svg",
+ "sitemap.svg",Ico_BLACK,
Txt_Types_of_degree);
}
diff --git a/swad_duplicate.c b/swad_duplicate.c
index 0b155e87..70e9dfe3 100644
--- a/swad_duplicate.c
+++ b/swad_duplicate.c
@@ -96,7 +96,7 @@ void Dup_PutLinkToListDupUsrs (void)
/***** Put form to remove old users *****/
Lay_PutContextualLinkIconText (ActLstDupUsr,NULL,
NULL,NULL,
- "user-friends.svg",
+ "user-friends.svg",Ico_BLACK,
Txt_Duplicate_USERS);
}
diff --git a/swad_enrolment.c b/swad_enrolment.c
index d9c184c9..2accf893 100644
--- a/swad_enrolment.c
+++ b/swad_enrolment.c
@@ -195,7 +195,7 @@ void Enr_PutLinkToRequestSignUp (void)
/***** Show the form *****/
Lay_PutContextualLinkIconText (ActReqSignUp,NULL,
NULL,NULL,
- "hand-point-up.svg",
+ "hand-point-up.svg",Ico_BLACK,
Txt_Sign_up);
}
@@ -646,7 +646,7 @@ void Enr_PutLinkToRemOldUsrs (void)
/***** Put form to remove old users *****/
Lay_PutContextualLinkIconText (ActReqRemOldUsr,NULL,
NULL,NULL,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Eliminate_old_users);
}
@@ -1683,7 +1683,7 @@ static void Enr_PutLinkToRemAllStdsThisCrs (void)
/***** Put form to remove all students in the current course *****/
Lay_PutContextualLinkIconText (ActReqRemAllStdCrs,NULL,
NULL,NULL,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Remove_all_students);
}
@@ -2361,7 +2361,7 @@ void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction)
Lay_PutContextualLinkIconText (NextAction,NULL,
NULL,NULL,
- "user-cog.svg",
+ "user-cog.svg",Ico_BLACK,
TitleText);
}
@@ -2389,7 +2389,7 @@ void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role)
Err_WrongRoleExit ();
Lay_PutContextualLinkIconText (WhatToDo[Role].NextAction,NULL,
NULL,NULL,
- "users-cog.svg",
+ "users-cog.svg",Ico_BLACK,
*WhatToDo[Role].Title);
}
diff --git a/swad_exam_result.c b/swad_exam_result.c
index b2f1c50d..7f9f97a5 100644
--- a/swad_exam_result.c
+++ b/swad_exam_result.c
@@ -1056,7 +1056,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod);
break;
}
- Ico_PutIconLink ("tasks.svg",Txt_Result);
+ Ico_PutIconLink ("tasks.svg",Ico_BLACK,Txt_Result);
Frm_EndForm ();
}
else
diff --git a/swad_exam_session.c b/swad_exam_session.c
index aa826809..3cd48c6b 100644
--- a/swad_exam_session.c
+++ b/swad_exam_session.c
@@ -649,7 +649,7 @@ static void ExaSes_ListOneOrMoreSessionsResultStd (struct Exa_Exams *Exams,
Exams->SesCod = Session->SesCod;
Lay_PutContextualLinkOnlyIcon (ActSeeMyExaResSes,ExaRes_RESULTS_BOX_ID,
ExaSes_PutParamsEdit,Exams,
- "trophy.svg",
+ "trophy.svg",Ico_BLACK,
Txt_Results);
}
else
@@ -671,26 +671,32 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
if (ExaSes_CheckIfICanEditThisSession (Session->UsrCod))
Lay_PutContextualLinkOnlyIcon (ActSeeUsrExaResSes,ExaRes_RESULTS_BOX_ID,
ExaSes_PutParamsEdit,Exams,
- "trophy.svg",
+ "trophy.svg",Ico_BLACK,
Txt_Results);
/***** Check if visibility of session results can be changed *****/
if (ExaSes_CheckIfVisibilityOfResultsCanBeChanged (Session))
{
/***** Put form to change visibility of session results *****/
- Lay_PutContextualLinkOnlyIcon (ActChgVisExaRes,NULL,
- ExaSes_PutParamsEdit,Exams,
- Session->ShowUsrResults ? "eye-green.svg" :
- "eye-slash-red.svg",
- Session->ShowUsrResults ? Txt_Visible_results :
- Txt_Hidden_results);
+ if (Session->ShowUsrResults)
+ Lay_PutContextualLinkOnlyIcon (ActChgVisExaRes,NULL,
+ ExaSes_PutParamsEdit,Exams,
+ "eye.svg",Ico_GREEN,
+ Txt_Visible_results);
+ else
+ Lay_PutContextualLinkOnlyIcon (ActChgVisExaRes,NULL,
+ ExaSes_PutParamsEdit,Exams,
+ "eye-slash.svg",Ico_RED,
+ Txt_Hidden_results);
}
else // Don't put form
+ {
/***** Put icon showing the current visibility of session results *****/
- Ico_PutIconOff (Session->ShowUsrResults ? "eye-green.svg" :
- "eye-slash-red.svg",
- Session->ShowUsrResults ? Txt_Visible_results :
- Txt_Hidden_results);
+ if (Session->ShowUsrResults)
+ Ico_PutIconOff ("eye.svg" ,Ico_GREEN,Txt_Visible_results);
+ else
+ Ico_PutIconOff ("eye-slash.svg",Ico_RED ,Txt_Hidden_results);
+ }
}
/*****************************************************************************/
@@ -1140,7 +1146,7 @@ void ExaSes_PutButtonNewSession (struct Exa_Exams *Exams,long ExaCod)
/****************** Request the creation of a new session ********************/
/*****************************************************************************/
-void ExaSes_RequestCreatOrEditSession (void)
+void ExaSes_RequestCreatOrEditSes (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
diff --git a/swad_exam_session.h b/swad_exam_session.h
index 0d277a29..0e194fae 100644
--- a/swad_exam_session.h
+++ b/swad_exam_session.h
@@ -72,7 +72,7 @@ void ExaSes_GetAndCheckParameters (struct Exa_Exams *Exams,
long ExaSes_GetParamSesCod (void);
void ExaSes_PutButtonNewSession (struct Exa_Exams *Exams,long ExaCod);
-void ExaSes_RequestCreatOrEditSession (void);
+void ExaSes_RequestCreatOrEditSes (void);
void ExaSes_ReceiveFormSession (void);
bool ExaSes_CheckIfICanAnswerThisSession (const struct Exa_Exam *Exam,
diff --git a/swad_exam_set.c b/swad_exam_set.c
index a7545ae5..8bd7ff3b 100644
--- a/swad_exam_set.c
+++ b/swad_exam_set.c
@@ -789,26 +789,28 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
{
Lay_PutContextualLinkOnlyIcon (ActUp_ExaSet,Anchor,
ExaSet_PutParamsOneSet,Exams,
- "arrow-up.svg",
+ "arrow-up.svg",Ico_BLACK,
Str_BuildString (Txt_Move_up_X,
StrSetInd));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,
+ Txt_Movement_not_allowed);
/* Put icon to move down the set */
if (ICanEditSets && Set.SetInd < MaxSetInd)
{
Lay_PutContextualLinkOnlyIcon (ActDwnExaSet,Anchor,
ExaSet_PutParamsOneSet,Exams,
- "arrow-down.svg",
+ "arrow-down.svg",Ico_BLACK,
Str_BuildString (Txt_Move_down_X,
StrSetInd));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,
+ Txt_Movement_not_allowed);
HTM_TD_End ();
@@ -949,20 +951,16 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams,
unsigned QstInd;
struct Qst_Question Question;
char *Anchor;
- static Act_Action_t NextAction[Qst_NUM_VALIDITIES] =
+ static const struct
{
- [Qst_INVALID_QUESTION] = ActValSetQst, // Validate question (set it as valid question)
- [Qst_VALID_QUESTION ] = ActInvSetQst, // Invalidated question (set it as canceled question)
- };
- static const char *Icon[Qst_NUM_VALIDITIES] =
+ Act_Action_t NextAction;
+ const char *Icon;
+ Ico_Color_t Color;
+ const char **Title;
+ } ValInv[Qst_NUM_VALIDITIES] =
{
- [Qst_INVALID_QUESTION] = "times-red.svg",
- [Qst_VALID_QUESTION ] = "check-green.svg",
- };
- static const char **Title[Qst_NUM_VALIDITIES] =
- {
- [Qst_INVALID_QUESTION] = &Txt_Invalid_question,
- [Qst_VALID_QUESTION ] = &Txt_Valid_question,
+ [Qst_INVALID_QUESTION] = {ActValSetQst,"times.svg",Ico_RED ,&Txt_Invalid_question}, // Validate question (set it as valid question)
+ [Qst_VALID_QUESTION ] = {ActInvSetQst,"check.svg",Ico_GREEN,&Txt_Valid_question }, // Invalidated question (set it as canceled question)
};
/***** Begin table *****/
@@ -1010,10 +1008,11 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams,
Ico_PutIconRemovalNotAllowed ();
/* Put icon to cancel the question */
- Lay_PutContextualLinkOnlyIcon (NextAction[Question.Validity],Anchor,
- ExaSet_PutParamsOneQst,Exams,
- Icon[Question.Validity],
- *Title[Question.Validity]);
+ Lay_PutContextualLinkOnlyIcon ( ValInv[Question.Validity].NextAction,Anchor,
+ ExaSet_PutParamsOneQst,Exams,
+ ValInv[Question.Validity].Icon,
+ ValInv[Question.Validity].Color,
+ *ValInv[Question.Validity].Title);
HTM_TD_End ();
diff --git a/swad_figure.c b/swad_figure.c
index 1ce63e38..79eb0ddb 100644
--- a/swad_figure.c
+++ b/swad_figure.c
@@ -302,7 +302,7 @@ void Fig_PutIconToShowFigure (Fig_FigureType_t FigureType)
Figures.FigureType = FigureType;
Lay_PutContextualLinkOnlyIcon (ActSeeUseGbl,NULL,
Fig_PutHiddenParamFigures,&Figures,
- "chart-pie.svg",
+ "chart-pie.svg",Ico_BLACK,
Txt_Show_statistic);
}
@@ -634,31 +634,31 @@ static void Fig_WriteHeadHierarchy (void)
HTM_TH_Empty (1);
HTM_TH_Begin (1,1,"RM");
- Ico_PutIcon ("globe.svg",Txt_Countries,"CONTEXT_ICO_x16");
+ Ico_PutIcon ("globe-americas.svg",Ico_BLACK,Txt_Countries,"CONTEXT_ICO_x16");
HTM_BR ();
HTM_Txt (Txt_Countries);
HTM_TH_End ();
HTM_TH_Begin (1,1,"RM");
- Ico_PutIcon ("university.svg",Txt_Institutions,"CONTEXT_ICO_x16");
+ Ico_PutIcon ("university.svg",Ico_BLACK,Txt_Institutions,"CONTEXT_ICO_x16");
HTM_BR ();
HTM_Txt (Txt_Institutions);
HTM_TH_End ();
HTM_TH_Begin (1,1,"RM");
- Ico_PutIcon ("building.svg",Txt_Centers,"CONTEXT_ICO_x16");
+ Ico_PutIcon ("building.svg",Ico_BLACK,Txt_Centers,"CONTEXT_ICO_x16");
HTM_BR ();
HTM_Txt (Txt_Centers);
HTM_TH_End ();
HTM_TH_Begin (1,1,"RM");
- Ico_PutIcon ("graduation-cap.svg",Txt_Degrees,"CONTEXT_ICO_x16");
+ Ico_PutIcon ("graduation-cap.svg",Ico_BLACK,Txt_Degrees,"CONTEXT_ICO_x16");
HTM_BR ();
HTM_Txt (Txt_Degrees);
HTM_TH_End ();
HTM_TH_Begin (1,1,"RM");
- Ico_PutIcon ("chalkboard-teacher.svg",Txt_Courses,"CONTEXT_ICO_x16");
+ Ico_PutIcon ("chalkboard-teacher.svg",Ico_BLACK,Txt_Courses,"CONTEXT_ICO_x16");
HTM_BR ();
HTM_Txt (Txt_Courses);
HTM_TH_End ();
@@ -2537,7 +2537,7 @@ static void Fig_GetAndShowForumStats (void)
/***** Write table heading *****/
HTM_TR_Begin (NULL);
HTM_TH_Begin (1,1,"BT");
- Ico_PutIcon ("comments.svg",Txt_Scope,"ICO16x16");
+ Ico_PutIcon ("comments.svg",Ico_BLACK,Txt_Scope,"ICO16x16");
HTM_TH_End ();
HTM_TH (1,1,Txt_Forums ,"LT");
HTM_TH (1,1,Txt_Number_of_forums ,"RT");
@@ -2704,7 +2704,7 @@ static void Fig_WriteForumTitleAndStats (For_ForumType_t ForumType,
if (asprintf (&ForumName,"%s%s",
ForumName1,ForumName2) < 0)
Err_NotEnoughMemoryExit ();
- Ico_PutIcon (Icon,ForumName,"ICO16x16");
+ Ico_PutIcon (Icon,Ico_BLACK,ForumName,"ICO16x16");
free (ForumName);
HTM_TD_End ();
@@ -3615,9 +3615,9 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void)
if (asprintf (&Icon,"first-day-of-week-%u.png",
FirstDayOfWeek) < 0)
Err_NotEnoughMemoryExit ();
- Ico_PutIcon (Icon,
+ Ico_PutIcon (Icon,Ico_BLACK,
Str_BuildString (Txt_First_day_of_the_week_X,
- Txt_DAYS_SMALL[FirstDayOfWeek]),
+ Txt_DAYS_SMALL[FirstDayOfWeek]),
"ICO40x40");
Str_FreeStrings ();
free (Icon);
@@ -3851,7 +3851,7 @@ static void Fig_GetAndShowNumUsrsPerMenu (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"CM\"");
- Ico_PutIcon (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu],"ICO40x40");
+ Ico_PutIcon (Mnu_MenuIcons[Menu],Ico_BLACK,Txt_MENU_NAMES[Menu],"ICO40x40");
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s RM\"",The_ClassDat[Gbl.Prefs.Theme]);
diff --git a/swad_follow.c b/swad_follow.c
index 5c979389..0ac85c51 100644
--- a/swad_follow.c
+++ b/swad_follow.c
@@ -98,7 +98,7 @@ void Fol_PutLinkWhoToFollow (void)
Lay_PutContextualLinkIconText (ActSeeSocPrf,NULL,
NULL,NULL,
- "user-plus.svg",
+ "user-plus.svg",Ico_BLACK,
Txt_Who_to_follow);
}
@@ -746,7 +746,7 @@ static void Fol_PutInactiveIconToFollowUnfollow (void)
{
/***** Inactive icon to follow/unfollow *****/
HTM_DIV_Begin ("class=\"FOLLOW_USR_ICO ICO_HIDDEN\"");
- Ico_PutIcon ("user.svg","","ICO16x16");
+ Ico_PutIcon ("user.svg",Ico_BLACK,"","ICO16x16");
HTM_DIV_End ();
}
diff --git a/swad_forum.c b/swad_forum.c
index 2d3de4e3..cfc9e12a 100644
--- a/swad_forum.c
+++ b/swad_forum.c
@@ -888,6 +888,7 @@ static void For_ShowAForumPost (struct For_Forums *Forums,
"MSG_TIT_BG");
Ico_PutIcon (NewPst ? "envelope.svg" :
"envelope-open-text.svg",
+ Ico_BLACK,
NewPst ? Txt_MSG_New :
Txt_MSG_Open,
"ICO16x16");
@@ -926,22 +927,25 @@ static void For_ShowAForumPost (struct For_Forums *Forums,
For_ActionsEnbPstFor[Forums->Forum.Type],
For_FORUM_POSTS_SECTION_ID);
For_PutParamsForum (Forums);
- Ico_PutIconLink (Enabled ? "eye-green.svg" :
- "eye-slash-red.svg",
- Str_BuildString (Enabled ? Txt_FORUM_Post_X_allowed_Click_to_ban_it :
- Txt_FORUM_Post_X_banned_Click_to_unban_it,
- PstNum));
+ if (Enabled)
+ Ico_PutIconLink ("eye.svg",Ico_GREEN,
+ Str_BuildString (Txt_FORUM_Post_X_allowed_Click_to_ban_it,PstNum));
+ else
+ Ico_PutIconLink ("eye-slash.svg",Ico_RED,
+ Str_BuildString (Txt_FORUM_Post_X_banned_Click_to_unban_it,PstNum));
Str_FreeStrings ();
Frm_EndForm ();
}
else
{
- Ico_PutIcon (Enabled ? "eye-green.svg" :
- "eye-slash-red.svg",
- Str_BuildString (Enabled ? Txt_FORUM_Post_X_allowed :
- Txt_FORUM_Post_X_banned,
- PstNum),
- "ICO_HIDDEN ICO16x16");
+ if (Enabled)
+ Ico_PutIcon ("eye.svg" ,Ico_GREEN,
+ Str_BuildString (Txt_FORUM_Post_X_allowed,PstNum),
+ "ICO_HIDDEN ICO16x16");
+ else
+ Ico_PutIcon ("eye-slash.svg",Ico_RED ,
+ Str_BuildString (Txt_FORUM_Post_X_banned ,PstNum),
+ "ICO_HIDDEN ICO16x16");
Str_FreeStrings ();
}
@@ -1694,7 +1698,7 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums,
{
/* Check if thread to move is yet in current forum */
if (For_DB_CheckIfThrBelongsToForum (Forums->Thread.ToMove,Forum))
- Ico_PutIcon ("paste.svg",Txt_Copy_not_allowed,"CONTEXT_OPT ICO_HIDDEN ICO16x16");
+ Ico_PutIcon ("paste.svg",Ico_BLACK,Txt_Copy_not_allowed,"CONTEXT_OPT ICO_HIDDEN ICO16x16");
else
{
Frm_BeginFormAnchor (For_ActionsPasThrFor[Forum->Type],
@@ -1730,11 +1734,11 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums,
{
case For_FORUM_GLOBAL_USRS:
case For_FORUM_GLOBAL_TCHS:
- Ico_PutIcon ("comments.svg",ForumName,"ICO16x16");
+ Ico_PutIcon ("comments.svg",Ico_BLACK,ForumName,"ICO16x16");
break;
case For_FORUM__SWAD__USRS:
case For_FORUM__SWAD__TCHS:
- Ico_PutIcon ("swad64x64.png",ForumName,"ICO16x16");
+ Ico_PutIcon ("swad64x64.png",Ico_BLACK,ForumName,"ICO16x16");
break;
case For_FORUM_INSTIT_USRS:
case For_FORUM_INSTIT_TCHS:
@@ -1750,7 +1754,7 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums,
break;
case For_FORUM_COURSE_USRS:
case For_FORUM_COURSE_TCHS:
- Ico_PutIcon ("chalkboard-teacher.svg",ForumName,"ICO16x16");
+ Ico_PutIcon ("chalkboard-teacher.svg",Ico_BLACK,ForumName,"ICO16x16");
break;
default:
break;
@@ -2199,6 +2203,7 @@ static void For_ListForumThrs (struct For_Forums *Forums,
/***** Put an icon with thread status *****/
Ico_PutIcon (Thr.NumUnreadPosts ? "envelope.svg" :
"envelope-open-text.svg",
+ Ico_BLACK,
Thr.NumUnreadPosts ? Txt_There_are_new_posts :
Txt_No_new_posts,
"ICO16x16");
diff --git a/swad_game.c b/swad_game.c
index 25efb6ef..97824de9 100644
--- a/swad_game.c
+++ b/swad_game.c
@@ -1768,26 +1768,28 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
{
Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,Anchor,
Gam_PutParamsOneQst,Games,
- "arrow-up.svg",
+ "arrow-up.svg",Ico_BLACK,
Str_BuildString (Txt_Move_up_X,
StrQstInd));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,
+ Txt_Movement_not_allowed);
/* Put icon to move down the question */
if (ICanEditQuestions && QstInd < MaxQstInd)
{
Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,Anchor,
Gam_PutParamsOneQst,Games,
- "arrow-down.svg",
+ "arrow-down.svg",Ico_BLACK,
Str_BuildString (Txt_Move_down_X,
StrQstInd));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,
+ Txt_Movement_not_allowed);
/* Put icon to edit the question */
if (ICanEditQuestions)
diff --git a/swad_group.c b/swad_group.c
index bdacac45..919fa38e 100644
--- a/swad_group.c
+++ b/swad_group.c
@@ -1313,7 +1313,7 @@ static void Grp_ListGroupTypesForEdition (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LM\" style=\"width:16px;\"");
- Ico_PutIcon ("clock.svg",
+ Ico_PutIcon ("clock.svg",Ico_BLACK,
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? Txt_The_groups_will_automatically_open :
Txt_The_groups_will_not_automatically_open,
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? "CONTEXT_ICO_16x16" :
@@ -1463,11 +1463,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
ActOpeGrp,
Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (&Grp->GrpCod);
- Ico_PutIconLink (Grp->Open ? "unlock.svg" :
- "lock.svg",
- Str_BuildString (Grp->Open ? Txt_Group_X_open_click_to_close_it :
- Txt_Group_X_closed_click_to_open_it,
- Grp->GrpName));
+ if (Grp->Open)
+ Ico_PutIconLink ("unlock.svg",Ico_GREEN,
+ Str_BuildString (Txt_Group_X_open_click_to_close_it,Grp->GrpName));
+ else
+ Ico_PutIconLink ("lock.svg",Ico_RED,
+ Str_BuildString (Txt_Group_X_closed_click_to_open_it,Grp->GrpName));
Str_FreeStrings ();
Frm_EndForm ();
HTM_TD_End ();
@@ -1478,11 +1479,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
ActEnaFilZonGrp,
Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (&Grp->GrpCod);
- Ico_PutIconLink (Grp->FileZones ? "folder-open-green.svg" :
- "folder-red.svg",
- Str_BuildString (Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them :
- Txt_File_zones_of_the_group_X_disabled_click_to_enable_them,
- Grp->GrpName));
+ if (Grp->FileZones)
+ Ico_PutIconLink ("folder-open.svg",Ico_GREEN,
+ Str_BuildString (Txt_File_zones_of_the_group_X_enabled_click_to_disable_them,Grp->GrpName));
+ else
+ Ico_PutIconLink ("folder.svg",Ico_RED,
+ Str_BuildString (Txt_File_zones_of_the_group_X_disabled_click_to_enable_them,Grp->GrpName));
Str_FreeStrings ();
Frm_EndForm ();
HTM_TD_End ();
@@ -2358,11 +2360,12 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
HTM_TD_Begin ("class=\"BM %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]);
else
HTM_TD_Begin ("class=\"BM\"");
- Ico_PutIconOff (Grp->Open ? "unlock.svg" :
- "lock.svg",
- Str_BuildString (Grp->Open ? Txt_Group_X_open :
- Txt_Group_X_closed,
- Grp->GrpName));
+ if (Grp->Open)
+ Ico_PutIconOff ("unlock.svg",Ico_GREEN,
+ Str_BuildString (Txt_Group_X_open ,Grp->GrpName));
+ else
+ Ico_PutIconOff ("lock.svg" ,Ico_RED ,
+ Str_BuildString (Txt_Group_X_closed,Grp->GrpName));
Str_FreeStrings ();
HTM_TD_End ();
@@ -2514,7 +2517,7 @@ static void Grp_PutFormToCreateGroupType (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\"");
- Ico_PutIcon ("clock.svg",
+ Ico_PutIcon ("clock.svg",Ico_BLACK,
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? Txt_The_groups_will_automatically_open :
Txt_The_groups_will_not_automatically_open,
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? "CONTEXT_ICO_16x16" :
@@ -2594,12 +2597,12 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
/***** Disabled icon to open group *****/
HTM_TD_Begin ("class=\"BM\"");
- Ico_PutIconOff ("lock.svg",Txt_Group_closed);
+ Ico_PutIconOff ("lock.svg",Ico_RED,Txt_Group_closed);
HTM_TD_End ();
/***** Disabled icon for archive zone *****/
HTM_TD_Begin ("class=\"BM\"");
- Ico_PutIconOff ("folder-red.svg",Txt_File_zones_disabled);
+ Ico_PutIconOff ("folder.svg",Ico_RED,Txt_File_zones_disabled);
HTM_TD_End ();
/***** Group type *****/
@@ -4415,7 +4418,7 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
FuncParams (Args);
Ico_PutSettingIconLink (WhichGrps == Grp_MY_GROUPS ? "mysitemap.png" :
"sitemap.svg",
- Txt_GROUP_WHICH_GROUPS[WhichGrps]);
+ Ico_BLACK,Txt_GROUP_WHICH_GROUPS[WhichGrps]);
Frm_EndForm ();
HTM_DIV_End ();
}
diff --git a/swad_hierarchy.c b/swad_hierarchy.c
index 50135701..fb70df03 100644
--- a/swad_hierarchy.c
+++ b/swad_hierarchy.c
@@ -409,7 +409,7 @@ void Hie_WriteBigNameCtyInsCtrDegCrs (void)
switch (Gbl.Hierarchy.Level)
{
case HieLvl_SYS: // System
- Ico_PutIcon ("swad64x64.png",Cfg_PLATFORM_FULL_NAME,"ICO40x40 TOP_LOGO");
+ Ico_PutIcon ("swad64x64.png",Ico_BLACK,Cfg_PLATFORM_FULL_NAME,"ICO40x40 TOP_LOGO");
break;
case HieLvl_CTY: // Country
Cty_DrawCountryMap (&Gbl.Hierarchy.Cty,"COUNTRY_MAP_TITLE");
@@ -668,7 +668,7 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
/***** Indent *****/
HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]);
Ico_PutIcon (NumRow == NumRows ? "subend20x20.gif" :
- "submid20x20.gif",
+ "submid20x20.gif",Ico_BLACK,
"","ICO25x25");
HTM_TD_End ();
@@ -683,7 +683,7 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
switch (Sco_GetScopeFromUnsignedStr (row[0]))
{
case HieLvl_SYS: // System
- Ico_PutIcon ("swad64x64.png",Txt_all_degrees,"ICO16x16");
+ Ico_PutIcon ("swad64x64.png",Ico_BLACK,Txt_all_degrees,"ICO16x16");
HTM_TxtF (" %s",Txt_all_degrees);
break;
case HieLvl_INS: // Institution
diff --git a/swad_holiday.c b/swad_holiday.c
index 12746d34..2b4770f3 100644
--- a/swad_holiday.c
+++ b/swad_holiday.c
@@ -253,7 +253,7 @@ void Hld_PutIconToSeeHlds (void)
Lay_PutContextualLinkOnlyIcon (ActSeeHld,NULL,
NULL,NULL,
- "calendar-day.svg",
+ "calendar-day.svg",Ico_BLACK,
Txt_Holidays);
}
diff --git a/swad_icon.c b/swad_icon.c
index 20eb2d5e..3f5cce07 100644
--- a/swad_icon.c
+++ b/swad_icon.c
@@ -135,7 +135,7 @@ void Ico_PutIconsToSelectIconSet (void)
snprintf (Icon,sizeof (Icon),"%s/%s/cog.svg",
Cfg_ICON_FOLDER_SETS,
Ico_IconSetId[IconSet]);
- Ico_PutSettingIconLink (Icon,Ico_IconSetNames[IconSet]);
+ Ico_PutSettingIconLink (Icon,Ico_BLACK,Ico_IconSetNames[IconSet]);
Frm_EndForm ();
HTM_DIV_End ();
}
@@ -220,7 +220,7 @@ void Ico_PutContextualIconToAdd (Act_Action_t NextAction,const char *Anchor,
{
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
FuncParams,Args,
- "plus.svg",
+ "plus.svg",Ico_BLACK,
Txt);
}
@@ -231,7 +231,7 @@ void Ico_PutContextualIconToRemove (Act_Action_t NextAction,const char *Anchor,
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
FuncParams,Args,
- "trash.svg",
+ "trash.svg",Ico_BLACK,
Txt_Remove);
}
@@ -242,7 +242,7 @@ void Ico_PutContextualIconToEdit (Act_Action_t NextAction,const char *Anchor,
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
FuncParams,Args,
- "pen.svg",
+ "pen.svg",Ico_BLACK,
Txt_Edit);
}
@@ -253,7 +253,7 @@ void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
- "folder-open.svg",
+ "folder-open.svg",Ico_BLACK,
Txt_Files);
}
@@ -264,7 +264,7 @@ void Ico_PutContextualIconToView (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
- "list.svg",
+ "list.svg",Ico_BLACK,
Txt_View);
}
@@ -275,7 +275,7 @@ void Ico_PutContextualIconToConfigure (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
- "cog.svg",
+ "cog.svg",Ico_BLACK,
Txt_Configure);
}
@@ -286,7 +286,7 @@ void Ico_PutContextualIconToHide (Act_Action_t NextAction,const char *Anchor,
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
FuncParams,Args,
- "eye-green.svg",
+ "eye.svg",Ico_GREEN,
Txt_Hide);
}
@@ -297,7 +297,7 @@ void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,const char *Anchor,
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
FuncParams,Args,
- "eye-slash-red.svg",
+ "eye-slash.svg",Ico_RED,
Txt_Show);
}
@@ -308,7 +308,7 @@ void Ico_PutContextualIconToPrint (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
- "print.svg",
+ "print.svg",Ico_BLACK,
Txt_Print);
}
@@ -319,7 +319,7 @@ void Ico_PutContextualIconToCopy (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
- "copy.svg",
+ "copy.svg",Ico_BLACK,
Txt_Copy);
}
@@ -330,7 +330,7 @@ void Ico_PutContextualIconToPaste (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
- "paste.svg",
+ "paste.svg",Ico_BLACK,
Txt_Paste);
}
@@ -343,7 +343,7 @@ void Ico_PutContextualIconToCreateInFolder (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
Open ? "folder-open-yellow-plus.png" :
- "folder-yellow-plus.png",
+ "folder-yellow-plus.png",Ico_BLACK,
Txt_Upload_file_or_create_folder);
}
@@ -354,7 +354,7 @@ void Ico_PutContextualIconToShowResults (Act_Action_t NextAction,const char *Anc
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
FuncParams,Args,
- "trophy.svg",
+ "trophy.svg",Ico_BLACK,
Txt_Results);
}
@@ -365,7 +365,7 @@ void Ico_PutContextualIconToShowAttendanceList (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
- "tasks.svg",
+ "tasks.svg",Ico_BLACK,
Txt_Attendance_list);
}
@@ -376,7 +376,7 @@ void Ico_PutContextualIconToZIP (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args,
- "download.svg",
+ "download.svg",Ico_BLACK,
Txt_Create_ZIP_file);
}
@@ -384,32 +384,21 @@ void Ico_PutContextualIconToZIP (Act_Action_t NextAction,
/**************** Show an icon inside a div (without text) *******************/
/*****************************************************************************/
-void Ico_PutDivIcon (const char *DivClass,const char *Icon,const char *Title)
+void Ico_PutDivIcon (const char *DivClass,const char *Icon,Ico_Color_t Color,const char *Title)
{
static const char *ClassIco[The_NUM_THEMES] =
{
- [The_THEME_WHITE ] = "CONTEXT_ICO_16x16",
- [The_THEME_GREY ] = "CONTEXT_ICO_16x16",
- [The_THEME_PURPLE] = "CONTEXT_ICO_16x16",
- [The_THEME_BLUE ] = "CONTEXT_ICO_16x16",
- [The_THEME_YELLOW] = "CONTEXT_ICO_16x16",
- [The_THEME_PINK ] = "CONTEXT_ICO_16x16",
- [The_THEME_DARK ] = "CONTEXT_ICO_16x16 CONTEXT_ICO_DARK",
+ [The_THEME_WHITE ] = "CONTEXT_ICO_16x16 BLACK_ICO_WHITE",
+ [The_THEME_GREY ] = "CONTEXT_ICO_16x16 BLACK_ICO_GREY",
+ [The_THEME_PURPLE] = "CONTEXT_ICO_16x16 BLACK_ICO_PURPLE",
+ [The_THEME_BLUE ] = "CONTEXT_ICO_16x16 BLACK_ICO_BLUE",
+ [The_THEME_YELLOW] = "CONTEXT_ICO_16x16 BLACK_ICO_YELLOW",
+ [The_THEME_PINK ] = "CONTEXT_ICO_16x16 BLACK_ICO_PINK",
+ [The_THEME_DARK ] = "CONTEXT_ICO_16x16 BLACK_ICO_DARK",
};
HTM_DIV_Begin ("class=\"%s\"",DivClass);
- Ico_PutIcon (Icon,Title,ClassIco[Gbl.Prefs.Theme]);
- HTM_DIV_End ();
- }
-
-/*****************************************************************************/
-/*********** Show an icon with a link inside a div (without text) ************/
-/*****************************************************************************/
-
-void Ico_PutDivIconLink (const char *DivClass,const char *Icon,const char *Title)
- {
- HTM_DIV_Begin ("class=\"%s\"",DivClass);
- Ico_PutIconLink (Icon,Title);
+ Ico_PutIcon (Icon,Color,Title,ClassIco[Gbl.Prefs.Theme]);
HTM_DIV_End ();
}
@@ -417,42 +406,66 @@ void Ico_PutDivIconLink (const char *DivClass,const char *Icon,const char *Title
/****************** Show an icon with a link (without text) ******************/
/*****************************************************************************/
-void Ico_PutIconLink (const char *Icon,const char *Title)
+void Ico_PutIconLink (const char *Icon,Ico_Color_t Color,const char *Title)
{
- static const char *ClassIco[The_NUM_THEMES] =
+ static const char *ClassIco[Ico_NUM_COLORS][The_NUM_THEMES] =
{
- [The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
- [The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
- [The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
- [The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
- [The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
- [The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
- [The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 CONTEXT_ICO_DARK",
+ [Ico_BLACK][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_WHITE",
+ [Ico_BLACK][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_GREY",
+ [Ico_BLACK][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_PURPLE",
+ [Ico_BLACK][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_BLUE",
+ [Ico_BLACK][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_YELLOW",
+ [Ico_BLACK][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_PINK",
+ [Ico_BLACK][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_DARK",
+
+ [Ico_GREEN][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_WHITE",
+ [Ico_GREEN][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_GREY",
+ [Ico_GREEN][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_PURPLE",
+ [Ico_GREEN][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_BLUE",
+ [Ico_GREEN][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_YELLOW",
+ [Ico_GREEN][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_PINK",
+ [Ico_GREEN][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_DARK",
+
+ [Ico_RED ][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_WHITE",
+ [Ico_RED ][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_GREY",
+ [Ico_RED ][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_PURPLE",
+ [Ico_RED ][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_BLUE",
+ [Ico_RED ][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_YELLOW",
+ [Ico_RED ][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_PINK",
+ [Ico_RED ][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_DARK",
+
+ [Ico_WHITE][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_WHITE",
+ [Ico_WHITE][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_GREY",
+ [Ico_WHITE][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_PURPLE",
+ [Ico_WHITE][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_BLUE",
+ [Ico_WHITE][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_YELLOW",
+ [Ico_WHITE][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_PINK",
+ [Ico_WHITE][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_DARK",
};
- HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,ClassIco[Gbl.Prefs.Theme]);
+ HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,ClassIco[Color][Gbl.Prefs.Theme]);
}
/*****************************************************************************/
/******************* Show an icon with a link (with text) ********************/
/*****************************************************************************/
-void Ico_PutIconTextLink (const char *Icon,const char *Text)
+void Ico_PutIconTextLink (const char *Icon,Ico_Color_t Color,const char *Text)
{
static const char *ClassIco[The_NUM_THEMES] =
{
- [The_THEME_WHITE ] = "CONTEXT_ICO_x16",
- [The_THEME_GREY ] = "CONTEXT_ICO_x16",
- [The_THEME_PURPLE] = "CONTEXT_ICO_x16",
- [The_THEME_BLUE ] = "CONTEXT_ICO_x16",
- [The_THEME_YELLOW] = "CONTEXT_ICO_x16",
- [The_THEME_PINK ] = "CONTEXT_ICO_x16",
- [The_THEME_DARK ] = "CONTEXT_ICO_x16 CONTEXT_ICO_DARK",
+ [The_THEME_WHITE ] = "CONTEXT_ICO_x16 BLACK_ICO_WHITE",
+ [The_THEME_GREY ] = "CONTEXT_ICO_x16 BLACK_ICO_GREY",
+ [The_THEME_PURPLE] = "CONTEXT_ICO_x16 BLACK_ICO_PURPLE",
+ [The_THEME_BLUE ] = "CONTEXT_ICO_x16 BLACK_ICO_BLUE",
+ [The_THEME_YELLOW] = "CONTEXT_ICO_x16 BLACK_ICO_YELLOW",
+ [The_THEME_PINK ] = "CONTEXT_ICO_x16 BLACK_ICO_PINK",
+ [The_THEME_DARK ] = "CONTEXT_ICO_x16 BLACK_ICO_DARK",
};
/***** Print icon and optional text *****/
HTM_DIV_Begin ("class=\"CONTEXT_OPT ICO_HIGHLIGHT\"");
- Ico_PutIcon (Icon,Text,ClassIco[Gbl.Prefs.Theme]);
+ Ico_PutIcon (Icon,Color,Text,ClassIco[Gbl.Prefs.Theme]);
HTM_TxtF (" %s",Text);
HTM_DIV_End ();
}
@@ -461,33 +474,103 @@ void Ico_PutIconTextLink (const char *Icon,const char *Text)
/**************************** Show a setting selector *************************/
/*****************************************************************************/
-void Ico_PutSettingIconLink (const char *Icon,const char *Title)
+void Ico_PutSettingIconLink (const char *Icon,Ico_Color_t Color,const char *Title)
{
- HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,"ICO_HIGHLIGHT ICOx20");
+ static const char *ClassIco[Ico_NUM_COLORS][The_NUM_THEMES] =
+ {
+ [Ico_BLACK][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_WHITE",
+ [Ico_BLACK][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_GREY",
+ [Ico_BLACK][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_PURPLE",
+ [Ico_BLACK][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_BLUE",
+ [Ico_BLACK][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_YELLOW",
+ [Ico_BLACK][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_PINK",
+ [Ico_BLACK][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_DARK",
+
+ [Ico_GREEN][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_WHITE",
+ [Ico_GREEN][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_GREY",
+ [Ico_GREEN][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_PURPLE",
+ [Ico_GREEN][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_BLUE",
+ [Ico_GREEN][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_YELLOW",
+ [Ico_GREEN][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_PINK",
+ [Ico_GREEN][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_DARK",
+
+ [Ico_RED ][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_WHITE",
+ [Ico_RED ][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_GREY",
+ [Ico_RED ][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 RED_ICO_PURPLE",
+ [Ico_RED ][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_BLUE",
+ [Ico_RED ][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 RED_ICO_YELLOW",
+ [Ico_RED ][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_PINK",
+ [Ico_RED ][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_DARK",
+
+ [Ico_WHITE][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_WHITE",
+ [Ico_WHITE][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_GREY",
+ [Ico_WHITE][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_PURPLE",
+ [Ico_WHITE][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_BLUE",
+ [Ico_WHITE][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_YELLOW",
+ [Ico_WHITE][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_PINK",
+ [Ico_WHITE][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_DARK",
+ };
+
+ HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,ClassIco[Color][Gbl.Prefs.Theme]);
}
/*****************************************************************************/
/********************* Put an active or disabled icon ************************/
/*****************************************************************************/
-void Ico_PutIconOn (const char *Icon,const char *Title)
+void Ico_PutIconOn (const char *Icon,Ico_Color_t Color,const char *Title)
{
- Ico_PutIcon (Icon,Title,"CONTEXT_OPT CONTEXT_ICO_16x16");
+ Ico_PutIcon (Icon,Color,Title,"CONTEXT_OPT CONTEXT_ICO_16x16");
}
-void Ico_PutIconOff (const char *Icon,const char *Title)
+void Ico_PutIconOff (const char *Icon,Ico_Color_t Color,const char *Title)
{
- Ico_PutIcon (Icon,Title,"CONTEXT_OPT ICO_HIDDEN CONTEXT_ICO_16x16");
+ Ico_PutIcon (Icon,Color,Title,"CONTEXT_OPT ICO_HIDDEN CONTEXT_ICO_16x16");
}
/*****************************************************************************/
/******************************* Put an icon *********************************/
/*****************************************************************************/
-void Ico_PutIcon (const char *Icon,const char *Title,const char *Class)
+void Ico_PutIcon (const char *Icon,Ico_Color_t Color,const char *Title,const char *Class)
{
+ static const char *ClassColor[Ico_NUM_COLORS][The_NUM_THEMES] =
+ {
+ [Ico_BLACK][The_THEME_WHITE ] = "BLACK_ICO_WHITE",
+ [Ico_BLACK][The_THEME_GREY ] = "BLACK_ICO_GREY",
+ [Ico_BLACK][The_THEME_PURPLE] = "BLACK_ICO_PURPLE",
+ [Ico_BLACK][The_THEME_BLUE ] = "BLACK_ICO_BLUE",
+ [Ico_BLACK][The_THEME_YELLOW] = "BLACK_ICO_YELLOW",
+ [Ico_BLACK][The_THEME_PINK ] = "BLACK_ICO_PINK",
+ [Ico_BLACK][The_THEME_DARK ] = "BLACK_ICO_DARK",
+
+ [Ico_GREEN][The_THEME_WHITE ] = "GREEN_ICO_WHITE",
+ [Ico_GREEN][The_THEME_GREY ] = "GREEN_ICO_GREY",
+ [Ico_GREEN][The_THEME_PURPLE] = "GREEN_ICO_PURPLE",
+ [Ico_GREEN][The_THEME_BLUE ] = "GREEN_ICO_BLUE",
+ [Ico_GREEN][The_THEME_YELLOW] = "GREEN_ICO_YELLOW",
+ [Ico_GREEN][The_THEME_PINK ] = "GREEN_ICO_PINK",
+ [Ico_GREEN][The_THEME_DARK ] = "GREEN_ICO_DARK",
+
+ [Ico_RED ][The_THEME_WHITE ] = "RED_ICO_WHITE",
+ [Ico_RED ][The_THEME_GREY ] = "RED_ICO_GREY",
+ [Ico_RED ][The_THEME_PURPLE] = "RED_ICO_PURPLE",
+ [Ico_RED ][The_THEME_BLUE ] = "RED_ICO_BLUE",
+ [Ico_RED ][The_THEME_YELLOW] = "RED_ICO_YELLOW",
+ [Ico_RED ][The_THEME_PINK ] = "RED_ICO_PINK",
+ [Ico_RED ][The_THEME_DARK ] = "RED_ICO_DARK",
+
+ [Ico_WHITE][The_THEME_WHITE ] = "WHITE_ICO_WHITE",
+ [Ico_WHITE][The_THEME_GREY ] = "WHITE_ICO_GREY",
+ [Ico_WHITE][The_THEME_PURPLE] = "WHITE_ICO_PURPLE",
+ [Ico_WHITE][The_THEME_BLUE ] = "WHITE_ICO_BLUE",
+ [Ico_WHITE][The_THEME_YELLOW] = "WHITE_ICO_YELLOW",
+ [Ico_WHITE][The_THEME_PINK ] = "WHITE_ICO_PINK",
+ [Ico_WHITE][The_THEME_DARK ] = "WHITE_ICO_DARK",
+ };
+
HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon,Title,
- "class=\"%s\"",Class);
+ "class=\"%s %s\"",Class,ClassColor[Color][Gbl.Prefs.Theme]);
}
/*****************************************************************************/
@@ -547,7 +630,7 @@ void Ico_PutIconRemovalNotAllowed (void)
{
extern const char *Txt_Removal_not_allowed;
- Ico_PutIconOff ("trash.svg",Txt_Removal_not_allowed);
+ Ico_PutIconOff ("trash.svg",Ico_RED,Txt_Removal_not_allowed);
}
/*****************************************************************************/
@@ -558,7 +641,7 @@ void Ico_PutIconCut (void)
{
extern const char *Txt_Cut;
- Ico_PutIconLink ("cut.svg",Txt_Cut);
+ Ico_PutIconLink ("cut.svg",Ico_BLACK,Txt_Cut);
}
/*****************************************************************************/
@@ -569,7 +652,7 @@ void Ico_PutIconPaste (void)
{
extern const char *Txt_Paste;
- Ico_PutIconLink ("paste.svg",Txt_Paste);
+ Ico_PutIconLink ("paste.svg",Ico_BLACK,Txt_Paste);
}
/*****************************************************************************/
@@ -580,5 +663,5 @@ void Ico_PutIconNotVisible (void)
{
extern const char *Txt_Not_visible;
- Ico_PutIconOff ("eye-slash-red.svg",Txt_Not_visible);
+ Ico_PutIconOff ("eye-slash.svg",Ico_RED,Txt_Not_visible);
}
diff --git a/swad_icon.h b/swad_icon.h
index ea3d3402..842ad6ff 100644
--- a/swad_icon.h
+++ b/swad_icon.h
@@ -40,6 +40,15 @@ typedef enum
} Ico_IconSet_t;
#define Ico_ICON_SET_DEFAULT Ico_ICON_SET_AWESOME
+#define Ico_NUM_COLORS 4
+typedef enum
+ {
+ Ico_BLACK = 0,
+ Ico_GREEN = 1,
+ Ico_RED = 2,
+ Ico_WHITE = 3,
+ } Ico_Color_t;
+
/*****************************************************************************/
/***************************** Public prototypes *****************************/
/*****************************************************************************/
@@ -84,14 +93,13 @@ void Ico_PutContextualIconToShowAttendanceList (Act_Action_t NextAction,
void Ico_PutContextualIconToZIP (Act_Action_t NextAction,
void (*FuncParams) (void *Args),void *Args);
-void Ico_PutDivIcon (const char *DivClass,const char *Icon,const char *Title);
-void Ico_PutDivIconLink (const char *DivClass,const char *Icon,const char *Title);
-void Ico_PutIconLink (const char *Icon,const char *Title);
-void Ico_PutIconTextLink (const char *Icon,const char *Text);
-void Ico_PutSettingIconLink (const char *Icon,const char *Title);
-void Ico_PutIconOn (const char *Icon,const char *Title);
-void Ico_PutIconOff (const char *Icon,const char *Title);
-void Ico_PutIcon (const char *Icon,const char *Title,const char *Class);
+void Ico_PutDivIcon (const char *DivClass,const char *Icon,Ico_Color_t Color,const char *Title);
+void Ico_PutIconLink (const char *Icon,Ico_Color_t Color,const char *Title);
+void Ico_PutIconTextLink (const char *Icon,Ico_Color_t Color,const char *Text);
+void Ico_PutSettingIconLink (const char *Icon,Ico_Color_t Color,const char *Title);
+void Ico_PutIconOn (const char *Icon,Ico_Color_t Color,const char *Title);
+void Ico_PutIconOff (const char *Icon,Ico_Color_t Color,const char *Title);
+void Ico_PutIcon (const char *Icon,Ico_Color_t Color,const char *Title,const char *Class);
void Ico_PutCalculateIcon (const char *Title);
void Ico_PutCalculateIconWithText (const char *Text);
diff --git a/swad_info.c b/swad_info.c
index bd23802b..17328e6e 100644
--- a/swad_info.c
+++ b/swad_info.c
@@ -850,7 +850,7 @@ static void Inf_ShowPage (const char *URL)
/***** Link to view in a new window *****/
HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"",
URL,The_ClassFormOutBoxBold[Gbl.Prefs.Theme]);
- Ico_PutIconTextLink ("expand-arrows-alt.svg",
+ Ico_PutIconTextLink ("expand-arrows-alt.svg",Ico_BLACK,
Txt_View_in_a_new_window);
HTM_A_End ();
diff --git a/swad_institution.c b/swad_institution.c
index de03a9e4..8ead6a51 100644
--- a/swad_institution.c
+++ b/swad_institution.c
@@ -589,7 +589,7 @@ static void Ins_PutIconToViewInstitutions (void)
Lay_PutContextualLinkOnlyIcon (ActSeeIns,NULL,
NULL,NULL,
- "university.svg",
+ "university.svg",Ico_BLACK,
Txt_Institutions);
}
@@ -1903,7 +1903,7 @@ static void Ins_FormToGoToMap (struct Ins_Instit *Ins)
Ins_EditingIns = Ins; // Used to pass parameter with the code of the institution
Lay_PutContextualLinkOnlyIcon (ActSeeInsInf,NULL,
Ins_PutParamGoToIns,&Ins_EditingIns->InsCod,
- "map-marker-alt.svg",
+ "map-marker-alt.svg",Ico_BLACK,
Txt_Map);
}
}
diff --git a/swad_language.c b/swad_language.c
index 29e42391..51481239 100644
--- a/swad_language.c
+++ b/swad_language.c
@@ -77,7 +77,7 @@ void Lan_PutLinkToChangeLanguage (void)
{
Lay_PutContextualLinkIconText (ActReqEdiSet,NULL,
NULL,NULL,
- "globe.svg",
+ "globe-americas.svg",Ico_BLACK,
"Change language");
}
diff --git a/swad_layout.c b/swad_layout.c
index 49bb4d67..f69ee10d 100644
--- a/swad_layout.c
+++ b/swad_layout.c
@@ -1186,7 +1186,7 @@ static void Lay_ShowRightColumn (void)
void Lay_PutContextualLinkOnlyIcon (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args,
- const char *Icon,
+ const char *Icon,Ico_Color_t Color,
const char *Title)
{
/***** Begin form *****/
@@ -1195,7 +1195,7 @@ void Lay_PutContextualLinkOnlyIcon (Act_Action_t NextAction,const char *Anchor,
FuncParams (Args);
/***** Put icon with link *****/
- Ico_PutIconLink (Icon,Title);
+ Ico_PutIconLink (Icon,Color,Title);
/***** End form *****/
Frm_EndForm ();
@@ -1207,7 +1207,7 @@ void Lay_PutContextualLinkOnlyIcon (Act_Action_t NextAction,const char *Anchor,
void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args,
- const char *Icon,
+ const char *Icon,Ico_Color_t Color,
const char *Text)
{
extern const char *The_ClassFormLinkOutBoxBold[The_NUM_THEMES];
@@ -1223,7 +1223,7 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
/***** Put icon and text with link *****/
HTM_BUTTON_SUBMIT_Begin (Text,The_ClassFormLinkOutBoxBold[Gbl.Prefs.Theme],NULL);
- Ico_PutIconTextLink (Icon,Text);
+ Ico_PutIconTextLink (Icon,Color,Text);
HTM_BUTTON_End ();
/***** End form *****/
@@ -1257,7 +1257,7 @@ void Lay_PutContextualLinkIconTextOnSubmit (Act_Action_t NextAction,const char *
/***** Put icon with link *****/
HTM_BUTTON_SUBMIT_Begin (Text,The_ClassFormLinkOutBoxBold[Gbl.Prefs.Theme],OnSubmit);
- Ico_PutIconTextLink (Icon,Text);
+ Ico_PutIconTextLink (Icon,Ico_BLACK,Text);
HTM_BUTTON_End ();
/***** End form *****/
@@ -1628,12 +1628,14 @@ void Lay_IndentDependingOnLevel (unsigned Level,bool IsLastItemInLevel[])
i++)
Ico_PutIcon (IsLastItemInLevel[i] ? "tr20x20.gif" :
"subleft20x20.gif",
+ Ico_BLACK,
"","ICO25x25");
/***** Level *****/
if (Level)
Ico_PutIcon (IsLastItemInLevel[Level] ? "subend20x20.gif" :
"submid20x20.gif",
+ Ico_BLACK,
"","ICO25x25");
}
diff --git a/swad_layout.h b/swad_layout.h
index a117a072..14da455a 100644
--- a/swad_layout.h
+++ b/swad_layout.h
@@ -28,6 +28,7 @@
/*****************************************************************************/
#include "swad_action.h"
+#include "swad_icon.h"
/*****************************************************************************/
/****************************** Public constants *****************************/
@@ -50,11 +51,11 @@ void Lay_WriteEndOfPage (void);
void Lay_PutContextualLinkOnlyIcon (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args,
- const char *Icon,
+ const char *Icon,Ico_Color_t Color,
const char *Title);
void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args,
- const char *Icon,
+ const char *Icon,Ico_Color_t Color,
const char *Text);
void Lay_PutContextualLinkIconTextOnSubmit (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (const void *Args),const void *Args,
diff --git a/swad_link.c b/swad_link.c
index 84939ef6..a1a9b735 100644
--- a/swad_link.c
+++ b/swad_link.c
@@ -269,7 +269,7 @@ void Lnk_PutIconToViewLinks (void)
Lay_PutContextualLinkOnlyIcon (ActSeeLnk,NULL,
NULL,NULL,
- "link.svg",
+ "link.svg",Ico_BLACK,
Txt_Links);
}
diff --git a/swad_log.c b/swad_log.c
index 180f860c..67616d06 100644
--- a/swad_log.c
+++ b/swad_log.c
@@ -120,7 +120,7 @@ void Log_PutLinkToLastClicks (void)
Lay_PutContextualLinkIconText (ActLstClk,NULL,
NULL,NULL,
- "mouse-pointer.svg",
+ "mouse-pointer.svg",Ico_BLACK,
Txt_Last_clicks);
}
diff --git a/swad_logo.c b/swad_logo.c
index 58c1ea53..f39ba6d1 100644
--- a/swad_logo.c
+++ b/swad_logo.c
@@ -227,7 +227,7 @@ void Lgo_PutIconToChangeLogo (HieLvl_Level_t Scope)
/***** Link for changing / uploading the logo *****/
Lay_PutContextualLinkOnlyIcon (Action,NULL,
NULL,NULL,
- "shield-alt.svg",
+ "shield-alt.svg",Ico_BLACK,
LogoExists ? Txt_Change_logo :
Txt_Upload_logo);
}
@@ -335,7 +335,7 @@ static void Lgo_PutIconToRemoveLogo (Act_Action_t ActionRem)
/***** Link to request the removal of the logo *****/
Lay_PutContextualLinkOnlyIcon (ActionRem,NULL,
NULL,NULL,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Remove_logo);
}
diff --git a/swad_mail.c b/swad_mail.c
index 10df0aed..a2edb181 100644
--- a/swad_mail.c
+++ b/swad_mail.c
@@ -890,7 +890,7 @@ static void Mai_ListEmails (__attribute__((unused)) void *Args)
StrAddresses,
Txt_Create_email_message,
The_ClassFormOutBoxBold[Gbl.Prefs.Theme]);
- Ico_PutIconTextLink ("marker.svg",
+ Ico_PutIconTextLink ("marker.svg",Ico_BLACK,
Txt_Create_email_message);
HTM_A_End ();
@@ -1149,7 +1149,7 @@ static void Mai_ShowFormChangeUsrEmail (bool ItsMe,
/* Email confirmed? */
if (Confirmed)
{
- Ico_PutIcon ("check-circle.svg",
+ Ico_PutIcon ("check-circle.svg",Ico_BLACK,
Str_BuildString (Txt_Email_X_confirmed,row[0]),
"ICO16x16");
Str_FreeStrings ();
diff --git a/swad_maintenance.c b/swad_maintenance.c
index e3019874..b7964bae 100644
--- a/swad_maintenance.c
+++ b/swad_maintenance.c
@@ -60,7 +60,7 @@ static void Mtn_PutLinkToSetUp (void)
/***** Put form to set up platform *****/
Lay_PutContextualLinkIconText (ActSetUp,NULL,
NULL,NULL,
- "bolt.svg",
+ "bolt.svg",Ico_BLACK,
Txt_Set_up);
}
diff --git a/swad_match.c b/swad_match.c
index 4112138e..83d6e2b9 100644
--- a/swad_match.c
+++ b/swad_match.c
@@ -754,7 +754,7 @@ static void Mch_ListOneOrMoreMatchesStatus (struct Mch_Match *Match,unsigned Num
NULL,
Mch_PutParamsPlay,&Match->MchCod,
Match->Status.Showing == Mch_END ? "flag-checkered.svg" :
- "play.svg",
+ "play.svg",Ico_BLACK,
Gbl.Usrs.Me.Role.Logged == Rol_STD ? Txt_Play :
Txt_Resume);
@@ -802,7 +802,7 @@ static void Mch_ListOneOrMoreMatchesResultStd (struct Gam_Games *Games,
Games->MchCod.Current = Match->MchCod;
Lay_PutContextualLinkOnlyIcon (ActSeeMyMchResMch,MchRes_RESULTS_BOX_ID,
Mch_PutParamsEdit,Games,
- "trophy.svg",
+ "trophy.svg",Ico_BLACK,
Txt_Results);
}
else
@@ -824,26 +824,32 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games,
if (Mch_CheckIfICanEditThisMatch (Match))
Lay_PutContextualLinkOnlyIcon (ActSeeUsrMchResMch,MchRes_RESULTS_BOX_ID,
Mch_PutParamsEdit,Games,
- "trophy.svg",
+ "trophy.svg",Ico_BLACK,
Txt_Results);
/***** Check if visibility of session results can be changed *****/
if (Mch_CheckIfVisibilityOfResultsCanBeChanged (Match))
{
/* I can edit visibility */
- Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL,
- Mch_PutParamsEdit,Games,
- Match->Status.ShowUsrResults ? "eye-green.svg" :
- "eye-slash-red.svg",
- Match->Status.ShowUsrResults ? Txt_Visible_results :
- Txt_Hidden_results);
+ if (Match->Status.ShowUsrResults)
+ Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL,
+ Mch_PutParamsEdit,Games,
+ "eye.svg",Ico_GREEN,
+ Txt_Visible_results);
+ else
+ Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL,
+ Mch_PutParamsEdit,Games,
+ "eye-slash.svg",Ico_RED,
+ Txt_Hidden_results);
}
else
+ {
/* I can not edit visibility */
- Ico_PutIconOff (Match->Status.ShowUsrResults ? "eye-green.svg" :
- "eye-slash-red.svg",
- Match->Status.ShowUsrResults ? Txt_Visible_results :
- Txt_Hidden_results);
+ if (Match->Status.ShowUsrResults)
+ Ico_PutIconOff ("eye.svg" ,Ico_GREEN,Txt_Visible_results);
+ else
+ Ico_PutIconOff ("eye-slash.svg",Ico_RED ,Txt_Hidden_results );
+ }
}
/*****************************************************************************/
@@ -2651,7 +2657,7 @@ static void Mch_ShowFormColumns (const struct Mch_Match *Match)
Mch_PutParamNumCols (NumCols); // Number of columns
/* Number of columns */
- Ico_PutSettingIconLink (NumColsIcon[NumCols],
+ Ico_PutSettingIconLink (NumColsIcon[NumCols],Ico_BLACK,
Str_BuildString ("%u %s",
NumCols,
NumCols == 1 ? Txt_column :
@@ -3345,7 +3351,7 @@ static void Mch_PutBigButtonClose (void)
static void Mch_ShowWaitImage (const char *Txt)
{
HTM_DIV_Begin ("class=\"MCH_WAIT_CONT\"");
- Ico_PutIcon ("Spin-1s-200px.gif",Txt,"MCH_WAIT_IMG");
+ Ico_PutIcon ("Spin-1s-200px.gif",Ico_BLACK,Txt,"MCH_WAIT_IMG");
HTM_DIV_End ();
}
diff --git a/swad_match_result.c b/swad_match_result.c
index e13b1649..601bf704 100644
--- a/swad_match_result.c
+++ b/swad_match_result.c
@@ -916,7 +916,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod);
break;
}
- Ico_PutIconLink ("tasks.svg",Txt_Result);
+ Ico_PutIconLink ("tasks.svg",Ico_BLACK,Txt_Result);
Frm_EndForm ();
}
else
diff --git a/swad_media.c b/swad_media.c
index a071312f..6e44acc2 100644
--- a/swad_media.c
+++ b/swad_media.c
@@ -404,7 +404,7 @@ void Med_PutMediaUploader (int NumMedia,const char *ClassInput)
HTM_A_Begin ("href=\"\""
" onclick=\"mediaActivateMediaUploader('%s');return false;\"",
Id);
- Ico_PutIcon ("paperclip.svg",Txt_Multimedia,"ICO_HIGHLIGHT ICOx16");
+ Ico_PutIcon ("paperclip.svg",Ico_BLACK,Txt_Multimedia,"ICO_HIGHLIGHT ICOx16");
HTM_A_End ();
/* End container */
@@ -514,7 +514,7 @@ static void Med_PutIconMediaUploader (const char UniqueId[Frm_MAX_BYTES_ID + 1],
/* Icon to upload media */
HTM_A_Begin ("href=\"\" onclick=\"%s('%s');return false;\"",
MediaUploader->FunctionName,UniqueId);
- Ico_PutIcon (MediaUploader->Icon,
+ Ico_PutIcon (MediaUploader->Icon,Ico_BLACK,
MediaUploader->Title,
"ICO_HIGHLIGHT ICOx16");
HTM_A_End ();
@@ -1821,7 +1821,7 @@ static void Med_AlertThirdPartyCookies (void)
if (!Gbl.Form.Inside)
Lay_PutContextualLinkIconText (ActReqEdiSet,Coo_COOKIES_ID,
NULL,NULL,
- "cog.svg",
+ "cog.svg",Ico_BLACK,
Txt_Settings);
/* End alert */
diff --git a/swad_menu.c b/swad_menu.c
index f3219158..b68dc854 100644
--- a/swad_menu.c
+++ b/swad_menu.c
@@ -213,12 +213,12 @@ void Mnu_WriteMenuThisTab (void)
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] =
{
- [Ico_ICON_SET_AWESOME][The_THEME_WHITE ] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_GREY ] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_PURPLE] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_BLUE ] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_YELLOW] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_PINK ] = "",
+ [Ico_ICON_SET_AWESOME][The_THEME_WHITE ] = " MENU_ICO_WHITE",
+ [Ico_ICON_SET_AWESOME][The_THEME_GREY ] = " MENU_ICO_GREY",
+ [Ico_ICON_SET_AWESOME][The_THEME_PURPLE] = " MENU_ICO_PURPLE",
+ [Ico_ICON_SET_AWESOME][The_THEME_BLUE ] = " MENU_ICO_BLUE",
+ [Ico_ICON_SET_AWESOME][The_THEME_YELLOW] = " MENU_ICO_YELLOW",
+ [Ico_ICON_SET_AWESOME][The_THEME_PINK ] = " MENU_ICO_PINK",
[Ico_ICON_SET_AWESOME][The_THEME_DARK ] = " MENU_ICO_DARK",
[Ico_ICON_SET_NUVOLA ][The_THEME_WHITE ] = "",
@@ -324,7 +324,8 @@ void Mnu_PutIconsToSelectMenu (void)
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgMnu);
Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu);
- Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Txt_MENU_NAMES[Menu]);
+ Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Ico_BLACK,
+ Txt_MENU_NAMES[Menu]);
Frm_EndForm ();
HTM_DIV_End ();
}
diff --git a/swad_message.c b/swad_message.c
index 8aa6db98..5213bc29 100644
--- a/swad_message.c
+++ b/swad_message.c
@@ -1611,7 +1611,7 @@ static void Msg_PutLinkToViewBannedUsers(void)
Lay_PutContextualLinkIconText (ActLstBanUsr,NULL,
NULL,NULL,
- "lock.svg",
+ "lock.svg",Ico_RED,
Txt_Banned_users);
}
@@ -1714,7 +1714,7 @@ static void Msg_PutIconsListMsgs (void *Messages)
case Msg_SENT:
Lay_PutContextualLinkOnlyIcon (ActReqMsgUsr,NULL,
Msg_PutHiddenParamsMsgsFilters,Messages,
- "marker.svg",
+ "marker.svg",Ico_BLACK,
Txt_MSGS_Write);
break;
default:
@@ -1728,7 +1728,7 @@ static void Msg_PutIconsListMsgs (void *Messages)
case Msg_SENT:
Lay_PutContextualLinkOnlyIcon (ActSeeRcvMsg,NULL,
Msg_PutHiddenParamsMsgsFilters,Messages,
- "inbox.svg",
+ "inbox.svg",Ico_BLACK,
Txt_MSGS_Received);
break;
default:
@@ -1742,7 +1742,7 @@ static void Msg_PutIconsListMsgs (void *Messages)
case Msg_RECEIVED:
Lay_PutContextualLinkOnlyIcon (ActSeeSntMsg,NULL,
Msg_PutHiddenParamsMsgsFilters,Messages,
- "share.svg",
+ "share.svg",Ico_BLACK,
Txt_MSGS_Sent);
break;
default:
@@ -2086,7 +2086,7 @@ static void Msg_ShowASentOrReceivedMessage (struct Msg_Messages *Messages,
"envelope-open-text.svg") :
"envelope.svg") :
"share.svg",
- Title,"ICO16x16");
+ Ico_BLACK,Title,"ICO16x16");
/***** Form to delete message *****/
HTM_BR ();
@@ -2338,7 +2338,7 @@ void Msg_WriteMsgAuthor (struct UsrData *UsrDat,bool Enabled,const char *BgColor
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM,
false);
else
- Ico_PutIcon ("usr_bl.jpg",Txt_Unknown_or_without_photo,
+ Ico_PutIcon ("usr_bl.jpg",Ico_BLACK,Txt_Unknown_or_without_photo,
ClassPhoto[Gbl.Prefs.PhotoShape]);
HTM_TD_End ();
@@ -2455,7 +2455,7 @@ static void Msg_WriteFormToReply (long MsgCod,long CrsCod,
Par_PutHiddenParamChar ("ShowOnlyOneRecipient",'Y');
/****** Link *****/
- Ico_PutIconLink ("reply.svg",
+ Ico_PutIconLink ("reply.svg",Ico_BLACK,
FromThisCrs ? (Replied ? Txt_Reply_again :
Txt_Reply) :
(Replied ? Txt_Go_to_course_and_reply_again :
@@ -2488,11 +2488,10 @@ static void Msg_WriteMsgFrom (struct Msg_Messages *Messages,
/***** Put an icon to show if user has read the message *****/
HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\"");
- Ico_PutIcon (Deleted ? "share-red.svg" :
- "share.svg",
- Deleted ? Txt_MSG_Sent_and_deleted :
- Txt_MSG_Sent,
- "ICO16x16");
+ if (Deleted)
+ Ico_PutIcon ("share.svg",Ico_RED ,Txt_MSG_Sent_and_deleted,"ICO16x16");
+ else
+ Ico_PutIcon ("share.svg",Ico_BLACK,Txt_MSG_Sent ,"ICO16x16");
HTM_TD_End ();
/***** Put user's photo *****/
@@ -2626,11 +2625,14 @@ static void Msg_WriteMsgTo (struct Msg_Messages *Messages,long MsgCod)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\"");
- Ico_PutIcon (OpenByDst ? (Deleted ? "envelope-open-text-red.svg" :
- "envelope-open-text.svg") :
- (Deleted ? "envelope-red.svg" :
- "envelope.svg"),
- Title,"ICO16x16");
+ if (OpenByDst)
+ Ico_PutIcon ("envelope-open-text.svg",Deleted ? Ico_RED :
+ Ico_BLACK,
+ Title,"ICO16x16");
+ else
+ Ico_PutIcon ("envelope.svg" ,Deleted ? Ico_RED :
+ Ico_BLACK,
+ Title,"ICO16x16");
HTM_TD_End ();
/* Put user's photo */
@@ -2783,7 +2785,8 @@ static void Msg_PutFormToBanSender (struct Msg_Messages *Messages,
Messages->CurrentPage);
Usr_PutParamUsrCodEncrypted (UsrDat->EnUsrCod);
Msg_PutHiddenParamsMsgsFilters (Messages);
- Ico_PutIconLink ("unlock.svg",Txt_Sender_permitted_click_to_ban_him);
+ Ico_PutIconLink ("unlock.svg",Ico_GREEN,
+ Txt_Sender_permitted_click_to_ban_him);
Frm_EndForm ();
}
@@ -2801,7 +2804,8 @@ static void Msg_PutFormToUnbanSender (struct Msg_Messages *Messages,
Messages->CurrentPage);
Usr_PutParamUsrCodEncrypted (UsrDat->EnUsrCod);
Msg_PutHiddenParamsMsgsFilters (Messages);
- Ico_PutIconLink ("lock.svg",Txt_Sender_banned_click_to_unban_him);
+ Ico_PutIconLink ("lock.svg",Ico_RED,
+ Txt_Sender_banned_click_to_unban_him);
Frm_EndForm ();
}
@@ -2938,7 +2942,8 @@ void Msg_ListBannedUsrs (void)
HTM_TD_Begin ("class=\"BM\"");
Frm_BeginForm (ActUnbUsrLst);
Usr_PutParamUsrCodEncrypted (UsrDat.EnUsrCod);
- Ico_PutIconLink ("lock.svg",Txt_Sender_banned_click_to_unban_him);
+ Ico_PutIconLink ("lock.svg",Ico_RED,
+ Txt_Sender_banned_click_to_unban_him);
Frm_EndForm ();
HTM_TD_End ();
diff --git a/swad_network.c b/swad_network.c
index 675dd55b..19af12ac 100644
--- a/swad_network.c
+++ b/swad_network.c
@@ -57,7 +57,7 @@ extern struct Globals Gbl;
static const char *Net_WebsAndSocialNetworksIcons[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] =
{
- [Net_WWW ] = "globe.svg",
+ [Net_WWW ] = "globe-americas.svg",
[Net_500PX ] = "500px-brands.svg",
[Net_DELICIOUS ] = "delicious-brands.svg",
[Net_DEVIANTART ] = "deviantart-brands.svg",
@@ -180,7 +180,7 @@ static void Net_ShowAWebOrSocialNet (const char *URL,
/***** Write link and icon *****/
HTM_DIV_Begin ("class=\"ICO_HIGHLIGHT\" style=\"display:inline;\"");
HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\"",URL,Title);
- Ico_PutIcon (Icon,Title,"ICO16x16");
+ Ico_PutIcon (Icon,Ico_BLACK,Title,"ICO16x16");
HTM_A_End ();
HTM_DIV_End ();
}
diff --git a/swad_notice.c b/swad_notice.c
index de38b5da..a8da0509 100644
--- a/swad_notice.c
+++ b/swad_notice.c
@@ -417,7 +417,7 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing,long HighlightNotCod)
HTM_DIV_Begin ("class=\"CM\"");
RSS_BuildRSSLink (RSSLink,Gbl.Hierarchy.Crs.CrsCod);
HTM_A_Begin ("href=\"%s\" target=\"_blank\"",RSSLink);
- Ico_PutIcon ("rss-square.svg","RSS","ICO16x16");
+ Ico_PutIcon ("rss-square.svg",Ico_BLACK,"RSS","ICO16x16");
HTM_A_End ();
HTM_DIV_End ();
break;
@@ -652,7 +652,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
HTM_DIV_Begin ("class=\"CM\"");
Lay_PutContextualLinkOnlyIcon (ActSeeOneNot,Anchor,
Not_PutParams,&NotCod,
- "ellipsis-h.svg",
+ "ellipsis-h.svg",Ico_BLACK,
Txt_See_full_notice);
HTM_DIV_End ();
}
diff --git a/swad_notification.c b/swad_notification.c
index 71f4cc2d..56ee3e16 100644
--- a/swad_notification.c
+++ b/swad_notification.c
@@ -360,15 +360,15 @@ void Ntf_ShowMyNotifications (void)
if (NumNotifications) // TODO: Show message only when I don't have notificacions at all
Lay_PutContextualLinkIconText (ActMrkNtfSee,NULL,
NULL,NULL,
- "eye.svg",
+ "eye.svg",Ico_BLACK,
Txt_Mark_all_NOTIFICATIONS_as_read); // Mark notifications as read
Lay_PutContextualLinkIconText (ActReqEdiSet,Ntf_NOTIFICATIONS_ID,
NULL,NULL,
- "cog.svg",
+ "cog.svg",Ico_BLACK,
Txt_Settings); // Change notification settings
Lay_PutContextualLinkIconText (ActSeeMai,NULL,
NULL,NULL,
- "envelope.svg",
+ "envelope.svg",Ico_BLACK,
Txt_Domains); // View allowed mail domains
Mnu_ContextMenuEnd ();
@@ -484,12 +484,12 @@ void Ntf_ShowMyNotifications (void)
if (PutLink)
{
- Ico_PutIconLink (Ntf_Icons[NotifyEvent],
+ Ico_PutIconLink (Ntf_Icons[NotifyEvent],Ico_BLACK,
Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
Frm_EndForm ();
}
else
- Ico_PutIconOff (Ntf_Icons[NotifyEvent],
+ Ico_PutIconOff (Ntf_Icons[NotifyEvent],Ico_BLACK,
Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
HTM_TD_End ();
diff --git a/swad_password.c b/swad_password.c
index 04a7c7ca..b23ef399 100644
--- a/swad_password.c
+++ b/swad_password.c
@@ -234,7 +234,7 @@ void Pwd_PutLinkToSendNewPasswd (void)
Lay_PutContextualLinkIconText (ActReqSndNewPwd,NULL,
Pwd_PutLinkToSendNewPasswdParams,Gbl.Usrs.Me.UsrIdLogin,
- "key.svg",
+ "key.svg",Ico_BLACK,
Txt_Forgotten_password);
}
diff --git a/swad_photo.c b/swad_photo.c
index b3da3a14..b6eb7fc3 100644
--- a/swad_photo.c
+++ b/swad_photo.c
@@ -196,7 +196,7 @@ void Pho_PutIconToChangeUsrPhoto (void)
Txt_Upload_photo;
Lay_PutContextualLinkOnlyIcon (ActReqMyPho,NULL,
NULL,NULL,
- "camera.svg",
+ "camera.svg",Ico_BLACK,
TitleText);
}
else // Not me
@@ -207,7 +207,7 @@ void Pho_PutIconToChangeUsrPhoto (void)
Txt_Upload_photo;
Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "camera.svg",
+ "camera.svg",Ico_BLACK,
TitleText);
}
}
@@ -224,7 +224,7 @@ static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Arg
if (Gbl.Usrs.Me.MyPhotoExists)
Lay_PutContextualLinkOnlyIcon (ActReqRemMyPho,NULL,
NULL,NULL,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Remove_photo);
}
@@ -256,7 +256,7 @@ static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) voi
if (PhotoExists)
Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Usrs.Other.UsrDat.Roles.InCurrentCrs],NULL,
Usr_PutParamOtherUsrCodEncrypted,Gbl.Usrs.Other.UsrDat.EnUsrCod,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Remove_photo);
}
diff --git a/swad_place.c b/swad_place.c
index a667684b..c21a8f19 100644
--- a/swad_place.c
+++ b/swad_place.c
@@ -336,7 +336,7 @@ void Plc_PutIconToViewPlaces (void)
Lay_PutContextualLinkOnlyIcon (ActSeePlc,NULL,
Ins_PutParamCurrentInsCod,&Gbl.Hierarchy.Ins.InsCod,
- "map-marker-alt.svg",
+ "map-marker-alt.svg",Ico_BLACK,
Txt_Places);
}
diff --git a/swad_profile.c b/swad_profile.c
index 86d86862..8d7ba1ed 100644
--- a/swad_profile.c
+++ b/swad_profile.c
@@ -149,7 +149,7 @@ void Prf_PutLinkMyPublicProfile (void)
Lay_PutContextualLinkIconText (ActSeeOthPubPrf,NULL,
Usr_PutParamMyUsrCodEncrypted,Gbl.Usrs.Me.UsrDat.EnUsrCod,
- "user-circle.svg",
+ "user-circle.svg",Ico_BLACK,
Txt_My_public_profile);
}
@@ -163,7 +163,7 @@ void Prf_PutLinkRequestAnotherUserProfile (void)
Lay_PutContextualLinkIconText (ActReqOthPubPrf,NULL,
NULL,NULL,
- "user-circle.svg",
+ "user-circle.svg",Ico_BLACK,
Txt_Another_user_s_profile);
}
diff --git a/swad_program.c b/swad_program.c
index 34451ed3..0bcc184e 100644
--- a/swad_program.c
+++ b/swad_program.c
@@ -776,52 +776,52 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem,
{
Lay_PutContextualLinkOnlyIcon (ActUp_PrgItm,"prg_highlighted",
Prg_PutParams,&Item->Hierarchy.ItmCod,
- "arrow-up.svg",
+ "arrow-up.svg",Ico_BLACK,
Str_BuildString (Txt_Move_up_X,
StrItemIndex));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,Txt_Movement_not_allowed);
/***** Put icon to move down the item *****/
if (Prg_CheckIfMoveDownIsAllowed (NumItem))
{
Lay_PutContextualLinkOnlyIcon (ActDwnPrgItm,"prg_highlighted",
Prg_PutParams,&Item->Hierarchy.ItmCod,
- "arrow-down.svg",
+ "arrow-down.svg",Ico_BLACK,
Str_BuildString (Txt_Move_down_X,
StrItemIndex));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,Txt_Movement_not_allowed);
/***** Icon to move left item (increase level) *****/
if (Prg_CheckIfMoveLeftIsAllowed (NumItem))
{
Lay_PutContextualLinkOnlyIcon (ActLftPrgItm,"prg_highlighted",
Prg_PutParams,&Item->Hierarchy.ItmCod,
- "arrow-left.svg",
+ "arrow-left.svg",Ico_BLACK,
Str_BuildString (Txt_Increase_level_of_X,
StrItemIndex));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-left.svg",Ico_BLACK,Txt_Movement_not_allowed);
/***** Icon to move right item (indent, decrease level) *****/
if (Prg_CheckIfMoveRightIsAllowed (NumItem))
{
Lay_PutContextualLinkOnlyIcon (ActRgtPrgItm,"prg_highlighted",
Prg_PutParams,&Item->Hierarchy.ItmCod,
- "arrow-right.svg",
+ "arrow-right.svg",Ico_BLACK,
Str_BuildString (Txt_Decrease_level_of_X,
StrItemIndex));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-right.svg",Ico_BLACK,Txt_Movement_not_allowed);
break;
case Rol_STD:
case Rol_NET:
diff --git a/swad_project.c b/swad_project.c
index f2d40a82..d1ffe31a 100644
--- a/swad_project.c
+++ b/swad_project.c
@@ -96,15 +96,15 @@ static const char *AssignedNonassigImage[Prj_NUM_ASSIGNED_NONASSIG] =
};
/***** Locked/unlocked project edition *****/
-static const char *Prj_LockIcons[Prj_NUM_LOCKED_UNLOCKED] =
+static const struct
{
- [Prj_LOCKED ] = "lock.svg",
- [Prj_UNLOCKED] = "unlock.svg",
- };
-static const Act_Action_t Prj_LockActions[Prj_NUM_LOCKED_UNLOCKED] =
+ const char *Icon;
+ Ico_Color_t Color;
+ Act_Action_t Action;
+ } Prj_LockUnlock[Prj_NUM_LOCKED_UNLOCKED] =
{
- [Prj_LOCKED ] = ActUnlPrj,
- [Prj_UNLOCKED] = ActLckPrj,
+ [Prj_LOCKED ] = {"lock.svg" ,Ico_RED ,ActUnlPrj},
+ [Prj_UNLOCKED] = {"unlock.svg",Ico_GREEN,ActLckPrj},
};
/***** List of users to select one or more members
@@ -631,7 +631,7 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L);
- Ico_PutSettingIconLink (AssignedNonassigImage[Assign],
+ Ico_PutSettingIconLink (AssignedNonassigImage[Assign],Ico_BLACK,
Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Assign]);
Frm_EndForm ();
HTM_DIV_End ();
@@ -649,10 +649,14 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
extern const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL];
struct Prj_Filter Filter;
Prj_HiddenVisibl_t HidVis;
- static const char *HiddenVisiblIcon[Prj_NUM_HIDDEN_VISIBL] =
+ static const struct
{
- [Prj_HIDDEN] = "eye-slash-red.svg",
- [Prj_VISIBL] = "eye-green.svg",
+ const char *Icon;
+ Ico_Color_t Color;
+ } HiddenVisiblIcon[Prj_NUM_HIDDEN_VISIBL] =
+ {
+ [Prj_HIDDEN] = {"eye-slash.svg",Ico_RED },
+ [Prj_VISIBL] = {"eye.svg" ,Ico_GREEN},
};
Set_BeginOneSettingSelector ();
@@ -674,7 +678,8 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L);
- Ico_PutSettingIconLink (HiddenVisiblIcon[HidVis],
+ Ico_PutSettingIconLink (HiddenVisiblIcon[HidVis].Icon,
+ HiddenVisiblIcon[HidVis].Color,
Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]);
Frm_EndForm ();
HTM_DIV_End ();
@@ -717,7 +722,7 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L);
- Ico_PutSettingIconLink (FaultinessIcon[Faultiness],
+ Ico_PutSettingIconLink (FaultinessIcon[Faultiness],Ico_BLACK,
Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]);
Frm_EndForm ();
HTM_DIV_End ();
@@ -1149,7 +1154,7 @@ static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects)
Lay_PutContextualLinkOnlyIcon (ActSeeTblAllPrj,NULL,
Prj_PutCurrentParams,Projects,
- "table.svg",
+ "table.svg",Ico_BLACK,
Txt_Show_all_data_in_a_table);
}
@@ -1418,7 +1423,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects,
}
HTM_TxtF ("%s ",Prj->Assigned == Prj_ASSIGNED ? Txt_Yes :
Txt_No);
- Ico_PutIconOff (AssignedNonassigImage[Prj->Assigned],
+ Ico_PutIconOff (AssignedNonassigImage[Prj->Assigned],Ico_BLACK,
Txt_PROJECT_ASSIGNED_NONASSIGNED_SINGUL[Prj->Assigned]);
if (Faults.WrongAssigned)
@@ -1643,7 +1648,7 @@ static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults)
static void Prj_PutWarningIcon (void)
{
- Ico_PutIcon ("warning64x64.gif","","ICO16x16");
+ Ico_PutIcon ("warning64x64.gif",Ico_BLACK,"","ICO16x16");
}
/*****************************************************************************/
@@ -1660,7 +1665,7 @@ static void Prj_PutIconToToggleProject (unsigned UniqueId,
" onclick=\"toggleProject('%u');return false;\"",
Text,The_ClassFormInBox[Gbl.Prefs.Theme],
UniqueId);
- Ico_PutIconTextLink (Icon,Text);
+ Ico_PutIconTextLink (Icon,Ico_BLACK,Text);
HTM_A_End ();
}
@@ -2165,7 +2170,7 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects,
HTM_TD_Begin ("class=\"PRJ_MEMBER_ICO\"");
Lay_PutContextualLinkOnlyIcon (ActionReqRemUsr[RoleInPrj],NULL,
Prj_PutCurrentParams,Projects,
- "trash.svg",
+ "trash.svg",Ico_RED,
Txt_Remove);
HTM_TD_End ();
}
@@ -3859,13 +3864,13 @@ static void Prj_PutIconsToLockUnlockAllProjects (struct Prj_Projects *Projects)
/***** Put icon to lock all projects *****/
Lay_PutContextualLinkOnlyIcon (ActReqLckAllPrj,NULL,
Prj_PutCurrentParams,Projects,
- "lock.svg",
+ "lock.svg",Ico_RED,
Txt_Lock_editing);
/***** Put icon to unlock all projects *****/
Lay_PutContextualLinkOnlyIcon (ActReqUnlAllPrj,NULL,
Prj_PutCurrentParams,Projects,
- "unlock.svg",
+ "unlock.svg",Ico_GREEN,
Txt_Unlock_editing);
}
@@ -4054,12 +4059,14 @@ static void Prj_FormLockUnlock (const struct Prj_Project *Prj)
if (asprintf (&OnSubmit,"updateDivLockUnlockProject(this,"
"'act=%ld&ses=%s&PrjCod=%ld');"
" return false;", // return false is necessary to not submit form
- Act_GetActCod (Prj_LockActions[Prj->Locked]),
+ Act_GetActCod (Prj_LockUnlock[Prj->Locked].Action),
Gbl.Session.Id,
Prj->PrjCod) < 0)
Err_NotEnoughMemoryExit ();
Frm_BeginFormOnSubmit (ActUnk,OnSubmit);
- Ico_PutIconLink (Prj_LockIcons[Prj->Locked],Txt_LOCKED_UNLOCKED[Prj->Locked]);
+ Ico_PutIconLink (Prj_LockUnlock[Prj->Locked].Icon,
+ Prj_LockUnlock[Prj->Locked].Color,
+ Txt_LOCKED_UNLOCKED[Prj->Locked]);
Frm_EndForm ();
/* Free allocated memory for subquery */
@@ -4075,7 +4082,9 @@ static void Prj_PutIconOffLockedUnlocked (const struct Prj_Project *Prj)
extern const char *Txt_LOCKED_UNLOCKED[Prj_NUM_LOCKED_UNLOCKED];
/***** Icon to inform about locked/unlocked project edition *****/
- Ico_PutIconOff (Prj_LockIcons[Prj->Locked],Txt_LOCKED_UNLOCKED[Prj->Locked]);
+ Ico_PutIconOff (Prj_LockUnlock[Prj->Locked].Icon,
+ Prj_LockUnlock[Prj->Locked].Color,
+ Txt_LOCKED_UNLOCKED[Prj->Locked]);
}
/*****************************************************************************/
diff --git a/swad_question.c b/swad_question.c
index be4cdbcc..715f98c5 100644
--- a/swad_question.c
+++ b/swad_question.c
@@ -1498,7 +1498,8 @@ void Qst_WriteChoAnsBank (struct Qst_Question *Question,
/* Put an icon that indicates whether the answer is correct or wrong */
HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd);
if (Question->Answer.Options[NumOpt].Correct)
- Ico_PutIcon ("check.svg",Txt_TST_Answer_given_by_the_teachers,"CONTEXT_ICO_16x16");
+ Ico_PutIcon ("check.svg",Ico_BLACK,
+ Txt_TST_Answer_given_by_the_teachers,"CONTEXT_ICO_16x16");
HTM_TD_End ();
/* Write the number of option */
@@ -2161,7 +2162,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
NumOpt);
if (asprintf (&Title,"%s %c)",Txt_Expand,'a' + (char) NumOpt) < 0)
Err_NotEnoughMemoryExit ();
- Ico_PutIcon ("caret-right.svg",Title,"ICO16x16");
+ Ico_PutIcon ("caret-right.svg",Ico_BLACK,Title,"ICO16x16");
free (Title);
HTM_A_End ();
@@ -2174,7 +2175,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
NumOpt);
if (asprintf (&Title,"%s %c)",Txt_Contract,'a' + (char) NumOpt) < 0)
Err_NotEnoughMemoryExit ();
- Ico_PutIcon ("caret-down.svg",Title,"ICO16x16");
+ Ico_PutIcon ("caret-down.svg",Ico_BLACK,Title,"ICO16x16");
free (Title);
HTM_A_End ();
diff --git a/swad_question_import.c b/swad_question_import.c
index 796e76c7..18d22f47 100644
--- a/swad_question_import.c
+++ b/swad_question_import.c
@@ -81,7 +81,7 @@ void QstImp_PutIconToExportQuestions (struct Qst_Questions *Questions)
/***** Put a link to create a file with questions *****/
Lay_PutContextualLinkOnlyIcon (ActLstTstQst,NULL,
QstImp_PutParamsExportQsts,Questions,
- "file-import.svg",
+ "file-import.svg",Ico_BLACK,
Txt_Export_questions);
}
@@ -125,7 +125,7 @@ void QstImp_PutIconToImportQuestions (void)
/***** Put a link to create a file with questions *****/
Lay_PutContextualLinkOnlyIcon (ActReqImpTstQst,NULL,
NULL,NULL,
- "file-export.svg",
+ "file-export.svg",Ico_BLACK,
Txt_Import_questions);
}
@@ -133,7 +133,7 @@ void QstImp_PutIconToImportQuestions (void)
/*********** Show form to import test questions from an XML file *************/
/*****************************************************************************/
-void QstImp_ShowFormImportQstsFromXML (void)
+void QstImp_ShowFormImpQstsFromXML (void)
{
extern const char *Hlp_ASSESSMENT_Tests;
extern const char *The_ClassFormInBox[The_NUM_THEMES];
@@ -228,8 +228,7 @@ void QstImp_CreateXML (unsigned NumQsts,MYSQL_RES *mysql_res)
Gbl.FileBrowser.TmpPubDir.L,
Gbl.FileBrowser.TmpPubDir.R,
The_ClassFormOutBoxBold[Gbl.Prefs.Theme]);
- Ico_PutIconTextLink ("file.svg",
- Txt_XML_file);
+ Ico_PutIconTextLink ("file.svg",Ico_BLACK,Txt_XML_file);
HTM_A_End ();
}
@@ -379,7 +378,7 @@ static void QstImp_WriteAnswersOfAQstXML (const struct Qst_Question *Question,
/************ Get questions from XML and store them in database **************/
/*****************************************************************************/
-void QstImp_ImportQstsFromXML (void)
+void QstImp_ImpQstsFromXML (void)
{
extern const char *Txt_The_file_is_not_X;
struct Param *Param;
@@ -886,6 +885,7 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
HTM_TD_Begin ("class=\"BT%u CT\"",Gbl.RowEvenOdd);
Ico_PutIcon (QuestionExists ? "tr16x16.gif" :
"check-circle.svg",
+ Ico_BLACK,
QuestionExists ? Txt_Existing_question :
Txt_New_question,
"CONTEXT_ICO_16x16");
@@ -942,7 +942,8 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
Question->Answer.Type == Qst_ANS_MULTIPLE_CHOICE)
/* Put an icon that indicates whether shuffle is enabled or not */
if (Question->Answer.Shuffle)
- Ico_PutIcon ("check.svg",Txt_TST_Answer_given_by_the_teachers,
+ Ico_PutIcon ("check.svg",Ico_BLACK,
+ Txt_TST_Answer_given_by_the_teachers,
QuestionExists ? "ICO_HIDDEN ICO16x16" :
"ICO16x16");
HTM_TD_End ();
@@ -1015,7 +1016,8 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
/* Put an icon that indicates whether the answer is correct or wrong */
HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd);
if (Question->Answer.Options[NumOpt].Correct)
- Ico_PutIcon ("check.svg",Txt_TST_Answer_given_by_the_teachers,
+ Ico_PutIcon ("check.svg",Ico_BLACK,
+ Txt_TST_Answer_given_by_the_teachers,
QuestionExists ? "ICO_HIDDEN CONTEXT_ICO_16x16" :
"CONTEXT_ICO_16x16");
HTM_TD_End ();
diff --git a/swad_question_import.h b/swad_question_import.h
index 3a937e88..417ffd8a 100644
--- a/swad_question_import.h
+++ b/swad_question_import.h
@@ -37,7 +37,7 @@ void QstImp_PutIconToExportQuestions (struct Qst_Questions *Questions);
bool QstImp_GetCreateXMLParamFromForm (void);
void QstImp_PutIconToImportQuestions (void);
void QstImp_CreateXML (unsigned long NumRows,MYSQL_RES *mysql_res);
-void QstImp_ShowFormImportQstsFromXML (void);
-void QstImp_ImportQstsFromXML (void);
+void QstImp_ShowFormImpQstsFromXML (void);
+void QstImp_ImpQstsFromXML (void);
#endif
diff --git a/swad_record.c b/swad_record.c
index c3cc81a4..fb25ed74 100644
--- a/swad_record.c
+++ b/swad_record.c
@@ -842,7 +842,7 @@ void Rec_PutLinkToEditRecordFields (void)
/***** Link to edit record fields *****/
Lay_PutContextualLinkIconText (ActEdiRecFie,NULL,
NULL,NULL,
- "pen.svg",
+ "pen.svg",Ico_BLACK,
Txt_Edit_record_fields);
}
@@ -1397,7 +1397,7 @@ static void Rec_ShowLinkToPrintPreviewOfRecords (void)
unsigned i;
HTM_BUTTON_SUBMIT_Begin (Txt_Print,The_ClassFormLinkOutBoxBold[Gbl.Prefs.Theme],NULL);
- Ico_PutIconTextLink ("print.svg",Txt_Print);
+ Ico_PutIconTextLink ("print.svg",Ico_BLACK,Txt_Print);
HTM_BUTTON_End ();
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
@@ -2344,13 +2344,13 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
/***** Button to edit my record card *****/
Lay_PutContextualLinkOnlyIcon (ActReqEdiRecSha,NULL,
NULL,NULL,
- "pen.svg",
+ "pen.svg",Ico_BLACK,
Txt_Edit_my_personal_data);
if (ICanViewUsrProfile)
/***** Button to view user's profile *****/
Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "user.svg",
+ "user.svg",Ico_BLACK,
ItsMe ? Txt_My_public_profile :
Txt_Another_user_s_profile);
@@ -2359,24 +2359,24 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
/* View student's records: common record card and course record card */
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "address-card.svg",
+ "address-card.svg",Ico_BLACK,
Txt_View_record_for_this_course);
else if (Usr_CheckIfICanViewRecordTch (Gbl.Record.UsrDat))
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "address-card.svg",
+ "address-card.svg",Ico_BLACK,
Txt_View_record_and_office_hours);
/***** Button to view user's agenda *****/
if (ItsMe)
Lay_PutContextualLinkOnlyIcon (ActSeeMyAgd,NULL,
NULL,NULL,
- "calendar.svg",
+ "calendar.svg",Ico_BLACK,
Txt_Show_agenda);
else if (Usr_CheckIfICanViewUsrAgenda (Gbl.Record.UsrDat))
Lay_PutContextualLinkOnlyIcon (ActSeeUsrAgd,NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "calendar.svg",
+ "calendar.svg",Ico_BLACK,
Txt_Show_agenda);
/***** Button to admin user *****/
@@ -2388,7 +2388,7 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "user-cog.svg",
+ "user-cog.svg",Ico_BLACK,
Txt_Administer_user);
if (Gbl.Hierarchy.Level == HieLvl_CRS) // Course selected
@@ -2403,17 +2403,17 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
/* My test results in course */
Lay_PutContextualLinkOnlyIcon (ActSeeMyTstResCrs,NULL,
Rec_PutParamsMyTsts,NULL,
- "check.svg",
+ "check.svg",Ico_BLACK,
Txt_View_tests);
/* My exam results in course */
Lay_PutContextualLinkOnlyIcon (ActSeeMyExaResCrs,NULL,
Rec_PutParamsMyTsts,NULL,
- "file-signature.svg",
+ "file-signature.svg",Ico_BLACK,
Txt_View_exams);
/* My match results in course */
Lay_PutContextualLinkOnlyIcon (ActSeeMyMchResCrs,NULL,
Rec_PutParamsMyTsts,NULL,
- "gamepad.svg",
+ "gamepad.svg",Ico_BLACK,
Txt_View_games);
}
else // Not me
@@ -2421,17 +2421,17 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
/* User's test results in course */
Lay_PutContextualLinkOnlyIcon (ActSeeUsrTstResCrs,NULL,
Rec_PutParamsStdTsts,NULL,
- "check.svg",
+ "check.svg",Ico_BLACK,
Txt_View_tests);
/* User's exam results in course */
Lay_PutContextualLinkOnlyIcon (ActSeeUsrExaResCrs,NULL,
Rec_PutParamsStdTsts,NULL,
- "file-signature.svg",
+ "file-signature.svg",Ico_BLACK,
Txt_View_exams);
/* User's match results in course */
Lay_PutContextualLinkOnlyIcon (ActSeeUsrMchResCrs,NULL,
Rec_PutParamsStdTsts,NULL,
- "gamepad.svg",
+ "gamepad.svg",Ico_BLACK,
Txt_View_games);
}
}
@@ -2442,12 +2442,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
if (ItsMe)
Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrkUsr,NULL,
NULL,NULL,
- "folder-open.svg",
+ "folder-open.svg",Ico_BLACK,
Txt_View_homework);
else // Not me, I am not a student in current course
Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrkCrs,NULL,
Rec_PutParamsWorks,NULL,
- "folder-open.svg",
+ "folder-open.svg",Ico_BLACK,
Txt_View_homework);
}
@@ -2457,12 +2457,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
if (ItsMe)
Lay_PutContextualLinkOnlyIcon (ActSeeLstMyAtt,NULL,
NULL,NULL,
- "calendar-check.svg",
+ "calendar-check.svg",Ico_BLACK,
Txt_View_attendance);
else // Not me
Lay_PutContextualLinkOnlyIcon (ActSeeLstUsrAtt,NULL,
Rec_PutParamsStudent,NULL,
- "calendar-check.svg",
+ "calendar-check.svg",Ico_BLACK,
Txt_View_attendance);
}
}
@@ -2478,7 +2478,7 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
if (!RecipientHasBannedMe)
Lay_PutContextualLinkOnlyIcon (ActReqMsgUsr,NULL,
Rec_PutParamsMsgUsr,NULL,
- "envelope.svg",
+ "envelope.svg",Ico_BLACK,
Txt_Write_a_message);
/***** Button to follow / unfollow *****/
@@ -2489,12 +2489,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
// I follow user
Lay_PutContextualLinkOnlyIcon (ActUnfUsr,NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "user-check.svg",
+ "user-check.svg",Ico_BLACK,
Txt_Following_unfollow); // Put button to unfollow, even if I can not view user's profile
else if (ICanViewUsrProfile)
Lay_PutContextualLinkOnlyIcon (ActFolUsr,NULL,
Rec_PutParamUsrCodEncrypted,NULL,
- "user-plus.svg",
+ "user-plus.svg",Ico_BLACK,
Txt_Follow); // Put button to follow
}
diff --git a/swad_report.c b/swad_report.c
index d9e26f3b..32e03cba 100644
--- a/swad_report.c
+++ b/swad_report.c
@@ -247,7 +247,7 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report)
HTM_A_Begin ("href=\"%s\" class=\"FILENAME_TXT\" title=\"%s\" target=\"_blank\"",
Report->Permalink,
Txt_Report);
- Ico_PutIcon ("file-alt.svg",Txt_Report,"ICO64x64");
+ Ico_PutIcon ("file-alt.svg",Ico_BLACK,Txt_Report,"ICO64x64");
HTM_BR ();
HTM_Txt (Report->FilenameReport);
HTM_A_End ();
diff --git a/swad_room.c b/swad_room.c
index 497b43c8..8881c10d 100644
--- a/swad_room.c
+++ b/swad_room.c
@@ -238,7 +238,8 @@ void Roo_SeeRooms (void)
HTM_TD_Begin ("class=\"%s LT %s\"",
The_ClassDat[Gbl.Prefs.Theme],
Gbl.ColorRows[RowEvenOdd]);
- Ico_PutIconOn (Roo_TypesIcons[Rooms.Lst[NumRoom].Type],Txt_ROOM_TYPES[Rooms.Lst[NumRoom].Type]);
+ Ico_PutIconOn (Roo_TypesIcons[Rooms.Lst[NumRoom].Type],Ico_BLACK,
+ Txt_ROOM_TYPES[Rooms.Lst[NumRoom].Type]);
HTM_TD_End ();
/* Short name */
@@ -481,7 +482,7 @@ void Roo_PutIconToViewRooms (void)
Lay_PutContextualLinkOnlyIcon (ActSeeRoo,NULL,
NULL,NULL,
- "classroom.svg",
+ "chalkboard-teacher.svg",Ico_BLACK,
Txt_Rooms);
}
diff --git a/swad_search.c b/swad_search.c
index 2ed981a4..a0cd1abe 100644
--- a/swad_search.c
+++ b/swad_search.c
@@ -186,7 +186,7 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie
HTM_LABEL_End ();
/***** Magnifying glass icon *****/
- Sch_PutMagnifyingGlassButton ("search.svg");
+ Sch_PutMagnifyingGlassButton (Ico_BLACK);
/***** Send button *****/
Btn_PutButton (Btn_CONFIRM_BUTTON,Txt_Search);
@@ -240,7 +240,7 @@ void Sch_PutFormToSearchInPageTopHeading (void)
Frm_BeginForm (ActSch);
Sco_PutParamScope ("ScopeSch",HieLvl_SYS);
Sch_PutInputStringToSearch ("head_search_text");
- Sch_PutMagnifyingGlassButton ("search-white.svg");
+ Sch_PutMagnifyingGlassButton (Ico_WHITE);
Frm_EndForm ();
HTM_DIV_End (); // head_row_1_search
@@ -268,12 +268,12 @@ void Sch_PutInputStringToSearch (const char *IdInputText)
/******************* Put magnifying glass button inside form *****************/
/*****************************************************************************/
-void Sch_PutMagnifyingGlassButton (const char *Icon)
+void Sch_PutMagnifyingGlassButton (Ico_Color_t Color)
{
extern const char *Txt_Search;
/***** Send button *****/
- Ico_PutIconLink (Icon,Txt_Search);
+ Ico_PutIconLink ("search.svg",Color,Txt_Search);
}
/*****************************************************************************/
diff --git a/swad_search.h b/swad_search.h
index 50d622e1..40f6d929 100644
--- a/swad_search.h
+++ b/swad_search.h
@@ -23,6 +23,12 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
+/*****************************************************************************/
+/*********************************** Headers *********************************/
+/*****************************************************************************/
+
+#include "swad_icon.h"
+
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
@@ -70,7 +76,7 @@ void Sch_ReqSysSearch (void);
void Sch_PutFormToSearchInPageTopHeading (void);
void Sch_PutInputStringToSearch (const char *IdInputText);
-void Sch_PutMagnifyingGlassButton (const char *Icon);
+void Sch_PutMagnifyingGlassButton (Ico_Color_t Color);
void Sch_GetParamWhatToSearch (void);
void Sch_GetParamsSearch (void);
void Sch_SysSearch (void);
diff --git a/swad_setting.c b/swad_setting.c
index 88f8b0f7..3fd6a128 100644
--- a/swad_setting.c
+++ b/swad_setting.c
@@ -230,7 +230,7 @@ static void Set_PutIconsToSelectSideCols (void)
Par_PutHiddenParamUnsigned (NULL,"SideCols",SideCols);
snprintf (Icon,sizeof (Icon),"layout%u%u_32x20.gif",
SideCols >> 1,SideCols & 1);
- Ico_PutSettingIconLink (Icon,Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
+ Ico_PutSettingIconLink (Icon,Ico_BLACK,Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
Frm_EndForm ();
HTM_DIV_End ();
}
diff --git a/swad_statistic.c b/swad_statistic.c
index 9a6c8dc7..a8e8a5d3 100644
--- a/swad_statistic.c
+++ b/swad_statistic.c
@@ -622,7 +622,7 @@ void Sta_PutLinkToCourseHits (void)
case Rol_SYS_ADM:
Lay_PutContextualLinkIconText (ActReqAccCrs,NULL,
NULL,NULL,
- "chart-line.svg",
+ "chart-line.svg",Ico_BLACK,
Txt_Visits_to_course);
break;
default:
@@ -640,7 +640,7 @@ void Sta_PutLinkToGlobalHits (void)
Lay_PutContextualLinkIconText (ActReqAccGbl,NULL,
NULL,NULL,
- "chart-line.svg",
+ "chart-line.svg",Ico_BLACK,
Txt_Global_visits);
}
@@ -1887,7 +1887,7 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,double HitsMax)
Sta_SetColor (ColorType,(double) NumColor,(double) GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH,&R,&G,&B);
HTM_TD_Begin ("class=\"LM\" style=\"width:1px; background-color:#%02X%02X%02X;\"",
R,G,B);
- Ico_PutIcon ("tr1x14.gif","","");
+ Ico_PutIcon ("tr1x14.gif",Ico_BLACK,"","");
HTM_TD_End ();
}
diff --git a/swad_survey.c b/swad_survey.c
index c8620d5e..9e752bbf 100644
--- a/swad_survey.c
+++ b/swad_survey.c
@@ -868,7 +868,7 @@ static void Svy_PutFormsToRemEditOneSvy (struct Svy_Surveys *Surveys,
/***** Put form to reset survey *****/
Lay_PutContextualLinkOnlyIcon (ActReqRstSvy,NULL,
Svy_PutParams,Surveys,
- "recycle.svg",
+ "recycle.svg",Ico_RED,
Txt_Reset);
/***** Put form to hide/show survey *****/
diff --git a/swad_syllabus.c b/swad_syllabus.c
index 37e021df..a334a41f 100644
--- a/swad_syllabus.c
+++ b/swad_syllabus.c
@@ -648,14 +648,15 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
ActUp_IteSylPra,
NULL,
Syl_PutParamNumItem,&Syllabus->ParamNumItem,
- "arrow-up.svg",
+ "arrow-up.svg",Ico_BLACK,
Str_BuildString (Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections :
Txt_Move_up_X,
StrItemCod));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,
+ Txt_Movement_not_allowed);
HTM_TD_End ();
/***** Icon to get down item *****/
@@ -667,14 +668,15 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
ActDwnIteSylPra,
NULL,
Syl_PutParamNumItem,&Syllabus->ParamNumItem,
- "arrow-down.svg",
+ "arrow-down.svg",Ico_BLACK,
Str_BuildString (Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections :
Txt_Move_down_X,
StrItemCod));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,
+ Txt_Movement_not_allowed);
HTM_TD_End ();
/***** Icon to increase the level of an item *****/
@@ -685,13 +687,14 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
ActRgtIteSylPra,
NULL,
Syl_PutParamNumItem,&Syllabus->ParamNumItem,
- "arrow-left.svg",
+ "arrow-left.svg",Ico_BLACK,
Str_BuildString (Txt_Increase_level_of_X,
StrItemCod));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-left.svg",Ico_BLACK,
+ Txt_Movement_not_allowed);
HTM_TD_End ();
/***** Icon to decrease level item *****/
@@ -703,13 +706,14 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
ActLftIteSylPra,
NULL,
Syl_PutParamNumItem,&Syllabus->ParamNumItem,
- "arrow-right.svg",
+ "arrow-right.svg",Ico_BLACK,
Str_BuildString (Txt_Decrease_level_of_X,
StrItemCod));
Str_FreeStrings ();
}
else
- Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed);
+ Ico_PutIconOff ("arrow-right.svg",Ico_BLACK,
+ Txt_Movement_not_allowed);
HTM_TD_End ();
LastLevel = Level;
diff --git a/swad_tab.c b/swad_tab.c
index e44b4871..af58062b 100644
--- a/swad_tab.c
+++ b/swad_tab.c
@@ -71,12 +71,12 @@ void Tab_DrawTabs (void)
};
static const char *ClassIcoTab[Ico_NUM_ICON_SETS][The_NUM_THEMES] =
{
- [Ico_ICON_SET_AWESOME][The_THEME_WHITE ] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_GREY ] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_PURPLE] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_BLUE ] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_YELLOW] = "",
- [Ico_ICON_SET_AWESOME][The_THEME_PINK ] = "",
+ [Ico_ICON_SET_AWESOME][The_THEME_WHITE ] = " TAB_ICO_WHITE",
+ [Ico_ICON_SET_AWESOME][The_THEME_GREY ] = " TAB_ICO_GREY",
+ [Ico_ICON_SET_AWESOME][The_THEME_PURPLE] = " TAB_ICO_PURPLE",
+ [Ico_ICON_SET_AWESOME][The_THEME_BLUE ] = " TAB_ICO_BLUE",
+ [Ico_ICON_SET_AWESOME][The_THEME_YELLOW] = " TAB_ICO_YELLOW",
+ [Ico_ICON_SET_AWESOME][The_THEME_PINK ] = " TAB_ICO_PINK",
[Ico_ICON_SET_AWESOME][The_THEME_DARK ] = " TAB_ICO_DARK",
[Ico_ICON_SET_NUVOLA ][The_THEME_WHITE ] = "",
@@ -196,7 +196,7 @@ static const char *Tab_GetIcon (Tab_Tab_t NumTab)
[TabUnk] = NULL,
[TabStr] = "house-user",
[TabSys] = "sitemap",
- [TabCty] = "globe",
+ [TabCty] = "globe-americas",
[TabIns] = "university",
[TabCtr] = "building",
[TabDeg] = "graduation-cap",
diff --git a/swad_tag.c b/swad_tag.c
index accfa10c..b5567024 100644
--- a/swad_tag.c
+++ b/swad_tag.c
@@ -97,7 +97,7 @@ void Tag_PutIconToEditTags (void)
/***** Put a link to create a file with questions *****/
Lay_PutContextualLinkOnlyIcon (ActEdiTag,NULL,
NULL,NULL,
- "tag.svg",
+ "tag.svg",Ico_BLACK,
Txt_Edit_tags);
}
@@ -348,10 +348,10 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
{
TagHidden = (row[2][0] == 'Y');
HTM_TD_Begin ("class=\"LM\"");
- Ico_PutIconOff (TagHidden ? "eye-slash-red.svg" :
- "eye-green.svg",
- TagHidden ? Txt_Tag_not_allowed :
- Txt_Tag_allowed);
+ if (TagHidden)
+ Ico_PutIconOff ("eye-slash.svg",Ico_RED ,Txt_Tag_not_allowed);
+ else
+ Ico_PutIconOff ("eye.svg" ,Ico_GREEN,Txt_Tag_allowed );
HTM_TD_End ();
}
@@ -472,7 +472,7 @@ static void Tag_PutIconEnable (long TagCod,const char *TagTxt)
HTM_TD_Begin ("class=\"BM\"");
Frm_BeginForm (ActEnaTag);
Par_PutHiddenParamLong (NULL,"TagCod",TagCod);
- Ico_PutIconLink ("eye-slash-red.svg",
+ Ico_PutIconLink ("eye-slash.svg",Ico_RED,
Str_BuildString (Txt_Tag_X_not_allowed_Click_to_allow_it,
TagTxt));
Str_FreeStrings ();
@@ -491,7 +491,7 @@ static void Tag_PutIconDisable (long TagCod,const char *TagTxt)
HTM_TD_Begin ("class=\"BM\"");
Frm_BeginForm (ActDisTag);
Par_PutHiddenParamLong (NULL,"TagCod",TagCod);
- Ico_PutIconLink ("eye-green.svg",
+ Ico_PutIconLink ("eye.svg",Ico_GREEN,
Str_BuildString (Txt_Tag_X_allowed_Click_to_disable_it,
TagTxt));
Str_FreeStrings ();
diff --git a/swad_test_print.c b/swad_test_print.c
index c3efe672..98a54534 100644
--- a/swad_test_print.c
+++ b/swad_test_print.c
@@ -1982,7 +1982,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat)
Frm_BeginForm (Gbl.Action.Act == ActSeeMyTstResCrs ? ActSeeOneTstResMe :
ActSeeOneTstResOth);
TstPrn_PutParamPrnCod (Print.PrnCod);
- Ico_PutIconLink ("tasks.svg",Txt_View_test);
+ Ico_PutIconLink ("tasks.svg",Ico_BLACK,Txt_View_test);
Frm_EndForm ();
}
else
diff --git a/swad_test_visibility.c b/swad_test_visibility.c
index 7072500f..d804c256 100644
--- a/swad_test_visibility.c
+++ b/swad_test_visibility.c
@@ -49,22 +49,13 @@ void TstVis_ShowVisibilityIcons (unsigned SelectedVisibility,bool Hidden)
{
extern const char *Txt_TST_STR_VISIBILITY[TstVis_NUM_ITEMS_VISIBILITY];
extern const char *Txt_TST_HIDDEN_VISIBLE[2];
- static const char *Icons[TstVis_NUM_ITEMS_VISIBILITY][2] =
+ static const char *Icons[TstVis_NUM_ITEMS_VISIBILITY] =
{
- [TstVis_VISIBLE_QST_ANS_TXT ][false] = "file-alt-red.svg",
- [TstVis_VISIBLE_QST_ANS_TXT ][true ] = "file-alt-green.svg",
-
- [TstVis_VISIBLE_FEEDBACK_TXT ][false] = "file-signature-red.svg",
- [TstVis_VISIBLE_FEEDBACK_TXT ][true ] = "file-signature-green.svg",
-
- [TstVis_VISIBLE_CORRECT_ANSWER][false] = "spell-check-red.svg",
- [TstVis_VISIBLE_CORRECT_ANSWER][true ] = "spell-check-green.svg",
-
- [TstVis_VISIBLE_EACH_QST_SCORE][false] = "tasks-red.svg",
- [TstVis_VISIBLE_EACH_QST_SCORE][true ] = "tasks-green.svg",
-
- [TstVis_VISIBLE_TOTAL_SCORE ][false] = "check-circle-regular-red.svg",
- [TstVis_VISIBLE_TOTAL_SCORE ][true ] = "check-circle-regular-green.svg",
+ [TstVis_VISIBLE_QST_ANS_TXT ] = "file-alt.svg",
+ [TstVis_VISIBLE_FEEDBACK_TXT ] = "file-signature.svg",
+ [TstVis_VISIBLE_CORRECT_ANSWER] = "spell-check.svg",
+ [TstVis_VISIBLE_EACH_QST_SCORE] = "tasks.svg",
+ [TstVis_VISIBLE_TOTAL_SCORE ] = "check-circle-regular.svg",
};
TstVis_Visibility_t Visibility;
bool ItemVisible;
@@ -80,9 +71,10 @@ void TstVis_ShowVisibilityIcons (unsigned SelectedVisibility,bool Hidden)
Txt_TST_HIDDEN_VISIBLE[ItemVisible]) < 0)
Err_NotEnoughMemoryExit ();
if (ItemVisible && !Hidden)
- Ico_PutIconOn (Icons[Visibility][ItemVisible],Title);
+ Ico_PutIconOn (Icons[Visibility],Ico_GREEN ,Title);
else
- Ico_PutIconOff (Icons[Visibility][ItemVisible],Title);
+ Ico_PutIconOff (Icons[Visibility],ItemVisible ? Ico_GREEN :
+ Ico_RED ,Title);
free (Title);
}
}
@@ -121,7 +113,8 @@ void TstVis_PutVisibilityCheckboxes (unsigned SelectedVisibility)
(unsigned) Visibility,
ItemVisible ? " checked=\"checked\"" :
"");
- Ico_PutIconOn (Icons[Visibility],Txt_TST_STR_VISIBILITY[Visibility]);
+ Ico_PutIconOn (Icons[Visibility],Ico_BLACK,
+ Txt_TST_STR_VISIBILITY[Visibility]);
HTM_Txt (Txt_TST_STR_VISIBILITY[Visibility]);
/* End label */
diff --git a/swad_theme.c b/swad_theme.c
index 6e37e395..22c4b0ed 100644
--- a/swad_theme.c
+++ b/swad_theme.c
@@ -433,6 +433,17 @@ const char *The_ClassColorRows[2][The_NUM_THEMES] =
[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",
+ };
+
/*****************************************************************************/
/****************************** Private prototypes ***************************/
/*****************************************************************************/
@@ -468,7 +479,7 @@ void The_PutIconsToSelectTheme (void)
Par_PutHiddenParamString (NULL,"Theme",The_ThemeId[Theme]);
snprintf (Icon,sizeof (Icon),"%s/%s/theme_32x20.gif",
Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme]);
- Ico_PutSettingIconLink (Icon,The_ThemeNames[Theme]);
+ Ico_PutSettingIconLink (Icon,Ico_BLACK,The_ThemeNames[Theme]);
Frm_EndForm ();
HTM_DIV_End ();
}
diff --git a/swad_timeline_comment.c b/swad_timeline_comment.c
index b9947dbd..1f6ae6ed 100644
--- a/swad_timeline_comment.c
+++ b/swad_timeline_comment.c
@@ -127,7 +127,8 @@ void Tml_Com_PutIconToToggleComm (const char UniqueId[Frm_MAX_BYTES_ID + 1])
UniqueId);
/* Icon to toggle comment */
- Ico_PutIcon ("comment-regular.svg",Txt_Comment,"CONTEXT_ICO_16x16");
+ Ico_PutIcon ("comment-regular.svg",Ico_BLACK,
+ Txt_Comment,"CONTEXT_ICO_16x16");
/* End anchor */
HTM_A_End ();
@@ -149,7 +150,7 @@ void Tml_Com_PutIconCommDisabled (void)
HTM_DIV_Begin ("class=\"Tml_ICO_COM_OFF Tml_ICO_DISABLED\"");
/* Disabled icon */
- Ico_PutIcon ("edit.svg",Txt_Comment,"ICO16x16");
+ Ico_PutIcon ("edit.svg",Ico_BLACK,Txt_Comment,"ICO16x16");
/* End container */
HTM_DIV_End ();
@@ -513,7 +514,7 @@ static void Tml_Com_PutIconToToggleComms (const char *UniqueId,
/***** Link to toggle on/off some divs *****/
HTM_BUTTON_BUTTON_Begin (Text,The_ClassFormLinkInBox[Gbl.Prefs.Theme],OnClick);
- Ico_PutIconTextLink (Icon,Text);
+ Ico_PutIconTextLink (Icon,Ico_BLACK,Text);
HTM_BUTTON_End ();
/***** Free onclick text *****/
@@ -643,10 +644,12 @@ 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];
+
/***** Write content of the comment *****/
if (Com->Content.Txt[0])
{
- HTM_DIV_Begin ("class=\"Tml_TXT\"");
+ HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]);
Msg_WriteMsgContent (Com->Content.Txt,true,false);
HTM_DIV_End ();
}
@@ -704,7 +707,7 @@ static void Tml_Com_PutFormToRemoveComm (const struct Tml_Timeline *Timeline,
Tml_Pub_PutHiddenParamPubCod (PubCod);
/* Icon to remove */
- Ico_PutIconLink ("trash.svg",Txt_Remove);
+ Ico_PutIconLink ("trash.svg",Ico_RED,Txt_Remove);
/* End form */
Tml_Frm_EndForm ();
diff --git a/swad_timeline_favourite.h b/swad_timeline_favourite.h
index 363ab33f..fc3cde72 100644
--- a/swad_timeline_favourite.h
+++ b/swad_timeline_favourite.h
@@ -28,7 +28,6 @@
/*****************************************************************************/
#define Tml_Fav_ICON_FAV "heart.svg"
-#define Tml_Fav_ICON_FAVED "heart-red.svg"
/*****************************************************************************/
/***************************** Public prototypes *****************************/
diff --git a/swad_timeline_form.c b/swad_timeline_form.c
index 104ffb63..f434cca0 100644
--- a/swad_timeline_form.c
+++ b/swad_timeline_form.c
@@ -108,6 +108,7 @@ void Tml_Frm_PutFormToFavUnfShaUns (Tml_Usr_FavSha_t FavSha,long Cod)
.ParamFormat = "NotCod=%ld",
.ParamCod = Cod,
.Icon = Tml_Fav_ICON_FAV,
+ .Color = Ico_BLACK,
.Title = Txt_TIMELINE_Mark_as_favourite,
},
[true] = // I have faved ==> unfav
@@ -115,7 +116,8 @@ void Tml_Frm_PutFormToFavUnfShaUns (Tml_Usr_FavSha_t FavSha,long Cod)
.Action = Tml_Frm_UNF_NOTE,
.ParamFormat = "NotCod=%ld",
.ParamCod = Cod,
- .Icon = Tml_Fav_ICON_FAVED,
+ .Icon = Tml_Fav_ICON_FAV,
+ .Color = Ico_RED,
.Title = Txt_TIMELINE_Favourite,
},
},
@@ -127,6 +129,7 @@ void Tml_Frm_PutFormToFavUnfShaUns (Tml_Usr_FavSha_t FavSha,long Cod)
.ParamFormat = "PubCod=%ld",
.ParamCod = Cod,
.Icon = Tml_Fav_ICON_FAV,
+ .Color = Ico_BLACK,
.Title = Txt_TIMELINE_Mark_as_favourite,
},
[true] = // I have faved ==> unfav
@@ -134,7 +137,8 @@ void Tml_Frm_PutFormToFavUnfShaUns (Tml_Usr_FavSha_t FavSha,long Cod)
.Action = Tml_Frm_UNF_COMM,
.ParamFormat = "PubCod=%ld",
.ParamCod = Cod,
- .Icon = Tml_Fav_ICON_FAVED,
+ .Icon = Tml_Fav_ICON_FAV,
+ .Color = Ico_RED,
.Title = Txt_TIMELINE_Favourite,
},
},
@@ -146,6 +150,7 @@ void Tml_Frm_PutFormToFavUnfShaUns (Tml_Usr_FavSha_t FavSha,long Cod)
.ParamFormat = "NotCod=%ld",
.ParamCod = Cod,
.Icon = Tml_Sha_ICON_SHARE,
+ .Color = Ico_BLACK,
.Title = Txt_TIMELINE_Share,
},
[true] = // I have shared ==> unshare
@@ -153,7 +158,8 @@ void Tml_Frm_PutFormToFavUnfShaUns (Tml_Usr_FavSha_t FavSha,long Cod)
.Action = Tml_Frm_UNS_NOTE,
.ParamFormat = "NotCod=%ld",
.ParamCod = Cod,
- .Icon = Tml_Sha_ICON_SHARED,
+ .Icon = Tml_Sha_ICON_SHARE,
+ .Color = Ico_GREEN,
.Title = Txt_TIMELINE_Shared,
},
},
@@ -217,7 +223,7 @@ void Tml_Frm_PutFormToSeeAllFaversSharers (Tml_Frm_Action_t Action,
break;
case Tml_Usr_SHOW_ALL_USRS:
/***** Disabled icon *****/
- Ico_PutIconOff (Tml_Frm_ICON_ELLIPSIS,Txt_View_all_USERS);
+ Ico_PutIconOff (Tml_Frm_ICON_ELLIPSIS,Ico_BLACK,Txt_View_all_USERS);
break;
}
}
@@ -277,7 +283,7 @@ void Tml_Frm_FormFavSha (const struct Tml_Form *Form)
}
Frm_BeginFormUniqueAnchorOnSubmit (ActUnk,Anchor,OnSubmit);
free (OnSubmit);
- Ico_PutIconLink (Form->Icon,Form->Title);
+ Ico_PutIconLink (Form->Icon,Form->Color,Form->Title);
Frm_EndForm ();
}
@@ -339,7 +345,7 @@ void Tml_Frm_FormToShowHiddenComms (long NotCod,
/* Put icon and text with link to show the first hidden comments */
HTM_BUTTON_SUBMIT_Begin (NULL,The_ClassFormLinkInBox[Gbl.Prefs.Theme],NULL);
- Ico_PutIconTextLink ("angle-up.svg",
+ Ico_PutIconTextLink ("angle-up.svg",Ico_BLACK,
Str_BuildString (Txt_See_the_previous_X_COMMENTS,
NumInitialComms));
Str_FreeStrings ();
diff --git a/swad_timeline_form.h b/swad_timeline_form.h
index 025031d4..130db0f4 100644
--- a/swad_timeline_form.h
+++ b/swad_timeline_form.h
@@ -62,6 +62,7 @@ struct Tml_Form
const char *ParamFormat;
long ParamCod;
const char *Icon;
+ Ico_Color_t Color;
const char *Title;
};
diff --git a/swad_timeline_note.c b/swad_timeline_note.c
index af25ac2a..1aab1ddf 100644
--- a/swad_timeline_note.c
+++ b/swad_timeline_note.c
@@ -381,6 +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];
struct Hie_Hierarchy Hie;
struct For_Forums Forums;
char ForumName[For_MAX_BYTES_FORUM_NAME + 1];
@@ -405,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\"");
+ HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]);
HTM_Txt (SummaryStr);
HTM_DIV_End ();
}
@@ -692,7 +693,7 @@ static void Tml_Not_PutFormGoToAction (const struct Tml_Not_Note *Not,
Str_FreeStrings ();
/* Icon and text */
- Ico_PutIcon (Tml_Icons[Not->Type],
+ Ico_PutIcon (Tml_Icons[Not->Type],Ico_BLACK,
Txt_TIMELINE_NOTE[Not->Type],"CONTEXT_ICO_x16");
HTM_TxtF (" %s",Txt_TIMELINE_NOTE[Not->Type]);
@@ -867,7 +868,7 @@ static void Tml_Not_PutFormToRemoveNote (const struct Tml_Timeline *Timeline,
Tml_Not_PutHiddenParamNotCod (NotCod);
/* Icon to remove */
- Ico_PutIconLink ("trash.svg",Txt_Remove);
+ Ico_PutIconLink ("trash.svg",Ico_RED,Txt_Remove);
/* End form */
Tml_Frm_EndForm ();
diff --git a/swad_timeline_post.c b/swad_timeline_post.c
index e53f5851..fde594fd 100644
--- a/swad_timeline_post.c
+++ b/swad_timeline_post.c
@@ -121,10 +121,12 @@ 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];
+
/***** Write content text *****/
if (Content->Txt[0])
{
- HTM_DIV_Begin ("class=\"Tml_TXT\"");
+ HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]);
Msg_WriteMsgContent (Content->Txt,true,false);
HTM_DIV_End ();
}
diff --git a/swad_timeline_share.h b/swad_timeline_share.h
index 40f9cdea..c87ac9ed 100644
--- a/swad_timeline_share.h
+++ b/swad_timeline_share.h
@@ -28,7 +28,6 @@
/*****************************************************************************/
#define Tml_Sha_ICON_SHARE "share-alt.svg"
-#define Tml_Sha_ICON_SHARED "share-alt-green.svg"
/*****************************************************************************/
/****************************** Public prototypes ****************************/
diff --git a/swad_timeline_user.c b/swad_timeline_user.c
index 3632e9cd..fae9b112 100644
--- a/swad_timeline_user.c
+++ b/swad_timeline_user.c
@@ -350,12 +350,12 @@ static void Tml_Usr_PutDisabledIconFavSha (Tml_Usr_FavSha_t FavSha,
/***** Disabled icon to fav/share *****/
if (NumUsrs)
{
- Ico_PutDivIcon ("Tml_ICO_DISABLED",Ico[FavSha].Icon,
+ Ico_PutDivIcon ("Tml_ICO_DISABLED",Ico[FavSha].Icon,Ico_BLACK,
Str_BuildString (*Ico[FavSha].Title.WithUsrs,NumUsrs));
Str_FreeStrings ();
}
else
- Ico_PutDivIcon ("Tml_ICO_DISABLED",Ico[FavSha].Icon,
+ Ico_PutDivIcon ("Tml_ICO_DISABLED",Ico[FavSha].Icon,Ico_BLACK,
*Ico[FavSha].Title.WithoutUsrs);
}
diff --git a/swad_user.c b/swad_user.c
index 0403503b..2a6584d5 100644
--- a/swad_user.c
+++ b/swad_user.c
@@ -1118,7 +1118,7 @@ void Usr_PutLinkToLogin (void)
Lay_PutContextualLinkIconText (ActFrmLogIn,NULL,
NULL,NULL,
- "sign-in-alt-green.svg",
+ "sign-in-alt.svg",Ico_GREEN,
Txt_Log_in);
}
@@ -1158,7 +1158,8 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
/***** User's ID/nickname *****/
HTM_DIV_Begin ("class=\"LM\"");
HTM_LABEL_Begin ("for=\"UsrId\"");
- Ico_PutIcon ("user.svg",Txt_User[Usr_SEX_UNKNOWN],"CONTEXT_ICO_16x16");
+ Ico_PutIcon ("user.svg",Ico_BLACK,
+ Txt_User[Usr_SEX_UNKNOWN],"CONTEXT_ICO_16x16");
HTM_LABEL_End ();
HTM_INPUT_TEXT ("UsrId",Cns_MAX_CHARS_EMAIL_ADDRESS,Gbl.Usrs.Me.UsrIdLogin,
HTM_DONT_SUBMIT_ON_CHANGE,
@@ -1172,7 +1173,8 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
/***** User's password *****/
HTM_DIV_Begin ("class=\"LM\"");
HTM_LABEL_Begin ("for=\"UsrPwd\"");
- Ico_PutIcon ("key.svg",Txt_Password,"CONTEXT_ICO_16x16");
+ Ico_PutIcon ("key.svg",Ico_BLACK,
+ Txt_Password,"CONTEXT_ICO_16x16");
HTM_LABEL_End ();
HTM_INPUT_PASSWORD ("UsrPwd",Txt_password,NULL,false,
"id=\"UsrPwd\" class=\"%s\"",
@@ -1331,7 +1333,7 @@ void Usr_PutFormLogIn (void)
/***** Link to log in form *****/
Frm_BeginForm (ActFrmLogIn);
- Ico_PutIconLink ("sign-in-alt-white.svg",Txt_Log_in);
+ Ico_PutIconLink ("sign-in-alt.svg",Ico_WHITE,Txt_Log_in);
Frm_EndForm ();
}
@@ -1400,7 +1402,7 @@ void Usr_PutFormLogOut (void)
/***** Link to log out form *****/
Frm_BeginForm (ActLogOut);
- Ico_PutIconLink ("sign-out-alt-white.svg",Txt_Log_out);
+ Ico_PutIconLink ("sign-out-alt.svg",Ico_WHITE,Txt_Log_out);
Frm_EndForm ();
}
@@ -2095,7 +2097,7 @@ static void Usr_PutLinkToLogOut (__attribute__((unused)) void *Args)
/***** Put form to log out *****/
Lay_PutContextualLinkOnlyIcon (ActLogOut,NULL,
NULL,NULL,
- "sign-out-alt-red.svg",
+ "sign-out-alt.svg",Ico_RED,
Txt_Log_out);
}
@@ -3651,7 +3653,8 @@ static void Set_FormToSelectUsrListType (void (*FuncParams) (void *Args),void *A
The_ClassFormLinkInBoxNoWrap[Gbl.Prefs.Theme],
Gbl.Action.Act == ActReqMsgUsr ? "CopyMessageToHiddenFields();" :
NULL);
- Ico_PutIcon (Usr_IconsClassPhotoOrList[ListType],Txt_USR_LIST_TYPES[ListType],"ICO20x20");
+ Ico_PutIcon (Usr_IconsClassPhotoOrList[ListType],Ico_BLACK,
+ Txt_USR_LIST_TYPES[ListType],"ICO20x20");
HTM_TxtF (" %s",Txt_USR_LIST_TYPES[ListType]);
HTM_BUTTON_End ();
@@ -4990,7 +4993,7 @@ static void Usr_PutLinkToSeeAdmins (void)
/***** Put form to list admins *****/
Lay_PutContextualLinkIconText (ActLstOth,NULL,
NULL,NULL,
- Rol_Icons[Rol_DEG_ADM],
+ Rol_Icons[Rol_DEG_ADM],Ico_BLACK,
Txt_ROLES_PLURAL_Abc[Rol_DEG_ADM][Usr_SEX_UNKNOWN]);
}
@@ -5005,7 +5008,7 @@ static void Usr_PutLinkToSeeGuests (void)
/***** Put form to list guests *****/
Lay_PutContextualLinkIconText (ActLstGst,NULL,
NULL,NULL,
- "users.svg",
+ "users.svg",Ico_BLACK,
Txt_ROLES_PLURAL_Abc[Rol_GST][Usr_SEX_UNKNOWN]);
}
@@ -5895,7 +5898,7 @@ static void Usr_PutIconToShowGstsAllData (void)
Lay_PutContextualLinkOnlyIcon (ActLstGstAll,NULL,
Usr_ShowGstsAllDataParams,NULL,
- "table.svg",
+ "table.svg",Ico_BLACK,
Txt_Show_all_data_in_a_table);
}
@@ -5905,7 +5908,7 @@ static void Usr_PutIconToShowStdsAllData (void)
Lay_PutContextualLinkOnlyIcon (ActLstStdAll,NULL,
Usr_ShowStdsAllDataParams,NULL,
- "table.svg",
+ "table.svg",Ico_BLACK,
Txt_Show_all_data_in_a_table);
}
@@ -5915,7 +5918,7 @@ static void Usr_PutIconToShowTchsAllData (void)
Lay_PutContextualLinkOnlyIcon (ActLstTchAll,NULL,
Usr_ShowTchsAllDataParams,NULL,
- "table.svg",
+ "table.svg",Ico_BLACK,
Txt_Show_all_data_in_a_table);
}
diff --git a/swad_zip.c b/swad_zip.c
index d1b1dd76..099188b6 100644
--- a/swad_zip.c
+++ b/swad_zip.c
@@ -86,7 +86,7 @@ void ZIP_PutLinkToCreateZIPAsgWrk (void)
Lay_PutContextualLinkIconText (ActAdmAsgWrkCrs,NULL,
ZIP_PutLinkToCreateZIPAsgWrkParams,NULL,
- "download.svg",
+ "download.svg",Ico_BLACK,
Txt_Create_ZIP_file);
}
@@ -543,7 +543,7 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
HTM_IMG (CfG_URL_ICON_FILEXT_PUBLIC "32x32","zip32x32.gif",Txt_ZIP_file,
"class=\"ICO40x40\"");
HTM_TxtF (" %s ",FileName);
- Ico_PutIcon ("download.svg",Txt_Download,"ICO40x40");
+ Ico_PutIcon ("download.svg",Ico_BLACK,Txt_Download,"ICO40x40");
HTM_A_End ();
HTM_TD_End ();
HTM_TR_End ();