diff options
| author | Peter Penz <[email protected]> | 2012-04-02 22:15:57 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2012-04-02 22:20:10 +0200 |
| commit | fdab593c01964ff4e5bf6c7cc093b802d0a1bbf7 (patch) | |
| tree | 5b99db838080ccdd2279f15af7d7382e16b5173c /src/kitemviews/kitemlistwidget.cpp | |
| parent | a4ede4e0ebaf0bba57da8fc2924577f1a8ff7b54 (diff) | |
Fix focus-rectangle issues
Assure that the focus-rectangle exactly matches to the bottom of
the rendered text.
BUG: 297203
BUG: 289804
FIXED-IN: 4.9.0
Diffstat (limited to 'src/kitemviews/kitemlistwidget.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistwidget.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index b91e87167..b812bcf9d 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -122,17 +122,7 @@ void KItemListWidget::paint(QPainter* painter, const QStyleOptionGraphicsItem* o if (isCurrent()) { QStyleOptionFocusRect focusRectOption; focusRectOption.initFrom(widget); - - const QRect iconBounds = iconRect().toRect(); - const QRect textBounds = textRect().toRect(); - if (iconBounds.bottom() > textBounds.top()) { - focusRectOption.rect = textBounds; - } else { - // See KItemListWidget::drawItemStyleOption(): The selection rectangle - // gets decreased. - focusRectOption.rect = textBounds.adjusted(1, 1, -1, -1); - } - + focusRectOption.rect = textFocusRect().toRect(); focusRectOption.state = QStyle::State_Enabled | QStyle::State_Item | QStyle::State_KeyboardFocusChange; if (m_selected) { focusRectOption.state |= QStyle::State_Selected; @@ -330,6 +320,11 @@ bool KItemListWidget::contains(const QPointF& point) const selectionToggleRect().contains(point); } +QRectF KItemListWidget::textFocusRect() const +{ + return textRect(); +} + QRectF KItemListWidget::selectionToggleRect() const { return QRectF(); @@ -460,7 +455,7 @@ void KItemListWidget::drawItemStyleOption(QPainter* painter, QWidget* widget, QS viewItemOption.state = styleState; viewItemOption.viewItemPosition = QStyleOptionViewItemV4::OnlyOne; viewItemOption.showDecorationSelected = true; - viewItemOption.rect = textBounds.adjusted(1, 0, -1, 0); + viewItemOption.rect = textBounds; widget->style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &viewItemOption, painter, widget); } |
