┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemlistwidget.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-08-20 22:52:45 +0200
committerPeter Penz <[email protected]>2011-08-20 22:53:19 +0200
commit4aedb0767490989ea00251a39b8d76f1b51a4303 (patch)
treeb96787050883dbc210d3e019f3bb5c9111eb9d51 /src/kitemviews/kfileitemlistwidget.cpp
parentafcb8cd53c31ef16685f9b6fed15abada14a3d8c (diff)
Select items when using the rubberband
Diffstat (limited to 'src/kitemviews/kfileitemlistwidget.cpp')
-rw-r--r--src/kitemviews/kfileitemlistwidget.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/kitemviews/kfileitemlistwidget.cpp b/src/kitemviews/kfileitemlistwidget.cpp
index a8fe36c08..4fc3307ef 100644
--- a/src/kitemviews/kfileitemlistwidget.cpp
+++ b/src/kitemviews/kfileitemlistwidget.cpp
@@ -86,9 +86,7 @@ void KFileItemListWidget::paint(QPainter* painter, const QStyleOptionGraphicsIte
{
KItemListWidget::paint(painter, option, widget);
- if (m_dirtyContent || m_dirtyLayout) {
- const_cast<KFileItemListWidget*>(this)->updateCache();
- }
+ const_cast<KFileItemListWidget*>(this)->updateCache();
// Draw expansion toggle '>' or 'V'
if (m_isDir && !m_expansionArea.isEmpty()) {
@@ -135,6 +133,8 @@ void KFileItemListWidget::paint(QPainter* painter, const QStyleOptionGraphicsIte
QRectF KFileItemListWidget::iconBoundingRect() const
{
+ const_cast<KFileItemListWidget*>(this)->updateCache();
+
QRectF bounds = m_hoverPixmapRect;
const qreal margin = styleOption().margin;
bounds.adjust(-margin, -margin, margin, margin);
@@ -143,11 +143,13 @@ QRectF KFileItemListWidget::iconBoundingRect() const
QRectF KFileItemListWidget::textBoundingRect() const
{
+ const_cast<KFileItemListWidget*>(this)->updateCache();
return m_textBoundingRect;
}
QRectF KFileItemListWidget::expansionToggleRect() const
{
+ const_cast<KFileItemListWidget*>(this)->updateCache();
return m_isDir ? m_expansionArea : QRectF();
}
@@ -242,7 +244,7 @@ void KFileItemListWidget::resizeEvent(QGraphicsSceneResizeEvent* event)
void KFileItemListWidget::updateCache()
{
- if (index() < 0) {
+ if ((!m_dirtyContent && !m_dirtyLayout) || index() < 0) {
return;
}