| Summary: | Refactor Skinning Code to Themes | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Sebastian Schneider <laluz> | ||||||
| Component: | Nebula | Assignee: | Emil Crumhorn <emil.crumhorn> | ||||||
| Status: | CLOSED INVALID | QA Contact: | |||||||
| Severity: | enhancement | ||||||||
| Priority: | P3 | CC: | tom.schindl | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Created attachment 170142 [details]
Patch with partial implementation
Created attachment 170143 [details]
O2k10 theme pre-preview :)
This bug does not have a target milestone assigned and is automatically closed as part of the 2.3.0 release cleanup. It could be that this bug is accidentally closed for which we apologize. If this bug is still relevant, please re-open and set a target milestone. |
Build Identifier: 1.0.0.HEAD A lot of the skinning is hardwired in the code, so I'd like to suggest to refactor that code to pluggable themes. For backwards compatibility, this could be reached by extending API using an <IThemeManager> like public interface IThemeManager { public ISettings getSettings(); public IColorManager getColorManager(); public ILanguageSettings getLanguageSettings(); public IThemeManager setLanguage(ILanguageSettings language); } Thus it's fully backward-compatible and fluent interfaces could be utilized when customizing. ISettings, IColorManager can be extended be inherited interfaces guaranteeing compatibility, as well. That way theme extension and reuse is much easier, and skin-specific code must not be taken care of. Within the same step, modern themes like Office 2010 or a new e4-look could be added. Reproducible: Always