diff options
| author | Peter Penz <[email protected]> | 2012-02-14 18:04:47 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2012-02-14 18:05:29 +0100 |
| commit | 0397658b81ce371047d9ce6979aa37d8112f1a2c (patch) | |
| tree | ebdf42f5e00e3c857a36464dd5f9db2b1b72b207 /src/kitemviews/kitemlistwidget.cpp | |
| parent | 7f0aaff9b5d5f1527587dfd68d3b42e020a21122 (diff) | |
Details view: Fix indicator-branches
Up to now no indicator-branches have been drawn when showing a tree. The patch
fixes this so that that the style-dependent branches are drawn.
The main part of the patch is the implementation of
KItemListView::updateSiblingsInformation(). Most of the other changes are
related due to an internal renaming of the expansionsLevel-role to
expandedParentsCount and some related cleanups.
BUG: 290276
FIXED-IN: 4.8.1
Diffstat (limited to 'src/kitemviews/kitemlistwidget.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistwidget.cpp | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index 3d593f76f..24a3f079a 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -46,6 +46,7 @@ KItemListWidget::KItemListWidget(QGraphicsItem* parent) : m_visibleRoles(), m_visibleRolesSizes(), m_styleOption(), + m_siblingsInfo(), m_hoverOpacity(0), m_hoverCache(0), m_hoverAnimation(0), @@ -92,6 +93,7 @@ void KItemListWidget::setData(const QHash<QByteArray, QVariant>& data, } dataChanged(m_data, roles); } + update(); } QHash<QByteArray, QVariant> KItemListWidget::data() const @@ -167,7 +169,9 @@ void KItemListWidget::setVisibleRoles(const QList<QByteArray>& roles) { const QList<QByteArray> previousRoles = m_visibleRoles; m_visibleRoles = roles; + visibleRolesChanged(roles, previousRoles); + update(); } QList<QByteArray> KItemListWidget::visibleRoles() const @@ -179,7 +183,9 @@ void KItemListWidget::setVisibleRolesSizes(const QHash<QByteArray, QSizeF> roles { const QHash<QByteArray, QSizeF> previousRolesSizes = m_visibleRolesSizes; m_visibleRolesSizes = rolesSizes; + visibleRolesSizesChanged(rolesSizes, previousRolesSizes); + update(); } QHash<QByteArray, QSizeF> KItemListWidget::visibleRolesSizes() const @@ -194,6 +200,7 @@ void KItemListWidget::setStyleOption(const KItemListStyleOption& option) m_styleOption = option; styleOptionChanged(option, previous); + update(); } const KItemListStyleOption& KItemListWidget::styleOption() const @@ -208,7 +215,6 @@ void KItemListWidget::setSelected(bool selected) if (m_selectionToggle) { m_selectionToggle->setChecked(selected); } - selectedChanged(selected); update(); } @@ -223,7 +229,6 @@ void KItemListWidget::setCurrent(bool current) { if (m_current != current) { m_current = current; - currentChanged(current); update(); } @@ -265,7 +270,6 @@ void KItemListWidget::setHovered(bool hovered) m_hoverAnimation->start(); hoveredChanged(hovered); - update(); } @@ -301,6 +305,19 @@ bool KItemListWidget::enabledSelectionToggle() const return m_enabledSelectionToggle; } +void KItemListWidget::setSiblingsInformation(const QBitArray& siblings) +{ + const QBitArray previous = m_siblingsInfo; + m_siblingsInfo = siblings; + siblingsInformationChanged(m_siblingsInfo, previous); + update(); +} + +QBitArray KItemListWidget::siblingsInformation() const +{ + return m_siblingsInfo; +} + bool KItemListWidget::contains(const QPointF& point) const { if (!QGraphicsWidget::contains(point)) { @@ -328,7 +345,6 @@ void KItemListWidget::dataChanged(const QHash<QByteArray, QVariant>& current, { Q_UNUSED(current); Q_UNUSED(roles); - update(); } void KItemListWidget::visibleRolesChanged(const QList<QByteArray>& current, @@ -336,7 +352,6 @@ void KItemListWidget::visibleRolesChanged(const QList<QByteArray>& current, { Q_UNUSED(current); Q_UNUSED(previous); - update(); } void KItemListWidget::visibleRolesSizesChanged(const QHash<QByteArray, QSizeF>& current, @@ -344,7 +359,6 @@ void KItemListWidget::visibleRolesSizesChanged(const QHash<QByteArray, QSizeF>& { Q_UNUSED(current); Q_UNUSED(previous); - update(); } void KItemListWidget::styleOptionChanged(const KItemListStyleOption& current, @@ -352,7 +366,6 @@ void KItemListWidget::styleOptionChanged(const KItemListStyleOption& current, { Q_UNUSED(current); Q_UNUSED(previous); - update(); } void KItemListWidget::currentChanged(bool current) @@ -375,6 +388,12 @@ void KItemListWidget::alternatingBackgroundColorsChanged(bool enabled) Q_UNUSED(enabled); } +void KItemListWidget::siblingsInformationChanged(const QBitArray& current, const QBitArray& previous) +{ + Q_UNUSED(current); + Q_UNUSED(previous); +} + void KItemListWidget::resizeEvent(QGraphicsSceneResizeEvent* event) { QGraphicsWidget::resizeEvent(event); |
