Icon Theme Switching in OOo

OpenOffice.org

Document - ID	Specification Owner	Last Change	Status
	Jan Holesovsky	2005-12-22	Final
Conforms to	
Applies to	binfilter, config_office, dbaccess, extensions, framework, instsetoo_native, officecfg, ooo_custom_images, sfx2, solenv, svtools, svx, vcl, xmlhelp
Task ID(s)	i36518
Category	Feature

Abstract

A generic mechanism for theming all OO.o icons would allow the look of OO.o to be changed to be more consistent with whatever platform it is running on. In addition, in the future, the use of this mechanism to provide the accessible icon functionality would remove considerable complexity from the code – save memory, and improve performance for all OO.o users.

i-Team Members (The specification owner is part of the i-Team)

	Name	E-mail Address
User Experience	Christian Jansen	Christian.Jansen@Sun.COM
Development	Jan Holesovsky Michael Meeks	kendy@suse.cz michael.meeks@novell.com
Quality Assurance	Thorsten Martens, Eric Savary	Thorsten.Martens@Sun.COM, Eric.Savary@Sun.COM
Documentation	Uwe Fischer	Uwe.Fischer@Sun.COM

Approved for Implementation

	Approved by	Date
User Experience	Christian Jansen	2005-10-19, the approval
Development	Jan Holesovsky	2005-07-26
Quality Assurance	Eric Savary	2005-10-19, the approval
Documentation	Uwe Fischer	2005-07-28, the approval
String Review		

Document Change History

Rev. Level	Change	Initials	Date
1.0	Inital draft	kendy	2005-07-26
1.1	Added the iTeam members	kendy	2005-07-27
1.2	Fixed 'Approved for Implementation', added screenshots, dates of the approvals.	kendy	2005-07-29
1,3	Remove references to either Crystal or Industrial – they appear to confuse, clarify accessibility icon issues.	MEJM	2005-08-03
1.4	Rewrote some paragraphs, added string list and Future Task (Error Conditions)	ES	2005-08-03
1.5	Improved the parts marked as unclear.	kendy	2005-10-10
1.6	added a link to Optional Hardware Acceleration	MMP	12.12.2005
1.7	Added dates of approval	kendy	2005-12-22

Contents

Glossary	1

1	Motivation	1

2	User Scenarios	1

3	Goals	1

4	Requirements and Dependencies	1

4.1	Requirements	1

4.2	Technical Dependencies	1

5	Competitive Analyses	1

6	Detailed Specification	1

6.1	G11n	2

6.2	Error Conditions	2

6.3	Migration	2

7	Future Tasks	2

8	Notes	2

9	References	3

Glossary

Term	Description
Icon theme	Set of icons conforming to one style.
Industrial	The default Gnome icon theme.
Crystal	The default KDE icon theme.
HiContrast	lch_*, sch_*, etc. icons from the default images.zip turned into a separate theme.

Motivation

Icon theme is a very important part of the desktop integration. For the user, it is very confusing when OpenOffice.org uses another icon theme than the rest of the applications. Additionally, it must be easy for the user to switch the theme.

As a solution, we need to implement switching icons as simple as a Tools-> Options...-> OpenOffice.org-> View-> Icon size and style combo box where the user can choose his preferred set.

The basic implementation of this feature allows OpenOffice.org to switch just between two sets (default and HiContrast) that are both in the images.zip archive – the benefit is mostly realisable in the future with additions of (as yet unfinished) icon themes.

User Scenarios

A user has just installed OOo and starts it for the first time. The first thing she notices is that the OOo icons are completely different from the other applications in her desktop. The inconsistency increases the learning time, and also the first time impression is not that great as it could be..

Goals

Introduce a new option in Tools-> Options...-> OpenOffice.org-> View-> Icon size and style that would switch all the application into the theme instead of the previously selected. Of course, there have to be sensible defaults for Gnome and KDE when one selects “Automatic” as the theme.

Requirements and Dependencies

Requirements

Some of the code regarding the icons is ugly (cut and pasted) and has to be cleaned up. It is not necessary to go into details, it is just an implementation specific.

Technical Dependencies

No technical dependencies.

Competitive Analyses

E.g. in Gnome & KDE, it is possible to switch icon theme for all the applications with one click in the Control center.

Detailed Specification

In future there are going to be more zip archives with icon themes, like images.zip (the default), images_hicontrast.zip (HiContrast theme created from the lch_*, sch_*, etc. icons), images_industrial.zip, images_crystal.zip, etc. All these have to be created during the compilation of OpenOffice.org and installed by default.

During the startup process of OOo, one of them is used according to the saved preferences. If nothing was chosen yet, the default must be set according to the desktop; like Industrial images in Gnome, etc.

Later, the user can change this default to his favorite theme by selecting it from Tools-> Options...-> OpenOffice.org-> View-> Icon size and style. All the icons in toolbars and menus must be invalidated, and redrawn with the chosen icon theme in effect, and the new preferences must be saved.

Screenshot 1: 'Options...' dialog with 'Icon size and style' list box

The latest layout of this dialog is specified in “Optional Hardware Acceleration”

String list

Item	English	German	Comments
Button	Icon ~size and style	S~ymbolgröße und Symbolstil	
Listbox item	Automatic	Automatisch	
Listbox item	Default	Standard	
Listbox item	HiContrast	HiContrast	
Listbox item	Industrial	Industrial	
Listbox item	Crystal	Crystal	Future Task

These icon sets are available today:

Automatic: Use the best suitable theme for the current user's desktop.

Default: The default OOo icon set.

HiContrast: An icon set created from the lch_*, sch_* etc. hi-contrast icons.

In the future we anticipate many other sets – cf. Future work – as an example of what is possible two images are presented here – (this new artwork is not contained in the CWS, nor should it be enabled by it – nor is it intended to come under the rigorous scope of the QA of this CWS):

Screenshot 2: OOo's toolbar switched to 'Default' icon theme.

Screenshot 3: A speculative example of OOo's toolbar switched to the (not included) 'Industrial' icon theme.

G11n

Nothing g11n related.

Error Conditions

If a selected theme specific .zip file is not available, then the default images.zip must be used, the fallback should be silent (for now, see the Future Tasks).

Migration

The indexes of the themes should not change between versions, so that the user with one icon set does not get a different set after a version update.

Future Tasks

All the hi-contrast icons (lch_*, sch_*, ...) should be removed from images.zip, so that they will be present just in the HiContrast theme. This way we can shrink the size of all images*.zip to one half – this will accelerate startup, and reduce memory consumption.

There are several other planned icon sets that we can add trivially with this infrastructure in due course:

Industrial: Known from Gnome.

Crystal: Known from KDE (rather complete, but licensing must be resolved).

Mono: A nice B/W (high contrast) theme

Also, there are many nice-to-have additions that could be done, like previews of a few icons in the combo box where the user choses the theme, etc.

The user should be informed about using the fallback in the case that the corresponding images*.zip could not be found.

Notes

No notes.

References

Optional Hardware Acceleration.

Icon Theme Switching in OOo

Page 4

http://specs.openoffice.org/ui_in_general/icons/icon-theme-switching.sxw

2005-07-26T16:05:56