Version 4.0.0.1, tag libreoffice-4.0.0.1
[LibreOffice.git] / icon-themes / README
blob1358cd47b1976be6c7b384cbcf69f5bf92fe7495
1 Icon repository for the applications
3 All of the icons, separated by themes are included in this
4 directory. These icons are built into .zip files, and re-ordered /
5 packed for efficiency reasons based on our UI configuration by the
6 packimages/ module.
8 An icon theme does not need to contain all images, since these can be
9 layered one on top of another.
11 In general the layering is done like this:
13 <leaf theme>
14 tango
15 industrial
16 galaxy
18 The classic theme is left primarily for historical interest, rather
19 than intended to be packaged.
22 How to add a new image set:
23 ---------------------------
25 - Create a directory for it here (let's call it e.g. new_set)
27   FIXME: It is important to use an underscore '_' to delimit more words.
28          scp2 compilation crashes when using a dash '-'.
29          It evidently splits the name into two strings.
31 - Add its name (new_set) to WITH_THEMES variable in configure.in
33 - Add its gid to the Files section of gid_Module_Root_Brand in
34   scp2/source/ooo/module_hidden_ooo.scp and add a corresponding File entry
35   to scp2/source/ooo/file_ooo.scp (see for example
36   gid_Brand_File_ImagesCrystal_Zip)
38 - Add a vcl constant for it in vcl/inc/vcl/settings.hxx, e.g.
39   #define STYLE_SYMBOLS_NEW_SET ((ULONG)5)
41 - Map the vcl constant to its real name in
42     ::rtl::OUString StyleSettings::ImplSymbolsStyleToName( sal_uLong nStyle ) const
43   and 
44     sal_uLong StyleSettings::ImplNameToSymbolsStyle( const ::rtl::OUString &rName ) const
45   both in vcl/source/app/settings.cxx, e.g.
46     case STYLE_SYMBOLS_NEW_SET: return ::rtl::OUString::createFromAscii( "new_set" );
47   and 
48     else if ( rName == ::rtl::OUString::createFromAscii( "new_set" ) )
49         return STYLE_SYMBOLS_NEW_SET;
51 - Add localized item names to 'ListBox LB_ICONSTYLE' to
52     'StringList [ de ]'
53   and 'StringList [ en-US ]', e.g.
54     < "New set" ; > ;
55   both in cui/source/options/optgdlg.src
57 - Add the new_set to 'SymbolsStyle' property
58   in officecfg/registry/schema/org/openoffice/Office/Common.xcs.
60 - The default theme for various desktops (KDE, GNOME, ...) is defined in
61     ULONG StyleSettings::GetCurrentSymbolsStyle() const in
62   vcl/source/app/settings.cxx
64 - The fallback for particular icons is defined be packimages_CUSTOM_FALLBACK_1
65   in packimages/CustomTarget_images.mk
68 How to add a new icon for a new command:
69 ----------------------------------------
71 - Assume you defined a dispatch command in officecfg like the following:
73   in officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
75     <node oor:name=".uno:OpenFromCalc" oor:op="replace">
76         <prop oor:name="Label" oor:type="xs:string">
77             <value xml:lang="en-US">~Open...</value>
78         </prop>
79         <prop oor:name="Properties" oor:type="xs:int">
80             <value>1</value>
81         </prop>
82     </node>
84   Here, you need to define a property named "Properties", with its value set
85   to 1.  (TODO: Check if this step is still necessary.)
87 - Now, you need to add 2 new icon images under icon-themes/galaxy/cmd/, one
88   for the large size and one for the smaller size.  The name of each image
89   must be lc_<command name>.png and sc_<command name>.png.  Here, the command
90   name is the name given in the above .xcu file without the ".uno:" prefix and
91   all its letters lower-cased.  In this example, the file names will be
92   lc_openfromcalc.png and sc_openfromcalc.png.  Note that you need to add new
93   images to the galaxy theme for them to show up in any themes at all.