┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews
diff options
context:
space:
mode:
authorEmmanuel Pescosta <[email protected]>2012-08-14 22:02:24 +0200
committerEmmanuel Pescosta <[email protected]>2012-08-14 22:02:24 +0200
commitb039392f344f4d8b0a540c542f83e418349a7d4e (patch)
tree59ae86ad16d6cc311af065722483ccddd6e94680 /src/kitemviews
parent00935edbdead8955d7f8d0e3ef520139da3f3bec (diff)
Fix wrong text color in Places Group Header. Use QPalette::Window for base color and QPalette::WindowText for text color. Also changed m_roleColor color mixing to 60% (from 70%) -> Better visible color difference when base color is darker than text color. Also changed styleOption().palette.brush(group, role).color() to styleOption().palette.color(group, role) in KStandardItemListWidget -> should be more efficient.
BUG: 303133
Diffstat (limited to 'src/kitemviews')
-rw-r--r--src/kitemviews/kitemlistgroupheader.cpp28
-rw-r--r--src/kitemviews/kitemlistgroupheader.h6
-rw-r--r--src/kitemviews/kstandarditemlistwidget.cpp6
-rw-r--r--src/kitemviews/kstandarditemlistwidget.h2
4 files changed, 35 insertions, 7 deletions
diff --git a/src/kitemviews/kitemlistgroupheader.cpp b/src/kitemviews/kitemlistgroupheader.cpp
index 576d20b88..17c95a97c 100644
--- a/src/kitemviews/kitemlistgroupheader.cpp
+++ b/src/kitemviews/kitemlistgroupheader.cpp
@@ -180,10 +180,10 @@ void KItemListGroupHeader::updateCache()
// Calculate the role- and line-color. No alphablending is used for
// performance reasons.
- const QColor c1 = m_styleOption.palette.text().color();
- const QColor c2 = m_styleOption.palette.base().color();
+ const QColor c1 = textColor();
+ const QColor c2 = baseColor();
m_separatorColor = mixedColor(c1, c2, 10);
- m_roleColor = mixedColor(c1, c2, 70);
+ m_roleColor = mixedColor(c1, c2, 60);
const int padding = qMax(1, m_styleOption.padding);
const int horizontalMargin = qMax(2, m_styleOption.horizontalMargin);
@@ -211,4 +211,26 @@ QColor KItemListGroupHeader::mixedColor(const QColor& c1, const QColor& c2, int
(c1.blue() * c1Percent + c2.blue() * c2Percent) / 100);
}
+QPalette::ColorRole KItemListGroupHeader::normalTextColorRole() const
+{
+ return QPalette::Text;
+}
+
+QPalette::ColorRole KItemListGroupHeader::normalBaseColorRole() const
+{
+ return QPalette::Window;
+}
+
+QColor KItemListGroupHeader::textColor() const
+{
+ const QPalette::ColorGroup group = isActiveWindow() ? QPalette::Active : QPalette::Inactive;
+ return styleOption().palette.color(group, normalTextColorRole());
+}
+
+QColor KItemListGroupHeader::baseColor() const
+{
+ const QPalette::ColorGroup group = isActiveWindow() ? QPalette::Active : QPalette::Inactive;
+ return styleOption().palette.color(group, normalBaseColorRole());
+}
+
#include "kitemlistgroupheader.moc"
diff --git a/src/kitemviews/kitemlistgroupheader.h b/src/kitemviews/kitemlistgroupheader.h
index e19ab4871..1e8ed2cca 100644
--- a/src/kitemviews/kitemlistgroupheader.h
+++ b/src/kitemviews/kitemlistgroupheader.h
@@ -104,11 +104,17 @@ protected:
/** @reimp */
virtual void resizeEvent(QGraphicsSceneResizeEvent* event);
+ virtual QPalette::ColorRole normalTextColorRole() const;
+ virtual QPalette::ColorRole normalBaseColorRole() const;
+
private:
void updateCache();
static QColor mixedColor(const QColor& c1, const QColor& c2, int c1Percent = 50);
+ QColor textColor() const;
+ QColor baseColor() const;
+
private:
bool m_dirtyCache;
QByteArray m_role;
diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp
index 69c5602c7..3a76f14a2 100644
--- a/src/kitemviews/kstandarditemlistwidget.cpp
+++ b/src/kitemviews/kstandarditemlistwidget.cpp
@@ -464,7 +464,7 @@ QFont KStandardItemListWidget::customizedFont(const QFont& baseFont) const
return baseFont;
}
-QPalette::ColorRole KStandardItemListWidget::normalTextColorPalette() const
+QPalette::ColorRole KStandardItemListWidget::normalTextColorRole() const
{
return QPalette::Text;
}
@@ -485,8 +485,8 @@ QColor KStandardItemListWidget::textColor() const
}
const QPalette::ColorGroup group = isActiveWindow() ? QPalette::Active : QPalette::Inactive;
- const QPalette::ColorRole role = isSelected() ? QPalette::HighlightedText : normalTextColorPalette();
- return styleOption().palette.brush(group, role).color();
+ const QPalette::ColorRole role = isSelected() ? QPalette::HighlightedText : normalTextColorRole();
+ return styleOption().palette.color(group, role);
}
void KStandardItemListWidget::setOverlay(const QPixmap& overlay)
diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h
index 462d83d0f..787722ddd 100644
--- a/src/kitemviews/kstandarditemlistwidget.h
+++ b/src/kitemviews/kstandarditemlistwidget.h
@@ -120,7 +120,7 @@ protected:
*/
virtual QFont customizedFont(const QFont& baseFont) const;
- virtual QPalette::ColorRole normalTextColorPalette() const;
+ virtual QPalette::ColorRole normalTextColorRole() const;
void setTextColor(const QColor& color);
QColor textColor() const;