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