Hello. I'm trying to implement a delegate with 
QTextOption::WrapAtWordBoundaryOrAnywhere. I copied QItemDelegate and replaced 
QTextOption::WordWrap where needed. Also i made small fix for sizeHint() 
calculation. Everything is ok, except that QItemDelegate doesn't look native:)

I tried to call style->drawControl(QStyle::CE_ItemViewItem, &opt, painter, 
widget); with empty text and icon to draw "fancy" winvista/oxygen selection. It 
works too, but only these 2 styles. QMacStyle and QWindowsStyle doesn't have 
such "fancy" selection and i need to draw selection manually (filling text rect 
with QPalette::Highlight color).
As a result, i see both "fancy" and usual selections painted in oxygen/vista 
styles.

The only solution i can imagine is to hardcode style names and draw Highlight 
rect only if style name != "oxygen"/"windowsvista", but that looks bad.

I also tried to use proxy style and reimplement QStyle::drawItemText, but it 
appears that Oxygen style doesn't call this method (correct me, if i'm wrong).

Can anyone tell me if I'm on the right way, or i should do something completely 
different to achieve native items with WordWrapAnywhere?

Иван Комиссаров

_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to