The preset border options available in Calc via buttons were different between the main toolbar and the Properties sidebar, leading to a confusing and inconsistent user experience. As per the design team's proposal in the bug report, this patch reworks both controls to use a single, unified 12-option grid of the most common border presets. This change modifies the UI definitions for both the sidebar and toolbar controls and refactors the C++ logic to handle the new unified layout. New icons have been created for the 'criss-cross' style to match the various icon themes. Change-Id: I5066a41340941684c6dc55d4e1b64d4ef995cfd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189690 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
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
postprocess/CustomTarget_images.mk.
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>
breeze
colibre
Icon naming convention
sc_* icons are 16x16 px (small) lc_* icons are 24x24 px (large) There is also an 32px folder at cmd/ with 32 px icons
16x16 px icons are used in the menus 24x24 px icons are used in toolbars and sidebar Notebook bar use 24x24 px icons when there is only one icon, and 16x16 px everywhere else
sc_ and lc_ icon are followed by the .uno:CommandName (see below)
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.scp2compilation crashes when using a dash-. It evidently splits the name into two strings.- It's probably not true anymore with filelists.
- if this gets changed,
IconThemeSelector::SetPreferredIconThemeneeds to change too
-
Add its name (
new_set) toWITH_THEMESvariable inconfigure.ac -
The fallback for particular icons is defined be
packimages_CUSTOM_FALLBACK_1inpackimages/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 so that the icons show up.
- Now, you need to add 2 new icon images under
icon-themes/colibre/cmd/, one for the large size and one for the smaller size. The name of each image must belc_<command name>.pngandsc_<command name>.png. Here, the command name is the name given in the above.xcufile without the.uno:prefix and all its letters lower-cased. In this example, the file names will belc_openfromcalc.pngandsc_openfromcalc.png. Note that you need to add new images to the colibre theme for them to show up in any themes at all.
How to Call optipng to Optimize Size
8 bit palettes are on the slow path for quartz/svp/gtk3 so avoid using palettes with...
$ optipng -nc <file>
How to minify SVG files
Install https://github.com/tdewolff/minify and run
$ minify -o outputfile.svg inputfile.svg