From 64c5e0bd02310e0b7b8bdd9616bdb4c09b4a5e03 Mon Sep 17 00:00:00 2001 From: fskorgen Date: Sat, 2 May 2026 10:05:38 +0200 Subject: [PATCH] HOP-6511 [Bug]: Does not change the background color of the notes --- .../hop/ui/hopgui/dialog/NotePadDialog.java | 83 ++++--------------- 1 file changed, 18 insertions(+), 65 deletions(-) diff --git a/ui/src/main/java/org/apache/hop/ui/hopgui/dialog/NotePadDialog.java b/ui/src/main/java/org/apache/hop/ui/hopgui/dialog/NotePadDialog.java index cf871ffc3c1..0a0648a4aca 100644 --- a/ui/src/main/java/org/apache/hop/ui/hopgui/dialog/NotePadDialog.java +++ b/ui/src/main/java/org/apache/hop/ui/hopgui/dialog/NotePadDialog.java @@ -574,8 +574,7 @@ private void cancel() { } private void ok() { - PropsUi propsUi = PropsUi.getInstance(); - boolean isDark = propsUi.isDarkMode(); + NotePadMeta originalNotePadMeta = notePadMeta; notePadMeta = new NotePadMeta(); @@ -605,40 +604,26 @@ private void ok() { wBorderColor.getBackground().getGreen(), wBorderColor.getBackground().getBlue()); - if (this.notePadMeta != null) { // Editing existing note + if (originalNotePadMeta != null) { // Editing existing note RGB originalFont = new RGB( - this.notePadMeta.getFontColorRed(), - this.notePadMeta.getFontColorGreen(), - this.notePadMeta.getFontColorBlue()); + originalNotePadMeta.getFontColorRed(), + originalNotePadMeta.getFontColorGreen(), + originalNotePadMeta.getFontColorBlue()); RGB originalBg = new RGB( - this.notePadMeta.getBackGroundColorRed(), - this.notePadMeta.getBackGroundColorGreen(), - this.notePadMeta.getBackGroundColorBlue()); + originalNotePadMeta.getBackGroundColorRed(), + originalNotePadMeta.getBackGroundColorGreen(), + originalNotePadMeta.getBackGroundColorBlue()); RGB originalBorder = new RGB( - this.notePadMeta.getBorderColorRed(), - this.notePadMeta.getBorderColorGreen(), - this.notePadMeta.getBorderColorBlue()); - - if (isDark - && (isLightDefault(originalFont) - || isLightDefault(originalBg) - || isLightDefault(originalBorder))) { - // Save dark contrasted - fontRGB = propsUi.contrastColor(originalFont); - bgRGB = propsUi.contrastColor(originalBg); - borderRGB = propsUi.contrastColor(originalBorder); - } else if (!isDark - && (isDarkDefault(originalFont) - || isDarkDefault(originalBg) - || isDarkDefault(originalBorder))) { - // Save light defaults - if (isDarkDefault(originalFont)) fontRGB = originalFont; // Already light - if (isDarkDefault(originalBg)) bgRGB = originalBg; - if (isDarkDefault(originalBorder)) borderRGB = originalBorder; - } + originalNotePadMeta.getBorderColorRed(), + originalNotePadMeta.getBorderColorGreen(), + originalNotePadMeta.getBorderColorBlue()); + + fontRGB = keepOriginalColorIfUnchanged(originalFont, fontRGB); + bgRGB = keepOriginalColorIfUnchanged(originalBg, bgRGB); + borderRGB = keepOriginalColorIfUnchanged(originalBorder, borderRGB); } notePadMeta.setFontColorRed(fontRGB.red); @@ -656,41 +641,9 @@ private void ok() { dispose(); } - private boolean isDarkDefault(RGB rgb) { - PropsUi propsUi = PropsUi.getInstance(); - - // Check if RGB matches contrastColor() of each light default - RGB blackLight = - new RGB( - NotePadMeta.COLOR_RGB_BLACK_RED, - NotePadMeta.COLOR_RGB_BLACK_GREEN, - NotePadMeta.COLOR_RGB_BLACK_BLUE); - RGB bgLight = - new RGB( - NotePadMeta.COLOR_RGB_DEFAULT_BG_RED, - NotePadMeta.COLOR_RGB_DEFAULT_BG_GREEN, - NotePadMeta.COLOR_RGB_DEFAULT_BG_BLUE); - RGB borderLight = - new RGB( - NotePadMeta.COLOR_RGB_DEFAULT_BORDER_RED, - NotePadMeta.COLOR_RGB_DEFAULT_BORDER_GREEN, - NotePadMeta.COLOR_RGB_DEFAULT_BORDER_BLUE); - - return rgb.equals(propsUi.contrastColor(blackLight)) - || rgb.equals(propsUi.contrastColor(bgLight)) - || rgb.equals(propsUi.contrastColor(borderLight)); - } - - private boolean isLightDefault(RGB rgb) { - return (rgb.red == NotePadMeta.COLOR_RGB_BLACK_RED - && rgb.green == NotePadMeta.COLOR_RGB_BLACK_GREEN - && rgb.blue == NotePadMeta.COLOR_RGB_BLACK_BLUE) - || (rgb.red == NotePadMeta.COLOR_RGB_DEFAULT_BG_RED - && rgb.green == NotePadMeta.COLOR_RGB_DEFAULT_BG_GREEN - && rgb.blue == NotePadMeta.COLOR_RGB_DEFAULT_BG_BLUE) - || (rgb.red == NotePadMeta.COLOR_RGB_DEFAULT_BORDER_RED - && rgb.green == NotePadMeta.COLOR_RGB_DEFAULT_BORDER_GREEN - && rgb.blue == NotePadMeta.COLOR_RGB_DEFAULT_BORDER_BLUE); + private RGB keepOriginalColorIfUnchanged(RGB originalColor, RGB selectedColor) { + RGB displayedOriginalColor = props.contrastColor(originalColor); + return selectedColor.equals(displayedOriginalColor) ? originalColor : selectedColor; } private void refreshTextNote() {