Hi Regina,

On Wed, Nov 28, 2012 at 02:05:34PM +0100, Regina Henschel wrote:
> >>But I don't know, how to look up, which string is that with Id "6015".
> >
> >You won't find it, it was removed:
> >
> >http://hg.services.openoffice.org/OOO340/rev/902597eed541
> >http://hg.services.openoffice.org/OOO340/diff/902597eed541/svx/inc/svx/gallery.hxx
> >http://hg.services.openoffice.org/OOO340/diff/902597eed541/svx/source/gallery2/galtheme.src
> >http://hg.services.openoffice.org/OOO340/diff/902597eed541/svx/inc/galtheme.hrc
> 
> I have seen in the meantime from your link, that is was removed in
> galtheme.src. But now I wonder, from where it comes into the UI of
> the gallery window? I still see
> "private://gallery/hidden/HtmlExportButtons" listed in the theme
> list in a normal build.

I recall I researched this when I opened the bug report, but somehow it
went out of my radar ;)

IIRC the private URL is stored in the theme itself as its name, try

[ariel@localhost ~]$ cd /opt/openoffice.org/basis3.4/share/gallery/
[ariel@localhost gallery]$ hexdump -C -n 48 sg25.thm
00000000  04 00 2a 00 70 72 69 76  61 74 65 3a 2f 2f 67 61  |..*.private://ga|
00000010  6c 6c 65 72 79 2f 68 69  64 64 65 6e 2f 48 74 6d  |llery/hidden/Htm|
00000020  6c 45 78 70 6f 72 74 42  75 74 74 6f 6e 73 30 00  |lExportButtons0.|
00000030

The underlying reason why this gallery is displayed on a non-pro build
is that the gallery theme is not considered as hidden.

A hidden theme is one whose name begins with "private://gallery/hidden/"
see GalleryThemeEntry

sal_Bool  IsHidden() const { return aName.SearchAscii( 
"private://gallery/hidden/" ) == 0; }

Though the name is really stored inside the theme file, it is replaced
in the GalleryThemeEntry constructor:

* the constructor gets the theme name as read from the theme file

* it tries to get the localized theme name from the resource first

* UniString::UniString( const ResId& rResId ) instead of creating
  an empty string when the respective resource is missing (default
  behaviour on a pro build), it returns a string with the error, see
  
http://opengrok.adfinis-sygroup.org/source/xref/aoo-trunk/main/tools/source/string/strucvt.cxx#195

* this string has a length > 0, then it replaces the original string as
  read from the theme file

* this way, IsHidden will return false: the theme is not hidden as its
  name does not start with private://gallery/hidden anymore

* then the theme is displayed in the UI on a non-pro build


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Attachment: pgprWGwbu1Zr1.pgp
Description: PGP signature

Reply via email to