Re: [Evolution-hackers] Plugin and menu icons



>Le dimanche 10 juin 2007  17:05 +0400, Nickolay V. Shmyrev a crit :
>> В Сбт, 09/06/2007 в 17:45 +0200, Gilles Dartiguelongue пишет:
>> > Le vendredi 27 avril 2007  10:07 +0200, Gilles Dartiguelongue a crit :
>> > after reading more code, it seems bonoboui doesn't like icons starting
>> > with the stock_ prefix. It throws " Bonobo-CRITICAL **:
>> > bonobo_ui_util_xml_to_pixbuf: assertion `length > 4 * 2 * 2 + 1' failed"
>> > at the command line.
>> > 
>> > The result is that the icon for folder->refresh and for any other menu
>> > item wanting to use a stock_* icon, it just won't appear.
>> > 
>> > I thought it could be a problem with libbonoboui but then I remembered
>> > that it works perfectly fine for popup menus.
>> > 
>> > As gtk-* icons are far from covering what we can add as icons in the
>> > menus, please, please help me fix this issue.
>> 
>> Hello Gilles
>> 
>> It's really hard to understand original problem and reasons for that
>> since not much is described. What are you trying to do really?
>
>> About way to convince bonoboui what about registration of stock icon and
>> then usage it in libbonoboui with pixtype=stock? I'm not sure why
>> libbonoboui tries to get pixbuf from your attribute (it's the task of
>> the function bonobo_ui_util_xml_to_pixbuf). Looks like you misunderstand
>> each other. What ui description are you passing to it?
>
>let's try with an example, take:
>http://svn.gnome.org/svn/evolution/trunk/ui/evolution-mail-list.xml
>there is a line in it that looks like:
><menuitem name="FolderRefresh" verb="" _label="Re_fresh..."
>pixtype="stock" pixname="stock_refresh"/>
>
>The icon exists and is in the same folder where are stored other stock
>icons (gtk-add, gtk-undelete, ...) but it doesn't show up in the UI

Right, because gtk-add is not the name of the file but id of the stock icon:

http://developer.gnome.org/doc/API/2.0/gtk/gtk-Themeable-Stock-Images.html

You should register your own stock icon if you want to use them. I
suspect stock_refresh is not registered or registered under different
name, say gtk-refresh. Probably it was registered earlier in libgnome
and was dropped now.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]