From e34fbcec5899fb7c8a306c39220cee94cfc9db3b Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 4 Oct 2021 15:31:55 +0200 Subject: [PATCH] ToolBar: foolbars are no longer floatable by default --- CHANGELOG.md | 3 +++ .../com/formdev/flatlaf/ui/FlatToolBarUI.java | 19 +++++++++++++++++++ .../com/formdev/flatlaf/FlatLaf.properties | 5 ++++- .../uidefaults/FlatDarkLaf_1.8.0_202.txt | 1 + .../uidefaults/FlatLightLaf_1.8.0_202.txt | 1 + .../uidefaults/FlatTestLaf_1.8.0_202.txt | 1 + .../flatlaf/themeeditor/FlatLafUIKeys.txt | 1 + 7 files changed, 30 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3045515..19f82468 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ FlatLaf Change Log - Theming improvements: Reworks core themes to make it easier to create new themes (e.g. reduced explicit colors by using color functions). **Note**: There are minor incompatible changes in FlatLaf properties files. (PR #390) +- ToolBar: Toolbars are no longer floatable by default (dots on left side of + toolbar that allows dragging toolbar). Use `UIManager.put( + "ToolBar.floatable", true )` if you want the old behavior. #### Fixed bugs diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolBarUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolBarUI.java index a2f100ac..c10fafc3 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolBarUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatToolBarUI.java @@ -51,6 +51,7 @@ import com.formdev.flatlaf.util.LoggingFacade; * * * @uiDefault ToolBar.focusableButtons boolean + * @uiDefault ToolBar.floatable boolean * * * @@ -70,6 +71,7 @@ public class FlatToolBarUI @Styleable protected Insets borderMargins; @Styleable protected Color gripColor; + private Boolean oldFloatable; private Map oldStyleValues; public static ComponentUI createUI( JComponent c ) { @@ -103,6 +105,23 @@ public class FlatToolBarUI super.installDefaults(); focusableButtons = UIManager.getBoolean( "ToolBar.focusableButtons" ); + + // floatable + if( !UIManager.getBoolean( "ToolBar.floatable" ) ) { + oldFloatable = toolBar.isFloatable(); + toolBar.setFloatable( false ); + } else + oldFloatable = null; + } + + @Override + protected void uninstallDefaults() { + super.uninstallDefaults(); + + if( oldFloatable != null ) { + toolBar.setFloatable( oldFloatable ); + oldFloatable = null; + } } @Override diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index c4ddeb30..373a4b75 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -760,6 +760,8 @@ ToggleButton.tab.focusBackground = $TabbedPane.focusColor ToolBar.border = com.formdev.flatlaf.ui.FlatToolBarBorder ToolBar.borderMargins = 2,2,2,2 ToolBar.isRollover = true +ToolBar.floatable = false +ToolBar.focusableButtons = false ToolBar.gripColor = @icon ToolBar.dockingBackground = darken($ToolBar.background,5%) ToolBar.dockingForeground = $Component.borderColor @@ -770,8 +772,9 @@ ToolBar.separatorSize = null ToolBar.separatorWidth = 7 ToolBar.separatorColor = $Separator.foreground +# not used in FlatLaf; intended for custom components in toolbar +# https://github.com/JFormDesigner/FlatLaf/issues/56#issuecomment-586297814 ToolBar.spacingBorder = $Button.toolbar.spacingInsets -ToolBar.focusableButtons = false #---- ToolTipManager ---- diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt index 0fa6c9a8..b3f2a198 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -1268,6 +1268,7 @@ ToolBar.borderMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] ToolBar.darkShadow #7a7d7f HSL 204 2 49 javax.swing.plaf.ColorUIResource [UI] ToolBar.dockingBackground #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] ToolBar.dockingForeground #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatable false ToolBar.floatingBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] ToolBar.floatingForeground #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] ToolBar.focusableButtons false diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt index c0c370f0..2e875069 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -1273,6 +1273,7 @@ ToolBar.borderMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] ToolBar.darkShadow #9c9c9c HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] ToolBar.dockingBackground #e5e5e5 HSL 0 0 90 javax.swing.plaf.ColorUIResource [UI] ToolBar.dockingForeground #c2c2c2 HSL 0 0 76 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatable false ToolBar.floatingBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] ToolBar.floatingForeground #c2c2c2 HSL 0 0 76 javax.swing.plaf.ColorUIResource [UI] ToolBar.focusableButtons false diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt index 12530c2b..67ff731d 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt @@ -1281,6 +1281,7 @@ ToolBar.borderMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] ToolBar.darkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] ToolBar.dockingBackground #b3ffb3 HSL 120 100 85 javax.swing.plaf.ColorUIResource [UI] ToolBar.dockingForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatable false ToolBar.floatingBackground #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] ToolBar.floatingForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] ToolBar.focusableButtons true diff --git a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt index fd4138ff..c9a2c265 100644 --- a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt +++ b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt @@ -989,6 +989,7 @@ ToolBar.borderMargins ToolBar.darkShadow ToolBar.dockingBackground ToolBar.dockingForeground +ToolBar.floatable ToolBar.floatingBackground ToolBar.floatingForeground ToolBar.focusableButtons