Branch libreoffice-5-0-4
[LibreOffice.git] / icon-themes / README
blobb18813a5e55d3318b449cbb4d86ff8402e4063da
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 postprocess/CustomTarget_images.mk.
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.
30    ^ It's probably not true anymore with filelists.
32 - Add its name (new_set) to WITH_THEMES variable in configure.ac
34 - Add a vcl constant for it in vcl/inc/vcl/settings.hxx, e.g.
35   #define STYLE_SYMBOLS_NEW_SET ((ULONG)5)
37 - Map the vcl constant to its real name in
38     ::rtl::OUString StyleSettings::ImplSymbolsStyleToName( sal_uLong nStyle ) const
39   and 
40     sal_uLong StyleSettings::ImplNameToSymbolsStyle( const ::rtl::OUString &rName ) const
41   both in vcl/source/app/settings.cxx, e.g.
42     case STYLE_SYMBOLS_NEW_SET: return ::rtl::OUString( "new_set" );
43   and 
44     else if ( rName == "new_set" )
45         return STYLE_SYMBOLS_NEW_SET;
47 - Add localized item names to 'ListBox LB_ICONSTYLE' to
48     'StringList [ de ]'
49   and 'StringList [ en-US ]', e.g.
50     < "New set" ; > ;
51   both in cui/source/options/optgdlg.src
53 - Add the new_set to 'SymbolsStyle' property
54   in officecfg/registry/schema/org/openoffice/Office/Common.xcs.
56 - The default theme for various desktops (KDE, GNOME, ...) is defined in
57     ULONG StyleSettings::GetCurrentSymbolsStyle() const in
58   vcl/source/app/settings.cxx
60 - The fallback for particular icons is defined be packimages_CUSTOM_FALLBACK_1
61   in packimages/CustomTarget_images.mk
64 How to add a new icon for a new command:
65 ----------------------------------------
67 - Assume you defined a dispatch command in officecfg like the following:
69   in officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
71     <node oor:name=".uno:OpenFromCalc" oor:op="replace">
72         <prop oor:name="Label" oor:type="xs:string">
73             <value xml:lang="en-US">~Open...</value>
74         </prop>
75         <prop oor:name="Properties" oor:type="xs:int">
76             <value>1</value>
77         </prop>
78     </node>
80   Here, you need to define a property named "Properties", with its value set
81   to 1 so that the icons show up.
83 - Now, you need to add 2 new icon images under icon-themes/galaxy/cmd/, one
84   for the large size and one for the smaller size.  The name of each image
85   must be lc_<command name>.png and sc_<command name>.png.  Here, the command
86   name is the name given in the above .xcu file without the ".uno:" prefix and
87   all its letters lower-cased.  In this example, the file names will be
88   lc_openfromcalc.png and sc_openfromcalc.png.  Note that you need to add new
89   images to the galaxy theme for them to show up in any themes at all.