summaryrefslogtreecommitdiff
path: root/icon-themes/README
blob: 1358cd47b1976be6c7b384cbcf69f5bf92fe7495 (plain)
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.