┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
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
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
-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
-rw-r--r--src/panels/folders/foldersitemlistwidget.cpp2
-rw-r--r--src/panels/folders/foldersitemlistwidget.h2
-rw-r--r--src/panels/places/placesitemlistgroupheader.cpp5
-rw-r--r--src/panels/places/placesitemlistgroupheader.h2
-rw-r--r--src/panels/places/placesitemlistwidget.cpp2
-rw-r--r--src/panels/places/placesitemlistwidget.h2
10 files changed, 46 insertions, 11 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;
diff --git a/src/panels/folders/foldersitemlistwidget.cpp b/src/panels/folders/foldersitemlistwidget.cpp
index 513059204..b4f9a5be8 100644
--- a/src/panels/folders/foldersitemlistwidget.cpp
+++ b/src/panels/folders/foldersitemlistwidget.cpp
@@ -28,7 +28,7 @@ FoldersItemListWidget::~FoldersItemListWidget()
{
}
-QPalette::ColorRole FoldersItemListWidget::normalTextColorPalette() const
+QPalette::ColorRole FoldersItemListWidget::normalTextColorRole() const
{
return QPalette::WindowText;
}
diff --git a/src/panels/folders/foldersitemlistwidget.h b/src/panels/folders/foldersitemlistwidget.h
index fa7b143ae..08d41b829 100644
--- a/src/panels/folders/foldersitemlistwidget.h
+++ b/src/panels/folders/foldersitemlistwidget.h
@@ -34,7 +34,7 @@ public:
virtual ~FoldersItemListWidget();
protected:
- virtual QPalette::ColorRole normalTextColorPalette() const;
+ virtual QPalette::ColorRole normalTextColorRole() const;
};
#endif
diff --git a/src/panels/places/placesitemlistgroupheader.cpp b/src/panels/places/placesitemlistgroupheader.cpp
index 27d4c7917..ec7c4b18c 100644
--- a/src/panels/places/placesitemlistgroupheader.cpp
+++ b/src/panels/places/placesitemlistgroupheader.cpp
@@ -37,4 +37,9 @@ void PlacesItemListGroupHeader::paintSeparator(QPainter* painter, const QColor&
Q_UNUSED(color);
}
+QPalette::ColorRole PlacesItemListGroupHeader::normalTextColorRole() const
+{
+ return QPalette::WindowText;
+}
+
#include "placesitemlistgroupheader.moc"
diff --git a/src/panels/places/placesitemlistgroupheader.h b/src/panels/places/placesitemlistgroupheader.h
index fbcd116f1..1c2d5cc25 100644
--- a/src/panels/places/placesitemlistgroupheader.h
+++ b/src/panels/places/placesitemlistgroupheader.h
@@ -32,6 +32,8 @@ public:
protected:
virtual void paintSeparator(QPainter* painter, const QColor& color);
+
+ virtual QPalette::ColorRole normalTextColorRole() const;
};
#endif
diff --git a/src/panels/places/placesitemlistwidget.cpp b/src/panels/places/placesitemlistwidget.cpp
index 00f0fdab0..e33d1daf9 100644
--- a/src/panels/places/placesitemlistwidget.cpp
+++ b/src/panels/places/placesitemlistwidget.cpp
@@ -35,7 +35,7 @@ bool PlacesItemListWidget::isHidden() const
return data().value("isHidden").toBool();
}
-QPalette::ColorRole PlacesItemListWidget::normalTextColorPalette() const
+QPalette::ColorRole PlacesItemListWidget::normalTextColorRole() const
{
return QPalette::WindowText;
}
diff --git a/src/panels/places/placesitemlistwidget.h b/src/panels/places/placesitemlistwidget.h
index 93cd8f468..a2a88c1f0 100644
--- a/src/panels/places/placesitemlistwidget.h
+++ b/src/panels/places/placesitemlistwidget.h
@@ -36,7 +36,7 @@ public:
protected:
virtual bool isHidden() const;
- virtual QPalette::ColorRole normalTextColorPalette() const;
+ virtual QPalette::ColorRole normalTextColorRole() const;
};
#endif