+void KItemListContainer::setEnabledFrame(bool enable)
+{
+ QGraphicsView* graphicsView = qobject_cast<QGraphicsView*>(viewport());
+ if (enable) {
+ setFrameShape(QFrame::StyledPanel);
+ graphicsView->setPalette(palette());
+ graphicsView->viewport()->setAutoFillBackground(true);
+ } else {
+ setFrameShape(QFrame::NoFrame);
+ // Make the background of the container transparent and apply the window-text color
+ // to the text color, so that enough contrast is given for all color
+ // schemes
+ QPalette p = graphicsView->palette();
+ p.setColor(QPalette::Active, QPalette::Text, p.color(QPalette::Active, QPalette::WindowText));
+ p.setColor(QPalette::Inactive, QPalette::Text, p.color(QPalette::Inactive, QPalette::WindowText));
+ p.setColor(QPalette::Disabled, QPalette::Text, p.color(QPalette::Disabled, QPalette::WindowText));
+ graphicsView->setPalette(p);
+ graphicsView->viewport()->setAutoFillBackground(false);
+ }
+}
+
+bool KItemListContainer::enabledFrame() const
+{
+ const QGraphicsView* graphicsView = qobject_cast<QGraphicsView*>(viewport());
+ return graphicsView->autoFillBackground();
+}
+