┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistwidget.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2012-02-14 18:04:47 +0100
committerPeter Penz <[email protected]>2012-02-14 18:05:29 +0100
commit0397658b81ce371047d9ce6979aa37d8112f1a2c (patch)
treeebdf42f5e00e3c857a36464dd5f9db2b1b72b207 /src/kitemviews/kitemlistwidget.cpp
parent7f0aaff9b5d5f1527587dfd68d3b42e020a21122 (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.cpp33
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);