[Libreoffice] GSOC: performance improvement ...
Michael Meeks
michael.meeks at novell.com
Fri May 6 04:39:02 PDT 2011
Hi Matus,
Great to have you working on this for the summer :-)
Perhaps it is a good time to start digging into the code that
references the default_icons/res/commandimagelist/ to shrink those
paths. I don't think this really needs to take that long to do :-)
Doing a quick ./g grep commandimagelist # shows that there are loads of
duplicate instances of this string in the help translations too ;-) so
presumably we can help to shrink that as well.
So - I guess the first step is to move all the res/commandimagelist/
icons in default_images/ and ooo_custom_images/* into a top-level 'cmd'
directory, or perhaps even 'c/' if we want it really short :-)
Having done that, then you need to poke the files that reference that.
The key ones are in framework/ (if you want to see results), but we'll
need to clean them all up.
When you've done your work; re-building in packimages/ should re-make
the .zip files we want:
cd packimages/
rm -Rf unxlngi6.pro
build
and you should be able to re-run and see the results (with a linked
build).
I append a list of other pieces to tweak - hopefully this is complete.
Of course, you should do this vs. master.
solenv/bin/image-sort.pl: my $iname = "res/commandimagelist/" . $prefix . $icon . ".png";
This is used by packimages/ to sort the .zip file contents into the
order they are accessed in for faster startup.
ooo_custom_images/human/CopyrightsHuman:/res/commandimagelist/sc_incrementsublevels.png
ooo_custom_images/oxygen/CopyrightsTango:All icons under the /res/commandimagelist/ directory, with filenames begi
We should update the paths referenced in these text files :-)
reportdesign/source/ui/dlg/CondFormat.src: < "res/commandimagelist/sc_bold.png" ; SID_ATTR_CHAR_WEIGHT ; > ;
desktop/source/deployment/gui/dp_gui_backend.src: ImageBitmap = Bitmap { File = "commandimagelist/sc_helperdialog.bmp"; };
Several .src files have paths that will need this change,
referring to explicit icons.
sc/source/ui/miscdlgs/optsolver.cxx: // Get the "Delete Rows" commandimagelist images from sfx instead of
sc/source/ui/src/toolbox.src:// Don't use this image list for normal toolbar images. We have now our commandimagelist
reportbuilder/registry/data/org/openoffice/Office/UI/ReportCommands.xcu: <!-- U will find corresponding icons in default_images/res/commandimagelist. -->
sw/source/ui/app/app.src: // Don't use this image list for normal toolbar images. We have now our commandimagelist
I guess updating the comments is fun :-)
helpcontent2/source/text/sbasic/guide/translation.xhp:<image id="img_id2526017" src="res/commandimagelist/sc_managelanguage.png" width="0.1665inch" height="0.1665inch"><alt id="alt_id2526017" xml-lang="en-US">Manage Language icon</alt>
There are tons of these references; we need to do a big sed across all
the files, and another one (with Andras' help) across all the
translations.
framework/inc/properties.h:#define UICOMMANDDESCRIPTION_NAMEACCESS_COMMANDIMAGELIST "private:resource/image/commandimagelist"
framework/source/uiconfiguration/imagemanagerimpl.cxx: "res/commandimagelist/sc_",
framework/source/uiconfiguration/imagemanagerimpl.cxx: "res/commandimagelist/lc_"
This is the stuff that finds the icons for use in menus / toolbars.
toolkit/source/awt/vclxbutton.cxx: "res/commandimagelist/sc_ok.png" )
We should sed but not test the near obsolete layout stuff:
toolkit/uiconfig/layout/message-box.xml: <fixedimage id="FI_ERROR" cnt:expand="false" cnt:v-align="0.5" cnt:v-fill="0" graphic="res/commandimagelist/msgbox-error.png" />
toolkit/workben/layout/editor.cxx: mpUpButton->SetModeImage( layout::Image ( "res/commandimagelist/lc_moveup.png" ) );
toolkit/workben/layout/message-box.xml: <fixedimage id="FI_ERROR" cnt:expand="false" cnt:v-align="0.5" cnt:v-fill="0" graphic="res/commandimagelist/msgbox-error.png" />
toolkit/workben/layout/plugin.xml: <fixedimage id="FI_HEADER" cnt:expand="false" graphic="res/commandimagelist/sc_apply.png" />
toolkit/workben/layout/recover.xml: <fixedimage id="FI_HEADER" cnt:expand="false" graphic="res/commandimagelist/sc_apply.png" />
And then of course packimages needs a little tweaking.
packimages/pack/makefile.mk:$(RES)$/img$/commandimagelist.ilst .PHONY : $(SORTED_LIST)
packimages/pack/makefile.mk: $(FIND) $(SOLARSRC)$/$(RSCDEFIMG)/res/commandimagelist -name "*.png" | sed "s#$(SOLARSRC)$/$(RSCDEFIMG)/res#%GLOBALRES%#" | $(PERL) $(SOLARENV)$/bin$/sort.pl > $@.$(INPATH)
packimages/pack/makefile.mk:$(COMMONBIN)$/images.zip .PHONY: $(RES)$/img$/commandimagelist.ilst
packimages/pack/makefile.mk:images_% : $(RES)$/img$/commandimagelist.ilst
Beyond that - I think we should be good. Once it works, doing a
build-from-clean to double-check before we push to master would be good.
Other than that - it'd be fantastic to have this; and no doubt ace_dent
will be happy too.
ATB,
Michael.
--
michael.meeks at novell.com <><, Pseudo Engineer, itinerant idiot
More information about the LibreOffice
mailing list