Spark should relog on newly applied LaF

Description

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.

Environment

None

Activity

Show:
Jason Sipula
August 26, 2013, 5:54 PM

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.

Jason Sipula
February 11, 2014, 11:16 PM
Edited

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.

wroot
February 12, 2014, 7:05 PM

Tested this version. Works fine.

wroot
March 27, 2014, 2:01 PM

How about applying this to the source?

Jason Sipula
April 1, 2014, 3:57 AM

patch applied, commit: 8d598fedb24c2ed1436e71f191031d5888d721f4

Fixed

Assignee

Jason Sipula

Reporter

Jason Sipula

Labels

Expected Effort

None

Components

Fix versions

Affects versions

Priority

Minor
Configure