From 0f56875b1a7d28e408cc55c22d46d91cdcb03969 Mon Sep 17 00:00:00 2001 From: ARPspoofing Date: Mon, 13 Mar 2023 21:07:54 +0800 Subject: [PATCH 1/6] Modify DG --- docs/DeveloperGuide.md | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 264deebe51e..60c89b2c9f1 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -289,25 +289,12 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 2. Epic: As a CS2040 TA, I can effectively manage and keep track of all my students -| Priority | As a CS2040 …​| I want to …​ | So that I …​ | -|----------|------------------|---------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------| -| `* * *` | TA | edit 2040 student's information | can fix erroneously added students | -| `* * *` | TA | delete students from a 2040 event | can remove students who are no longer in the module | -| `* * *` | TA | have a search function to search for the desired student | do not have to scroll through the namelist when marking attendance/giving class participation marks | -| `* * *` | New TA | list all my students of 2040 | can view all my students at a glance | -| `* * *` | TA | view a list of low-performing students at a glance based on grades | can immediately tell who is falling behind and personally offer them help | -| `* *` | Tutorial TA | see the attendance of students during a particular class in a calendar | can manage any admin matters efficiently and correctly, or flag out any low outliers | -| `* *` | Concerned TA | find out which students are suddenly performing poorly/experienced sudden drop in performance | know which students to check in on | -| `* *` | TA | be able to see how my students are doing in their examinations | have data on their individual performance, which allows me to flag out low performers and help them out | -| `* *` | TA | have an an overview of students' progress in tutorials and labs submissions, especially where progress seemed slow or difficult | can identify trends in learning difficulties, ie which specific topics/concepts students seem to generally struggle with | -| `* *` | Lab TA | track my students' progress on weekly lab assignments | can make sure everyone submits their assignments on time and offer guidance if they need it | -| `*` | Concerned Lab TA | view the number of late lab submission per student | can immediately tell who is falling behind and personally offer them help | -| `*` | TA | remind students via email if a 2040 event is rescheduled | will not wast student's time | -| `*` | Busy TA | automatically send out reminders to students about upcoming deadlines | can spend less time on these administrative matters | -| `*` | Busy TA | receive reminders on students who have yet to submit their work nearing the deadline | can check up on them individually if needed | -| `*` | Tutorial TA | know my students' progress on their tutorial questions every week (ie. how many questions they are unsure of) | can decide how to pace my tutorial | -| `*` | Lab TA | see how my students are progressing on weekly topics on Visualgo | can send out reminders if I believe they have missed out on any weekly topics or offer help if they appear to be struggling | -| `*` | Motivational TA | find out who are the most consistent students | can recommend them for future TA positions | +| Priority | As a CS2040 …​| I want to …​ | So that I …​ | +|----------|------------------|------------------------------------------------------------|------------------------------------------------------------------------------------------------------| +| `* * *` | TA | edit 2040 student's information | can fix erroneously added students | +| `* * *` | TA | delete students from a 2040 event | can remove students who are no longer in the module | +| `* * *` | TA | have a search function to search for the desired student | do not have to scroll through the namelist when marking attendance/giving class participation marks | +| `* * *` | New TA | list all my students of 2040 | can view all my students at a glance | 3. Epic: As a CS2040 TA, I can track students progress and information From d722dab188bb7b477474d0940d305f97add27164 Mon Sep 17 00:00:00 2001 From: ARPspoofing Date: Mon, 13 Mar 2023 21:25:49 +0800 Subject: [PATCH 2/6] Add progress bar --- src/main/resources/view/EventListCard.fxml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/view/EventListCard.fxml b/src/main/resources/view/EventListCard.fxml index dee7e228983..d041d99325c 100644 --- a/src/main/resources/view/EventListCard.fxml +++ b/src/main/resources/view/EventListCard.fxml @@ -2,6 +2,7 @@ + @@ -31,6 +32,7 @@ + From a4cc09ba4cc655c7849349f9b906ade07f0c7fa3 Mon Sep 17 00:00:00 2001 From: ARPspoofing Date: Mon, 13 Mar 2023 21:27:06 +0800 Subject: [PATCH 3/6] Change css color style --- src/main/resources/view/EventListCard.fxml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/view/EventListCard.fxml b/src/main/resources/view/EventListCard.fxml index d041d99325c..e22ba23b930 100644 --- a/src/main/resources/view/EventListCard.fxml +++ b/src/main/resources/view/EventListCard.fxml @@ -32,7 +32,7 @@ - + From 5a56c449f36ffa0839c17a7d1e2c71e58c21878d Mon Sep 17 00:00:00 2001 From: ARPspoofing Date: Mon, 13 Mar 2023 22:07:49 +0800 Subject: [PATCH 4/6] Remove hardcoded width --- src/main/resources/view/EventListCard.fxml | 2 +- src/main/resources/view/MainWindow.fxml | 53 ++++++++-------------- 2 files changed, 20 insertions(+), 35 deletions(-) diff --git a/src/main/resources/view/EventListCard.fxml b/src/main/resources/view/EventListCard.fxml index e22ba23b930..f52ecd25134 100644 --- a/src/main/resources/view/EventListCard.fxml +++ b/src/main/resources/view/EventListCard.fxml @@ -32,7 +32,7 @@ - + diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index f0ae70560c0..f7be421076b 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -16,78 +16,63 @@ - + - + - - + + - + - + - - - + + - + - + - + - - - - + + - - - - - - + + - - From 63536f69fbdf1421e24599766199e578daa4576c Mon Sep 17 00:00:00 2001 From: ARPspoofing Date: Mon, 13 Mar 2023 22:17:53 +0800 Subject: [PATCH 5/6] Change hex code --- src/main/resources/view/LightTheme.css | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/view/LightTheme.css diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css new file mode 100644 index 00000000000..e69de29bb2d From ea70ba8e8bf3d043e9ed529435b9b5186c346651 Mon Sep 17 00:00:00 2001 From: ARPspoofing Date: Mon, 13 Mar 2023 23:15:34 +0800 Subject: [PATCH 6/6] Add color --- .../java/seedu/address/ui/GreetingBar.java | 2 +- src/main/resources/view/EventListPanel.fxml | 2 +- src/main/resources/view/GreetingBar.fxml | 31 +- src/main/resources/view/LightTheme.css | 353 ++++++++++++++++++ src/main/resources/view/MainWindow.fxml | 9 +- 5 files changed, 381 insertions(+), 16 deletions(-) diff --git a/src/main/java/seedu/address/ui/GreetingBar.java b/src/main/java/seedu/address/ui/GreetingBar.java index e8f75132507..dcc2e984f96 100644 --- a/src/main/java/seedu/address/ui/GreetingBar.java +++ b/src/main/java/seedu/address/ui/GreetingBar.java @@ -34,7 +34,7 @@ public GreetingBar(ObservableList personList) { size = personList.size(); } - String greetingText = "Hello, you have " + size + " tasks undone"; + String greetingText = "You have " + size + " tasks undone"; greetings.setText(greetingText); } } diff --git a/src/main/resources/view/EventListPanel.fxml b/src/main/resources/view/EventListPanel.fxml index 4482a761729..7f3f04d7bb6 100644 --- a/src/main/resources/view/EventListPanel.fxml +++ b/src/main/resources/view/EventListPanel.fxml @@ -8,7 +8,7 @@ - + diff --git a/src/main/resources/view/GreetingBar.fxml b/src/main/resources/view/GreetingBar.fxml index bbdc5afd45b..36209bfc0cd 100644 --- a/src/main/resources/view/GreetingBar.fxml +++ b/src/main/resources/view/GreetingBar.fxml @@ -4,15 +4,28 @@ + - - - - - + + + + + + + + + + diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index e69de29bb2d..f3b16f9e221 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -0,0 +1,353 @@ +.background { + -fx-background-color: derive(#E6ECF0, 20%); + background-color: #E6ECF0; /* Used in the default.html file */ +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #1C1243; + -fx-opacity: 0.9; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #1C1243; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: #1C1243; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: #1d1d1d; + -fx-background-color: #1d1d1d; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: derive(#1d1d1d, 20%); + -fx-border-color: transparent transparent transparent #4d4d4d; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: derive(#1d1d1d, 20%); +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: derive(#E6ECF0, 20%); +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-padding: 10 10 10 10; +} + +.list-cell:filled:even { + -fx-background-color: #828282; +} + +.list-cell:filled:odd { + -fx-background-color: #828282; +} + +.list-cell:filled:selected { + -fx-background-color: #828282; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #828282; + -fx-border-width: 1; +} + +.list-cell .label { + -fx-text-fill: #1C1243; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 18px; + -fx-font-weight: bold; + -fx-text-fill: #1C12F3; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #1C12F3; +} + +.stack-pane { + -fx-background-color: derive(#1d1d1d, 20%); +} + +.pane-with-border { + -fx-background-color: derive(#1d1d1d, 20%); + -fx-border-color: derive(#1d1d1d, 10%); + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: derive(#1d1d1d, 30%); +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI Light"; + -fx-font-size: 13pt; + -fx-text-fill: white; +} + +.result-display .label { + -fx-text-fill: black !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-padding: 4px; + -fx-pref-height: 30px; +} + +.status-bar-with-border { + -fx-background-color: derive(#1d1d1d, 30%); + -fx-border-color: derive(#1d1d1d, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: white; +} + +.grid-pane { + -fx-background-color: derive(#1d1d1d, 30%); + -fx-border-color: derive(#1d1d1d, 30%); + -fx-border-width: 1px; +} + +.grid-pane .stack-pane { + -fx-background-color: derive(#1d1d1d, 30%); +} + +.context-menu { + -fx-background-color: derive(#1d1d1d, 50%); +} + +.context-menu .label { + -fx-text-fill: white; +} + +.menu-bar { + -fx-background-color: derive(#1d1d1d, 20%); +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: #1d1d1d; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #1d1d1d; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: white; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#1d1d1d, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: white; + -fx-text-fill: white; +} + +.scroll-bar { + -fx-background-color: derive(#1d1d1d, 20%); +} + +.scroll-bar .thumb { + -fx-background-color: derive(#1d1d1d, 50%); + -fx-background-insets: 3; +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-padding: 0 0 0 0; +} + +.scroll-bar .increment-arrow, .scroll-bar .decrement-arrow { + -fx-shape: " "; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 1 8 1 8; +} + +.scroll-bar:horizontal .increment-arrow, .scroll-bar:horizontal .decrement-arrow { + -fx-padding: 8 1 8 1; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 0; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: transparent #383838 transparent #383838; + -fx-background-insets: 0; + -fx-border-color: #383838 #383838 #ffffff #383838; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI Light"; + -fx-font-size: 13pt; + -fx-text-fill: white; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay .content { + -fx-background-color: transparent, #383838, transparent, #383838; + -fx-background-radius: 0; +} + +#tags { + -fx-hgap: 7; + -fx-vgap: 3; +} + +#tags .label { + -fx-text-fill: white; + -fx-background-color: #0013FE; + -fx-padding: 1 3 1 3; + -fx-border-radius: 5; + -fx-background-radius: 5; + -fx-font-size: 11; +} diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index f7be421076b..fc82c16eae8 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -10,7 +10,6 @@ - @@ -23,7 +22,7 @@ - + @@ -38,13 +37,13 @@ -