Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 507788

Summary: [theme] The UI Themes preferences have been removed
Product: [ECD] Orion Reporter: Michael Rennie <Michael_Rennie>
Component: ClientAssignee: Casey Flynn <caseyflynn>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: caseyflynn, emoffatt, wilford
Version: 13.0   
Target Milestone: 14.0   
Hardware: PC   
OS: Windows 7   
See Also: https://git.eclipse.org/r/87081
https://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=0527b81b2eae2312191afe0debe95285aa7b4322
Whiteboard:
Bug Depends on:    
Bug Blocks: 508950    
Attachments:
Description Flags
Patch that demonstrates proposed theme changes (following 'option 1' in the design document)
none
Patch contains code required to re-enable dynamically loading container themes. caseyflynn: review?

Description Michael Rennie CLA 2016-11-18 15:13:00 EST
As part of bug 443339, the entire preference page - and the ability for a user to theme Orion - was removed. 

There is no discussion why it was removed on the bug, but we should bring back the prefs and the feature, and if needed, update the code.
Comment 1 Casey Flynn CLA 2016-12-05 13:29:12 EST
Created attachment 265724 [details]
Patch that demonstrates proposed theme changes (following 'option 1' in the design document)
Comment 2 Casey Flynn CLA 2016-12-07 16:35:34 EST
Created attachment 265758 [details]
Patch contains code required to re-enable dynamically loading container themes.
Comment 3 Eclipse Genie CLA 2016-12-08 14:06:53 EST
New Gerrit change created: https://git.eclipse.org/r/86767
Comment 4 Eclipse Genie CLA 2016-12-12 18:19:52 EST
New Gerrit change created: https://git.eclipse.org/r/86998
Comment 5 Eclipse Genie CLA 2016-12-13 15:12:42 EST
New Gerrit change created: https://git.eclipse.org/r/87081
Comment 6 Michael Rennie CLA 2016-12-19 13:17:32 EST
I opened the CQ for the contribution:
https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12422
Comment 8 Michael Rennie CLA 2017-01-05 11:46:04 EST
The CQ has been approved and the code is merged. Thank you Casey!
Comment 9 Eric Moffatt CLA 2017-01-06 10:52:32 EST
Casey, this is *sweet*...kudos++. I'm huge fan of this type of immediate feedback !

I'll be playing around with this today and provide feedback but the first impression in great.
Comment 10 Casey Flynn CLA 2017-01-06 12:07:20 EST
(In reply to Eric Moffatt from comment #9)
Thanks Eric! If possible steer clear of the Import / Export buttons as they are being removed as part of bug 510006 (they shouldn't be there).
Comment 11 Eric Moffatt CLA 2017-01-10 10:24:36 EST
Casey, I"m holding off on reporting the significant set of one off glitches (i.e. some dialogs are still blue or a mix between the new theme and lightPage, there are still some buttons that aren't being picked up...).

The reason is that this is really our bad; our CSS is currently pretty messy and I suspect that we'll never get a proper theme without normalizing at least some of the CSS (i.e. we'll have to start making changes to the actual DOM structure HTML/JS rather than just CSS changes). I've talked with Mike and are considering our options here, any ideas...;-).
Comment 12 Casey Flynn CLA 2017-01-10 18:36:57 EST
(In reply to Eric Moffatt from comment #11)
Eric, 
Can I get the list you have compiled so far? I think it would be a good start to begin documenting the one-off items so we can get a better feel for how much work is involved for normalizing the CSS. I'm on board with modifying HTML/JS, and am happy to help in any way I can.
Comment 13 Casey Flynn CLA 2017-01-11 13:39:17 EST
Tracking UI fixes on Bug 510297
Comment 14 Casey Flynn CLA 2017-01-11 18:26:52 EST
(In reply to Casey Flynn from comment #12)
I was talking to Robert about this and he had a great idea:

Instead of attempting override existing styles, we could introduce css classes for each color available to the user.

So we would have something like:

.primary-background {
  background-color: foo
}
.secondary-background {
  background-color: bar
}

In addition to these, we could also add classes:

.primary-background-onHover:hover {
  background-color: foo
}

We could then go through and remove color settings from the existing css files, and update JS/HTML to include the corresponding color classes.

Thoughts?