Summary: | Dropdowns in widget properties don't follow system color settings. [regression] | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | kdebuac.rhn |
Component: | general | Assignee: | David Edmundson <kde> |
Status: | RESOLVED UPSTREAM | ||
Severity: | minor | CC: | bhush94, hugo.pereira.da.costa, kde, olaf.the.lost.viking, plasma-bugs, stevekej, tiposchi |
Priority: | NOR | ||
Version: | 5.3.2 | ||
Target Milestone: | 1.0 | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Screenshot of the faulty rendering
Screenshot of correct rendering (same system, same settings, different application) |
Description
kdebuac.rhn
2015-09-13 10:22:15 UTC
Created attachment 94533 [details]
Screenshot of the faulty rendering
Created attachment 94534 [details]
Screenshot of correct rendering (same system, same settings, different application)
This is a bug in the QtQuick Controls ComboBox used by Plasma - I reported an upstream bug there: https://bugreports.qt.io/browse/QTBUG-48252 Hugo, could you perhaps have a look at this? It affects Breeze and Oxygen as well as Windows 95 style but not the Qt Fusion style. QtQuick Controls ComboBox uses PE_PanelItemViewRow in its ComboBox popup, perhaps we don't style that thing properly? Relevant code: qApp->style()->drawPrimitive(QStyle::PE_PanelItemViewRow, m_styleoption, &pixpainter); if ((style() == "mac" || !qApp->style()->styleHint(QStyle::SH_ItemView_ShowDecorationSelected)) && selected()) { pal = QApplication::palette("QAbstractItemView"); pal.setCurrentColorGroup(m_styleoption->palette.currentColorGroup()); pixpainter.fillRect(m_styleoption->rect, pal.highlight()); } (In reply to Kai Uwe Broulik from comment #4) > Hugo, could you perhaps have a look at this? It affects Breeze and Oxygen as > well as Windows 95 style but not the Qt Fusion style. QtQuick Controls > ComboBox uses PE_PanelItemViewRow in its ComboBox popup, perhaps we don't > style that thing properly? > > Relevant code: > qApp->style()->drawPrimitive(QStyle::PE_PanelItemViewRow, m_styleoption, > &pixpainter); > if ((style() == "mac" || > !qApp->style()->styleHint(QStyle::SH_ItemView_ShowDecorationSelected)) && > selected()) { > pal = QApplication::palette("QAbstractItemView"); > pal.setCurrentColorGroup(m_styleoption->palette.currentColorGroup()); > pixpainter.fillRect(m_styleoption->rect, pal.highlight()); > } Hi Kai, From what I can understand, the code above is relevant for the selected item only, whereas the bug is for unselected ones. And in fact, comparing the correct and incorrect rendering, what seems to be the problem is the color used for the list "background". (possibly incorrect background role). Anyway, yes, I can try investigate a bit more (but it is likely _not_ in the code mentionned above. Any other application than plasmashell (desktop settings) that I could use to reproduce the issue ? (such as a QtQuickControls demo, for instance ?) Right now plasmashell crashes on my hybrid system (kde4/kf5) and I don't feel like recompiling everything to make it work ... Thanks in advance, Hugo Thanks Kay ! In fact, for editable comboboxes, fusion also shows the issue. Only for read-only comboboxes it does not, and for such, fusion's rendering (also in the widget case) is quite non-standard. I guess i'll look into how they do it in the QFusionStyle and see if I can get the code from there. Still : this _is_ an upstream bug. https://bugreports.qt.io/browse/QTBUG-48252 if you're interested. *** Bug 357019 has been marked as a duplicate of this bug. *** *** Bug 357049 has been marked as a duplicate of this bug. *** |