[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    re: kiconloader question/problem
From:       Simon Hausmann <shaus () helios ! Med ! Uni-Magdeburg ! DE>
Date:       2000-07-24 9:12:55
[Download RAW message or body]



On Mon, 24 Jul 2000, Geert Jansen wrote:

> Simon Hausmann wrote:
> 
> > In koffice apps like kpresenter with icon paths like
> > $prefix/share/apps/kpresenter/icons/locolor/22x22/actions , the menu icons
> > contained in that path are not found (not loaded as 22x22 and scaled down
> > to 16x16) . This makes the GUI look very ugly.
> 
> 
> Hi Simon,
> 
> can you give me some more information? What is your current theme (hicolor 
> or locolor) and what icon size are you requesting from the iconloader? And 
> what icon does it return (available with the path_store parameter in 
> loadIcon).
> 
> The logic of the icon matching seems to be sound. If not exact match is 
> found, the closest icon (either bigger or smaller) in the range 
> [0, requested_size+5] is returned. The upper limit prevents that too big 
> icons are matched, i.e. a 48 pixel icon will totally screw up a 16 pixel 
> layout, while the inverse in not true.

I was running on a 16bpp display, the icon(s) are in the locolor theme of
kpresenter (like aoleft.png for example) . The requested size is 16 (for
menu items) , while only the 22 version was available (in
$prefix/share/apps/kpresenter/icons/locolor/actions/22x22/aoleft.png) .

I believe in this case the right thing would be to load the 22x22 icon and
scale it down to 16x16 (better than displaying the "unknown" one in
the menu ;-)

As far as I debugged the problem it seems that the 22x22 icon theme dir in
the KIconTheme::iconPath method was processed after testing 16x16 and
32x32. And that point dw and delta were both zero -> it returned without
a loaded icon. (for the kpresenter-locolor KIconTheme)

The (probably wrong) fix which at least loaded the icon was to set delta
to dw only if dw > 0 .

Any ideas? :)

Bye,
 Simon

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic