Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
4.6.0
-
None
-
e6da35f6055d3ae7acf38d89456d3047f055a9cd
Description
With QS60Style in use, use QTableView and select one cell. Notice that it draws nicely.
With QS60Style in use, use QTableView that has stylesheet set and select one cell.
Notice that QPalette::Highlight from WindowsStyle is drawn underneath the S60 highlight graphic (since S60 highlight is a pixmap that doesn't cover the cell from border to border).
This seems to causing it:
void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
const QWidget *w) const
{
...
case PE_PanelItemViewRow:
ParentStyle::drawPrimitive(pe, opt, p, w); // <-- this line
if (!styleHint(SH_ItemView_ShowDecorationSelected, opt, w))
return;
pseudoElement = PseudoElement_ViewItem;
break;
...
Could it use proxyStyle here instead?
See the attached test app (I haven't tested it on any other platform than S60, so be prepared that it doesn't compile).
In S60 emulator/device: Go to HeaderView tabPane and see the result. The topmost is styled table, under it is non-styled.
Notice the highlight rect is slightly different in top one.
Note this requires rather recent QS60Style - check that SHA da9880eaed0d09338717db1a73db01e6b0ab080d is included.