Review Request: Plasma::Svg: Do not require exact match for size hinted elements.

Manuel Mommertz 2kmm at gmx.de
Sat Oct 30 09:14:52 CEST 2010



> On 2010-10-29 20:56:15, Manuel Mommertz wrote:
> > /trunk/KDE/kdelibs/plasma/svg.cpp, line 85
> > <http://svn.reviewboard.kde.org/r/5689/diff/7/?file=40411#file40411line85>
> >
> >     should end with:
> >     -(.*)\\1");
> >     this is save as setMinimal is true;
> 
> Ingomar Wesp wrote:
>     Actually, I think it's a bit cleaner if we only accept size hinted elements whose base id is non-empty - (\\d+)-(\\d+)-(.*) would also accept "32-32-" for example. Although it does not matter in practice, because findInCache checks whether the passed element is non-empty anyways.

I prefer wrong positives that are actually valid id's. Say we have a id "32-32-". With (.*)\\1 we get an empty match. But with (.+)\\1 the quotation mark gets part of .+ so we get all things up to the next quotation mark as id. And if the next quotation is the start of the next id (extreme unlikely but possible) we miss it completly.


- Manuel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/5689/#review8437
-----------------------------------------------------------


On 2010-10-28 23:30:24, Ingomar Wesp wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/5689/
> -----------------------------------------------------------
> 
> (Updated 2010-10-28 23:30:24)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> Previously, if an SVG contained size hinted elements, they were only used when the display size matched the size hint exactly. This patch tries to relax this condition by searching for the smallest size hinted element that is still bigger than the display size (in order for the element to be chosen, it also has to have the same aspect ratio). If no such element can be found, it falls back to the normal element id as passed.
> 
> In order to speed up the lookup (and because it appears to be impossible to access the DOM of an already loaded SvgRenderer), all size hinted element ids are stored in SharedSvgRenderer at load time.
> 
> I think it would be good to change the QRegExp based id fetching into a proper DOM traversal. Are there any convenience functions in KDELibs that allow easy iterating over all elements (couldn't find any) or do I have to implement that myself based on Qt's DOM classes?
> 
> Please tell me what you think... Have I missed something?
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdelibs/plasma/private/svg_p.h 1190806 
>   /trunk/KDE/kdelibs/plasma/svg.cpp 1190806 
>   /trunk/KDE/kdelibs/plasma/theme.h 1190806 
>   /trunk/KDE/kdelibs/plasma/theme.cpp 1190806 
> 
> Diff: http://svn.reviewboard.kde.org/r/5689/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Ingomar
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/plasma-devel/attachments/20101030/bd278c31/attachment-0001.htm 


More information about the Plasma-devel mailing list