From 1e518b5964fc22bd5754befae349370b19c991b4 Mon Sep 17 00:00:00 2001 From: Robert Vokac Date: Sat, 16 Mar 2024 16:03:13 +0000 Subject: [PATCH] Added several improvements, changes and bug fixes --- .../utils/timecalc/swing/common/DayPanel.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/DayPanel.java b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/DayPanel.java index 6ea3304..d923e48 100644 --- a/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/DayPanel.java +++ b/modules/time-calc-app/src/main/java/org/nanoboot/utils/timecalc/swing/common/DayPanel.java @@ -85,10 +85,12 @@ public class DayPanel extends JPanel { JButton newButton = new JButton("New"); JButton pasteButton = new JButton("Paste"); - JButton reviewButton = new JButton("Review");; + JButton reviewButton = new JButton("Review"); + JButton statusButton = new JButton("Status"); buttons.add(newButton); buttons.add(pasteButton); buttons.add(reviewButton); + buttons.add(statusButton); add(buttons); this.scrollPane @@ -166,6 +168,24 @@ public class DayPanel extends JPanel { .collect( Collectors.joining("\n"))), null); }); + statusButton.addActionListener(e-> { + List activityPanels = new ArrayList<>(); + Arrays + .stream(panelInsideScrollPane.getComponents()) + .filter(c-> c instanceof ActivityPanel).forEach(f-> activityPanels.add((ActivityPanel) f)); + Collections.sort(activityPanels); + + double done = 0d; + double todo = 8d; + for(ActivityPanel ap:activityPanels) { + + double now = ap.getActivity().getSpentHours() + ap.getActivity().getSpentMinutes() / 60d; + done = done + now; + todo = todo - now; + } + Utils.showNotification("Current status: done=" + NumberFormats.FORMATTER_TWO_DECIMAL_PLACES.format(done) + "h. todo="+ NumberFormats.FORMATTER_TWO_DECIMAL_PLACES.format(todo)); + + }); // for (int i = 0; i < 10; i++) { // add(new ActivityPanel(activityRepository, // new Activity("id", 2000, 7, 7, "name", "comment", "ticket", 2, 30,