From 9634f28da5fc9adaea90561e6cfe753e4e22c9a2 Mon Sep 17 00:00:00 2001 From: Robert Vokac Date: Sun, 28 Jan 2024 17:31:24 +0000 Subject: [PATCH] Added new improvements --- src/main/java/rvc/timecalc/BooleanHolder.java | 8 ++++ src/main/java/rvc/timecalc/TimeCalcConf.java | 7 +++ .../java/rvc/timecalc/TimeCalcWindow.java | 46 ++++++++++++------- src/main/java/rvc/timecalc/Toaster.java | 2 +- src/main/java/rvc/timecalc/Utils.java | 2 + 5 files changed, 47 insertions(+), 18 deletions(-) diff --git a/src/main/java/rvc/timecalc/BooleanHolder.java b/src/main/java/rvc/timecalc/BooleanHolder.java index fb4b909..2e657da 100644 --- a/src/main/java/rvc/timecalc/BooleanHolder.java +++ b/src/main/java/rvc/timecalc/BooleanHolder.java @@ -7,6 +7,14 @@ package rvc.timecalc; public class BooleanHolder { private boolean b; + public BooleanHolder(boolean b) { + this.b = b; + } + + public BooleanHolder() { + this(false); + } + public void set(boolean b) { this.b = b; } diff --git a/src/main/java/rvc/timecalc/TimeCalcConf.java b/src/main/java/rvc/timecalc/TimeCalcConf.java index 2c1b3cf..28edf53 100644 --- a/src/main/java/rvc/timecalc/TimeCalcConf.java +++ b/src/main/java/rvc/timecalc/TimeCalcConf.java @@ -14,6 +14,7 @@ public class TimeCalcConf { private static final String JOKE_VISIBLE = "jokes.visible"; private static final String BATTERY_WAVES_ENABLED = "battery.waves.enabled"; private static final String EVERYTHING_HIDDEN = "everything-hidden"; + private static final String TOASTS_ENABLED = "toasts.enabled"; private static TimeCalcConf INSTANCE; private Properties properties = new Properties(); @@ -59,5 +60,11 @@ public class TimeCalcConf { } return properties.get(EVERYTHING_HIDDEN).equals("true"); } + public boolean areToastsEnabled() { + if(!properties.containsKey(TOASTS_ENABLED)) { + return true; + } + return properties.get(EVERYTHING_HIDDEN).equals("true"); + } } diff --git a/src/main/java/rvc/timecalc/TimeCalcWindow.java b/src/main/java/rvc/timecalc/TimeCalcWindow.java index 78e5128..4defc59 100644 --- a/src/main/java/rvc/timecalc/TimeCalcWindow.java +++ b/src/main/java/rvc/timecalc/TimeCalcWindow.java @@ -51,10 +51,10 @@ public class TimeCalcWindow { private int endMinute; private boolean stopBeforeEnd = false; private boolean vtipyShown = false; - private boolean everythingHidden = false; public TimeCalcWindow(String startTimeIn, String overTimeIn) { - everythingHidden = TimeCalcConf.getInstance().isEverythingHidden(); + Utils.everythingHidden.set(TimeCalcConf.getInstance().isEverythingHidden()); + Utils.toastsAreEnabled.set(TimeCalcConf.getInstance().areToastsEnabled()); this.startTime = startTimeIn; this.overTime = (overTimeIn == null || overTimeIn.isEmpty()) ? DEFAULT_OVERTIME : overTimeIn; @@ -100,10 +100,10 @@ public class TimeCalcWindow { // Key Pressed method public void keyPressed(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_UP){ - everythingHidden = false; + Utils.everythingHidden.set(false); } if(e.getKeyCode() == KeyEvent.VK_DOWN){ - everythingHidden = true; + Utils.everythingHidden.set(true); } if(e.getKeyCode() == KeyEvent.VK_G){ @@ -114,11 +114,14 @@ public class TimeCalcWindow { Utils.highlighted.flip(); } if(e.getKeyCode() == KeyEvent.VK_V){ - everythingHidden = !everythingHidden; + Utils.everythingHidden.flip(); } if(e.getKeyCode() == KeyEvent.VK_R){ commandButton.doClick(); } + if(e.getKeyCode() == KeyEvent.VK_T){ + Utils.toastsAreEnabled.flip(); + } window.repaint(); } @@ -200,6 +203,15 @@ public class TimeCalcWindow { case "gray": Utils.ultraLight.set(commandsAsArray[1].equals("1"));break; case "waves": Battery.wavesOff = commandsAsArray[1].equals("0");break; case "uptime": JOptionPane.showMessageDialog(null, ((int)((System.nanoTime() -Main.startNanoTime)) / 1000000000 / 60) + " minutes");break; + case "toast": + Toaster t = new Toaster(); + t.setToasterWidth(800); + t.setToasterHeight(800); + t.setDisplayTime(60000 * 5); + t.setToasterColor(Color.GRAY); + Font font = new Font("sans", Font.PLAIN, 12); + t.setToasterMessageFont(font);t.setDisplayTime(5000); t.showToaster(commands.substring(6));break; + case "toasts": Utils.toastsAreEnabled.set(commandsAsArray[1].equals("1"));break; default: JOptionPane.showMessageDialog(null, "Unknown command: " + commandsAsArray[0]); } }); @@ -285,18 +297,18 @@ public class TimeCalcWindow { break; } - text.setVisible(!everythingHidden); - progressSquare.setVisible(!everythingHidden); - progressCircle.setVisible(!everythingHidden); - analogClock.setVisible(!everythingHidden); - battery.setVisible(!everythingHidden); - batteryForWeek.setVisible(!everythingHidden); - batteryForMonth.setVisible(!everythingHidden); - jokeButton.setVisible(!TimeCalcConf.getInstance().isJokeVisible()? false : !everythingHidden); - commandButton.setVisible(!everythingHidden); - restartButton.setVisible(!everythingHidden); - exitButton.setVisible(!everythingHidden); - window.setTitle(everythingHidden ? "" : "Time Calc"); + text.setVisible(!Utils.everythingHidden.get()); + progressSquare.setVisible(!Utils.everythingHidden.get()); + progressCircle.setVisible(!Utils.everythingHidden.get()); + analogClock.setVisible(!Utils.everythingHidden.get()); + battery.setVisible(!Utils.everythingHidden.get()); + batteryForWeek.setVisible(!Utils.everythingHidden.get()); + batteryForMonth.setVisible(!Utils.everythingHidden.get()); + jokeButton.setVisible(!TimeCalcConf.getInstance().isJokeVisible()? false : !Utils.everythingHidden.get()); + commandButton.setVisible(!Utils.everythingHidden.get()); + restartButton.setVisible(!Utils.everythingHidden.get()); + exitButton.setVisible(!Utils.everythingHidden.get()); + window.setTitle(Utils.everythingHidden.get() ? "" : "Time Calc"); sb = new StringBuilder(); LocalDateTime now = LocalDateTime.now(); String nowString = DATE_TIME_FORMATTER.format(now); diff --git a/src/main/java/rvc/timecalc/Toaster.java b/src/main/java/rvc/timecalc/Toaster.java index 786e371..72586cf 100644 --- a/src/main/java/rvc/timecalc/Toaster.java +++ b/src/main/java/rvc/timecalc/Toaster.java @@ -111,7 +111,7 @@ public class Toaster { * Show a toaster with the specified message and the associated icon. */ public void showToaster(Icon icon, String msg) { - if(TimeCalcConf.getInstance().isEverythingHidden()) { + if(Utils.everythingHidden.get() || !Utils.toastsAreEnabled.get()) { //nothing to do return; } diff --git a/src/main/java/rvc/timecalc/Utils.java b/src/main/java/rvc/timecalc/Utils.java index 080182f..e9b8e2d 100644 --- a/src/main/java/rvc/timecalc/Utils.java +++ b/src/main/java/rvc/timecalc/Utils.java @@ -14,6 +14,8 @@ import java.nio.file.Files; public class Utils { public static final BooleanHolder highlighted = new BooleanHolder(); public static final BooleanHolder ultraLight = new BooleanHolder(); + public static final BooleanHolder everythingHidden = new BooleanHolder(); + public static final BooleanHolder toastsAreEnabled = new BooleanHolder(true); public static final Color ULTRA_LIGHT_GRAY = new Color(216,216,216); /** * Count of bytes per one kilobyte.