summaryrefslogtreecommitdiffstats
path: root/tests/baseline
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2022-10-23 21:15:01 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2022-10-25 05:16:15 +0200
commit483ae6c448ff95354c22e7d6e71117a9f9c40421 (patch)
tree04dd5969f331294efeb921ea6e2a8d5a8fc785f7 /tests/baseline
parent6f9d31be493dfe72bd8332881b325f811c79523d (diff)
StyleSheet: use item background rule when filling row backround
QTreeView draws the different sub-rects of an item's background over multiple calls to drawPrimitive(PE_PanelItemViewRow). The item row is not separately stylable, but the item might have a styled background property. To get a consistent background, we must use the item's background rule when filling the item's row background. To fix that, delegate the filling of the branch background to drawPrimitive(PE_PanelItemViewRow), and implement PE_PanelItemViewRow handling to render the rule for the ViewItem pseudo element if there is a background rule defined for it. Add a baseline test stylesheet for this scenario. Note that the selection in an item view is better styled via the selection-background-color qss property. Task-number: QTBUG-73251 Task-number: QTBUG-106227 Pick-to: 6.4 6.2 Change-Id: I5d0c170f78009fe5015dd749975e6df27485b3b8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests/baseline')
-rw-r--r--tests/baseline/stylesheet/qss/qtreeview/styledSelection.qss10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/baseline/stylesheet/qss/qtreeview/styledSelection.qss b/tests/baseline/stylesheet/qss/qtreeview/styledSelection.qss
new file mode 100644
index 0000000000..7d54a74fe5
--- /dev/null
+++ b/tests/baseline/stylesheet/qss/qtreeview/styledSelection.qss
@@ -0,0 +1,10 @@
+QTreeView {
+ alternate-background-color: yellow;
+ show-decoration-selected: 1;
+}
+QTreeView::item:selected:active {
+ background: qlineargradient(x1:0, y1:0 x2: 0, y2: 1, stop: 0 #fea1f1 stop: 1 #567dbc)
+}
+QTreeView::branch {
+ border: 2px
+}