RFR: 8301302: Platform preferences API [v9]

Andy Goryachev angorya at openjdk.org
Wed Sep 6 19:36:14 UTC 2023


On Wed, 6 Sep 2023 19:08:51 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

>> 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}
>
> That's a good point. I've changed the implementation so that even when multiple preferences have changed, only a single invalidation notification is generated.

thank you, getting one event per change via OS Settings panel on win11 and macOS.
@kevinrushforth please check this on Linux 

(I've added this on PlatformPreferencesTest:89 -

System.out.println(Platform.getPreferences());

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1014#discussion_r1317734061


More information about the openjfx-dev mailing list