This is an automated email from the ASF dual-hosted git repository. neilcsmith pushed a commit to branch delivery in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/delivery by this push: new 474636cccf Make Options category buttons accent colour aware in FlatLaf. new 1f231392fb Merge pull request #5867 from neilcsmith-net/flatlaf-options-fix 474636cccf is described below commit 474636cccf62e539704e53dd21bc05d42c89f926 Author: Neil C Smith <neilcsm...@apache.org> AuthorDate: Fri Apr 21 14:57:25 2023 +0100 Make Options category buttons accent colour aware in FlatLaf. Adds optional highlight and selection foreground UI keys in OptionsPanel. Updates FlatLaf to use derived colours for all option button colours. Fixes issue with illegible foreground text in selected option category and default settings. --- .../swing/laf/flatlaf/FlatDarkLaf.properties | 6 ---- .../netbeans/swing/laf/flatlaf/FlatLaf.properties | 5 +++ .../swing/laf/flatlaf/FlatLightLaf.properties | 6 ---- .../org/netbeans/modules/options/OptionsPanel.java | 39 ++++++++++++++++++++-- 4 files changed, 42 insertions(+), 14 deletions(-) diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties index c5b28b468e..9e2fe686ff 100644 --- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties +++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatDarkLaf.properties @@ -192,9 +192,3 @@ Nb.browser.picker.foreground.light=rgb(192,192,192) # search in projects nb.search.sandbox.highlight=@selectionBackground nb.search.sandbox.regexp.wrong=rgb(255, 71, 71) - - -#---- OptionsPanel ---- - -nb.options.categories.selectionBackground = @selectionBackground -nb.options.categories.highlightBackground = $TabbedPane.hoverColor diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties index 7305879a94..fe3ced48fa 100644 --- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties +++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties @@ -165,6 +165,11 @@ Nb.MainWindow.Toolbar.Dragger=org.netbeans.swing.laf.flatlaf.ui.FlatToolbarDragg #---- OptionsPanel ---- nb.options.categories.tabPanelForeground = @foreground +nb.options.categories.tabPanelBackground = @background +nb.options.categories.selectionForeground = @selectionForeground +nb.options.categories.selectionBackground = @selectionBackground +nb.options.categories.highlightForeground = @selectionInactiveForeground +nb.options.categories.highlightBackground = @selectionInactiveBackground nb.options.categories.separatorColor = $Separator.foreground nb.options.categories.selectionBorderColor = $nb.options.categories.selectionBackground nb.options.categories.highlightBorderColor = $nb.options.categories.highlightBackground diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties index 234ece4f51..95606044b9 100644 --- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties +++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties @@ -80,9 +80,3 @@ nb.quicksearch.border=1,1,1,1,@background # output nb.output.selectionBackground=#89BCED - - -#---- OptionsPanel ---- - -nb.options.categories.selectionBackground = rgb(193, 210, 238) -nb.options.categories.highlightBackground = rgb(224, 232, 246) diff --git a/platform/options.api/src/org/netbeans/modules/options/OptionsPanel.java b/platform/options.api/src/org/netbeans/modules/options/OptionsPanel.java index 4aa86be09f..15f0d34dfe 100644 --- a/platform/options.api/src/org/netbeans/modules/options/OptionsPanel.java +++ b/platform/options.api/src/org/netbeans/modules/options/OptionsPanel.java @@ -1008,6 +1008,22 @@ public class OptionsPanel extends JPanel { return new Color (193, 210, 238); } + private Color getSelectionForeground() { + Color uiColor = UIManager.getColor("nb.options.categories.selectionForeground"); //NOI18N + if (uiColor != null) { + return uiColor; + } + + if ( useUIDefaultsColors() ) { + Color res = UIManager.getColor("Tree.selectionForeground"); //NOI18N + if (null == res) { + return new Color(res.getRGB()); + } + } + + return getTabPanelForeground(); + } + private Color getHighlightBackground() { Color uiColor = UIManager.getColor("nb.options.categories.highlightBackground"); //NOI18N if (uiColor != null) { @@ -1025,6 +1041,24 @@ public class OptionsPanel extends JPanel { return new Color (224, 232, 246); } + private Color getHighlightForeground() { + Color uiColor = UIManager.getColor("nb.options.categories.highlightForeground"); //NOI18N + if (uiColor != null) { + return uiColor; + } + + if( useUIDefaultsColors() ) { + if( !Color.white.equals( getTabPanelBackground() ) ) { + Color res = UIManager.getColor( "Tree.selectionForeground" ); //NOI18N + if( null == res ) + res = Color.blue; + return new Color( res.getRGB() ); + } + } + + return getTabPanelForeground(); + } + /** * Get if Options Panel uses UI default colors. * Use property nb.options.useUIDefaultsColors to use modify it. @@ -1190,7 +1224,7 @@ public class OptionsPanel extends JPanel { )); } setBackground(selected); - setForeground(getUIColorOrDefault("MenuItem.selectionForeground", getTabPanelForeground())); + setForeground(getSelectionForeground()); } void setHighlighted() { @@ -1203,7 +1237,7 @@ public class OptionsPanel extends JPanel { new EmptyBorder(0, 2, 0, 2) )); setBackground(highlighted); - setForeground(getTabPanelForeground()); + setForeground(getHighlightForeground()); } if (!category.isHighlited()) { if (categoryModel.getHighlitedCategoryID() != null) { @@ -1323,6 +1357,7 @@ public class OptionsPanel extends JPanel { @Override void setNormal() { + super.setNormal(); setBorder(normalBorder); status = STATUS_NORMAL; repaint(); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists