diff --git a/src/ui/settingsdialog.cpp b/src/ui/settingsdialog.cpp index 7c0d60e76..f206c931b 100644 --- a/src/ui/settingsdialog.cpp +++ b/src/ui/settingsdialog.cpp @@ -114,7 +114,7 @@ void SettingsItemDelegate::paint(QPainter* painter, if (is_separator) { GroupedIconView::DrawHeader(painter, option.rect, option.font, - option.palette, index.data().toString()); + option.palette, index.data().toString(), false); } else { QStyledItemDelegate::paint(painter, option, index); } diff --git a/src/widgets/groupediconview.cpp b/src/widgets/groupediconview.cpp index c0d5fe61b..c93c44f7b 100644 --- a/src/widgets/groupediconview.cpp +++ b/src/widgets/groupediconview.cpp @@ -65,7 +65,7 @@ int GroupedIconView::header_height() const { return default_header_height_; } void GroupedIconView::DrawHeader(QPainter* painter, const QRect& rect, const QFont& font, const QPalette& palette, - const QString& text) { + const QString& text, bool selected) { painter->save(); // Bold font @@ -73,6 +73,10 @@ void GroupedIconView::DrawHeader(QPainter* painter, const QRect& rect, bold_font.setBold(true); QFontMetrics metrics(bold_font); + if (selected) { + painter->fillRect(rect, palette.highlight()); + } + QRect text_rect(rect); text_rect.setHeight(metrics.height()); text_rect.moveTop( @@ -291,7 +295,8 @@ void GroupedIconView::paintEvent(QPaintEvent* e) { DrawHeader(&painter, header_rect.translated(-horizontalOffset(), -verticalOffset()), font(), palette(), - model()->index(header.first_row, 0).data(Role_Group).toString()); + model()->index(header.first_row, 0).data(Role_Group).toString(), + false); } } diff --git a/src/widgets/groupediconview.h b/src/widgets/groupediconview.h index d53f9cffe..f1db8f7b6 100644 --- a/src/widgets/groupediconview.h +++ b/src/widgets/groupediconview.h @@ -64,7 +64,7 @@ class GroupedIconView : public QListView { static void DrawHeader(QPainter* painter, const QRect& rect, const QFont& font, const QPalette& palette, - const QString& text); + const QString& text, bool selected); protected: virtual int header_height() const;