When user applies a new LaF via the Spark --> Preferences --> Appearance --> "Select Look & Feel" menu, the "Change now" button does not always apply the new LaF fully, leaving artifacts of the previous LaF. This is a bad UX. To force Spark to redraw the entire UI, force spark to relog after user confirmation.
Hey Tim - yes this is still a WIP, things like international translations must be added and such. I just moved houses, and wont have internet until next sunday, so I'll make a point this week to review this and finish it up from my local repo.
Patch File: SPARK-1544.patch
This patch fixes 2 (related) things.
1) Improves "Change Now" button to actually apply new LaF to all UI components immediately instead of when new components are first drawn. This helps prevent a fragmented UI theme.
Note: Certain aspects of the UI theme are currently controlled using the Colors tab of the Customization panel, such as the Main Window background, highlight colors, some title bars, etc. Consequently, some LaF theme colors clash with these pre-set colors. This is no change from what is current.
2) If we are switching from a Substance LaF to a non-Substance LaF, we must restart Spark to ensure the UI operates normally.
This is because Substance lives on even after it's been disabled, and causes weird UI behavior such as fragments, frozen menu's, etc. Other LaF's like JTattoo do not exhibit this behavior, so switching from a JTattoo to Substance LaF will not cause problems, but switching from a Substance LaF to a JTattoo LaF will.
It's just better to force a restart of Spark so Substance is not loaded anymore.
Tested this version. Works fine.
How about applying this to the source?
patch applied, commit: 8d598fedb24c2ed1436e71f191031d5888d721f4