RFR: 8301302: Platform preferences API [v9]
Andy Goryachev
angorya at openjdk.org
Wed Sep 6 18:30:12 UTC 2023
On Wed, 6 Sep 2023 18:07:31 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:
>> tests/manual/events/PlatformPreferencesTest.java line 85:
>>
>>> 83: textArea.setText("preferences = " + formatPrefs(cachedPreferences.entrySet().stream()));
>>> 84:
>>> 85: Platform.getPreferences().addListener(
>>
>> While testing on macOS 13.3.1a, a change in the Appearance settings page results in one valid change reported, followed by a number of empty changes. Is it possible to suppress empty changes?
>>
>> example:
>>
>>
>> changed = {
>> macOS.NSColor.alternatingContentBackgroundColors=[Ljavafx.scene.paint.Color;@58d04cb
>> macOS.NSColor.controlBackgroundColor=0xffffffff
>> macOS.NSColor.controlColor=0xffffffff
>> macOS.NSColor.controlTextColor=0x000000d8
>> macOS.NSColor.disabledControlTextColor=0x0000003f
>> macOS.NSColor.gridColor=0xe6e6e6ff
>> macOS.NSColor.headerTextColor=0x000000d8
>> macOS.NSColor.highlightColor=0xffffffff
>> macOS.NSColor.keyboardFocusIndicatorColor=0x4eab307f
>> macOS.NSColor.labelColor=0x000000d8
>> macOS.NSColor.linkColor=0x0068daff
>> macOS.NSColor.placeholderTextColor=0x0000003f
>> macOS.NSColor.quaternaryLabelColor=0x00000019
>> macOS.NSColor.secondaryLabelColor=0x0000007f
>> macOS.NSColor.selectedContentBackgroundColor=0x4da033ff
>> macOS.NSColor.selectedControlColor=0xd0eac8ff
>> macOS.NSColor.selectedControlTextColor=0x000000d8
>> macOS.NSColor.selectedTextBackgroundColor=0xd0eac8ff
>> macOS.NSColor.selectedTextColor=0x000000ff
>> macOS.NSColor.separatorColor=0x00000019
>> macOS.NSColor.systemBlueColor=0x007affff
>> macOS.NSColor.systemBrownColor=0xa2845eff
>> macOS.NSColor.systemGrayColor=0x8e8e93ff
>> macOS.NSColor.systemGreenColor=0x28cd41ff
>> macOS.NSColor.systemIndigoColor=0x5856d6ff
>> macOS.NSColor.systemOrangeColor=0xff9500ff
>> macOS.NSColor.systemPinkColor=0xff2d55ff
>> macOS.NSColor.systemPurpleColor=0xaf52deff
>> macOS.NSColor.systemRedColor=0xff3b30ff
>> macOS.NSColor.systemTealColor=0x59adc4ff
>> macOS.NSColor.systemYellowColor=0xffcc00ff
>> macOS.NSColor.tertiaryLabelColor=0x00000042
>> macOS.NSColor.textBackgroundColor=0xffffffff
>> macOS.NSColor.textColor=0x000000ff
>> macOS.NSColor.underPageBackgroundColor=0x969696e5
>> macOS.NSColor.unemphasizedSelectedContentBackgroundColor=0xdcdcdcff
>> macOS.NSColor.unemphasizedSelectedTextBackgroundColor=0xdcdcdcff
>> macOS.NSColor.unemphasizedSelectedTextColor=0x000000ff
>> macOS.NSColor.windowBackgroundColor=0xecececff
>> macOS.NSColor.windowFrameTextColor=0x000000d8
>> }
>> changed = {
>>
>> }
>> changed = {
>>
>> }
>> changed = {
>>
>> }
>> chan...
>
> Fixed.
sorry, that's not exactly what I meant. Platform preferences gets invalidated multiple times, but only the first time the value(s) are changed - all the other invalidations in the same batch have values unchanged.
Is it possible to have only one invalidation per change?
example:
{Windows.UIColor.Accent=0x498205ff, Windows.SPI.HighContrastOn=false, Windows.SysColor.COLOR_HIGHLIGHTTEXT=0xffffffff, Windows.SysColor.COLOR_WINDOW=0xffffffff, Windows.UIColor.AccentLight1=0x61a907ff, Windows.SysColor.COLOR_3DFACE=0xf0f0f0ff, Windows.SysColor.COLOR_HOTLIGHT=0x0066ccff, Windows.SysColor.COLOR_WINDOWTEXT=0x000000ff, Windows.SysColor.COLOR_BTNTEXT=0x000000ff, Windows.UIColor.Foreground=0xffffffff, Windows.UIColor.AccentDark1=0x3e7204ff, Windows.UIColor.Background=0x000000ff, Windows.UIColor.AccentLight3=0xc1f96cff, Windows.UIColor.AccentLight2=0x99f618ff, Windows.SysColor.COLOR_GRAYTEXT=0x6d6d6dff, Windows.SysColor.COLOR_HIGHLIGHT=0x0078d7ff, Windows.UIColor.AccentDark2=0x254b03ff, Windows.UIColor.AccentDark3=0x0d2801ff}
{Windows.UIColor.Accent=0x498205ff, Windows.SPI.HighContrastOn=false, Windows.SysColor.COLOR_HIGHLIGHTTEXT=0xffffffff, Windows.SysColor.COLOR_WINDOW=0xffffffff, Windows.UIColor.AccentLight1=0x61a907ff, Windows.SysColor.COLOR_3DFACE=0xf0f0f0ff, Windows.SysColor.COLOR_HOTLIGHT=0x0066ccff, Windows.SysColor.COLOR_WINDOWTEXT=0x000000ff, Windows.SysColor.COLOR_BTNTEXT=0x000000ff, Windows.UIColor.Foreground=0xffffffff, Windows.UIColor.AccentDark1=0x3e7204ff, Windows.UIColor.Background=0x000000ff, Windows.UIColor.AccentLight3=0xc1f96cff, Windows.UIColor.AccentLight2=0x99f618ff, Windows.SysColor.COLOR_GRAYTEXT=0x6d6d6dff, Windows.SysColor.COLOR_HIGHLIGHT=0x0078d7ff, Windows.UIColor.AccentDark2=0x254b03ff, Windows.UIColor.AccentDark3=0x0d2801ff}
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1014#discussion_r1317672545
More information about the openjfx-dev
mailing list