From d71abe29b0956fad3cf90409543605f95b150172 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Ortega=20Froysa?= Date: Sun, 1 Mar 2026 10:19:29 +0100 Subject: [PATCH] Add support for free days off. --- .../net/themusicinnoise/vaccalc/CalendarPanel.java | 11 +++++++++-- vac-points.txt | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/themusicinnoise/vaccalc/CalendarPanel.java b/src/main/java/net/themusicinnoise/vaccalc/CalendarPanel.java index 8572092..b69a60d 100644 --- a/src/main/java/net/themusicinnoise/vaccalc/CalendarPanel.java +++ b/src/main/java/net/themusicinnoise/vaccalc/CalendarPanel.java @@ -69,6 +69,9 @@ public class CalendarPanel extends JPanel { } private void toggleSelection(LocalDate date) { + if (pointEngine.getPointsOfDay(date) == 0.0) + return; + if (selectedDates.contains(date)) { selectedDates.remove(date); } else { @@ -156,8 +159,12 @@ public class CalendarPanel extends JPanel { LocalDate cellDate = currentMonth.atDay(day); boolean isToday = cellDate.equals(today); boolean isSelected = selectedDates.contains(cellDate); + double points = pointEngine.getPointsOfDay(cellDate); - if (isSelected && isToday) { + if (points == 0.0) { + g.setColor(new Color(255, 100, 100)); + g.fillRect(x, y, cellWidth, cellHeight); + } else if (isSelected && isToday) { g.setColor(new Color(123, 166, 180)); g.fillRect(x, y, cellWidth, cellHeight); } else if (isSelected) { @@ -176,7 +183,7 @@ public class CalendarPanel extends JPanel { int textY = y + (cellHeight - fm.getHeight()) / 2 + fm.getAscent() - 8; g.drawString(dayStr, textX, textY); - String pointsStr = "(" + pointEngine.getPointsOfDay(cellDate) + ")"; + String pointsStr = "(" + points + ")"; Font smallFont = new Font("Arial", Font.PLAIN, 10); FontMetrics smallFm = g.getFontMetrics(smallFont); g.setFont(smallFont); diff --git a/vac-points.txt b/vac-points.txt index e7a63bd..c10f803 100644 --- a/vac-points.txt +++ b/vac-points.txt @@ -4,3 +4,7 @@ m=Jul 0.825 m=Aug 0.825 2026-12-24 0.5 2026-12-31 0.5 +dow=Sun 0.0 +dow=Sat 0.0 +2026-01-01 0.0 +2026-12-25 0.0