Bug 264453 - oxygen-gtk trouble with combo-boxes in gajim IM client
Summary: oxygen-gtk trouble with combo-boxes in gajim IM client
Alias: None
Product: Oxygen
Classification: Plasma
Component: gtk2-engine (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
Depends on:
Reported: 2011-01-27 12:24 UTC by Ivo Anjo
Modified: 2011-07-29 23:33 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:

Screenshot (71.45 KB, image/png)
2011-01-27 12:24 UTC, Ivo Anjo

Note You need to log in before you can comment on or make changes to this bug.
Description Ivo Anjo 2011-01-27 12:24:36 UTC
Created attachment 56489 [details]

Version:           unspecified (using KDE 4.6.0) 
OS:                Linux

The Gajim IM client (http://www.gajim.org/) uses icons on some comboboxes, and oxygen-gtk seems to have some problems with it. On the main window, the combobox is supposed to show icons, and does not show any when they are selected.

On the preferences screen, the status iconset configuration draws the icons out of place.

Reproducible: Always
Comment 1 Hugo Pereira Da Costa 2011-01-27 14:24:40 UTC
yes. Sadly enough, I can confirm.
Looks like our combobox rendering is not robust enough.
On it.
Comment 2 Hugo Pereira Da Costa 2011-01-27 14:24:48 UTC
ok. Apparently PyGtk (or Gajim alone) has its specific CellRendererImage class,
that is not in Gtk, and does not honor the xpading, ypading whith which we play
in oxygencomboboxdata. Hence the messed up layout. 

So ... maybe we're just f..ed here. and have to fallback to setting xthickness
to 6, give up on the tweaking from ComboBoxData, and live (like QtCurve) with a
6 pixels wide "dead" area in the GtkComboBox rendering :(
Comment 3 Hugo Pereira Da Costa 2011-01-27 17:26:45 UTC
Git commit 6bef60b327b1e594c63f7611dcaabff44d70eb51 by Hugo Pereira Da Costa.
Pushed by hpereiradacosta into branch 'master'.

Fixed rendering of GtkComboBox
- removed all modifications of CellRenderers layout.
- set xthickness and ythickness of GtkComboBox's Frame to 4 (as opposed to 0)
- manually enlarge the GdkWindow of the GtkComboBox's button, to cover the dead area created by
the Frame's margin.

CCBUG: 264453

M  +2    -1    rc/gtkrc     
M  +28   -43   src/animations/oxygencomboboxdata.cpp     
M  +12   -6    src/animations/oxygencomboboxdata.h     
M  +0    -4    src/animations/oxygencomboboxengine.h     
M  +0    -2    src/oxygenstylewrapper.cpp     

Comment 4 Hugo Pereira Da Costa 2011-01-27 19:11:30 UTC
That fixes it, in both trunk and 1.0 branch.
Thanks for reporting !
(in fact, fixing this bug made us end up with a much cleaner code concerning combobox painting).
Comment 5 Ivo Anjo 2011-01-27 19:24:32 UTC
Thank you for such a quick turnaround time :)
I can confirm that this works correctly with current git.