diff --git a/src/statusbar/statusbarspaceinfo.cpp b/src/statusbar/statusbarspaceinfo.cpp --- a/src/statusbar/statusbarspaceinfo.cpp +++ b/src/statusbar/statusbarspaceinfo.cpp @@ -22,11 +22,13 @@ #include "spaceinfoobserver.h" +#include #include #include #include #include +#include StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) : KCapacityBar(KCapacityBar::DrawTextInline, parent), @@ -104,7 +106,20 @@ const quint64 available = m_observer->available(); const quint64 used = size - available; const int percentUsed = qRound(100.0 * qreal(used) / qreal(size)); - + + QPalette p = palette(); + KColorScheme colorScheme(QPalette::Active, KColorScheme::Selection); + + if (percentUsed >= 90) { + p.setBrush(QPalette::Highlight, colorScheme.background(KColorScheme::NegativeBackground)); + p.setBrush(QPalette::HighlightedText, colorScheme.foreground(KColorScheme::NegativeText)); + } else { + p.setBrush(QPalette::Highlight, colorScheme.background(KColorScheme::NormalBackground)); + p.setBrush(QPalette::HighlightedText, colorScheme.foreground(KColorScheme::NormalText)); + } + + setPalette(p); + setText(i18nc("@info:status Free disk space", "%1 free", KIO::convertSize(available))); setUpdatesEnabled(false); setValue(percentUsed);