X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/aba4462e0238d6075e8822d56a78372eacfa7d2e..3bf471e0:/src/kitemviews/kitemlistwidget.cpp diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index 69a38432a..f729f0239 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -34,6 +34,7 @@ KItemListWidget::KItemListWidget(KItemListWidgetInformant* informant, QGraphicsI m_selected(false), m_current(false), m_hovered(false), + m_expansionAreaHovered(false), m_alternateBackground(false), m_enabledSelectionToggle(false), m_data(), @@ -46,7 +47,8 @@ KItemListWidget::KItemListWidget(KItemListWidgetInformant* informant, QGraphicsI m_hoverAnimation(nullptr), m_hoverSequenceIndex(0), m_selectionToggle(nullptr), - m_editedRole() + m_editedRole(), + m_iconSize(-1) { connect(&m_hoverSequenceTimer, &QTimer::timeout, this, &KItemListWidget::slotHoverSequenceTimerTimeout); } @@ -180,6 +182,18 @@ qreal KItemListWidget::columnWidth(const QByteArray& role) const return m_columnWidths.value(role); } +qreal KItemListWidget::leadingPadding() const { + return m_leadingPadding; +} + +void KItemListWidget::setLeadingPadding(qreal width) { + if (m_leadingPadding != width){ + m_leadingPadding = width; + leadingPaddingChanged(width); + update(); + } +} + void KItemListWidget::setStyleOption(const KItemListStyleOption& option) { if (m_styleOption == option) { @@ -280,6 +294,20 @@ bool KItemListWidget::isHovered() const return m_hovered; } +void KItemListWidget::setExpansionAreaHovered(bool hovered) +{ + if (hovered == m_expansionAreaHovered) { + return; + } + m_expansionAreaHovered = hovered; + update(); +} + +bool KItemListWidget::expansionAreaHovered() const +{ + return m_expansionAreaHovered; +} + void KItemListWidget::setHoverPosition(const QPointF& pos) { if (m_selectionToggle) { @@ -341,6 +369,20 @@ QByteArray KItemListWidget::editedRole() const return m_editedRole; } +void KItemListWidget::setIconSize(int iconSize) +{ + if (m_iconSize != iconSize) { + const int previousIconSize = m_iconSize; + m_iconSize = iconSize; + iconSizeChanged(iconSize, previousIconSize); + } +} + +int KItemListWidget::iconSize() const +{ + return m_iconSize; +} + bool KItemListWidget::contains(const QPointF& point) const { if (!QGraphicsWidget::contains(point)) { @@ -416,11 +458,20 @@ void KItemListWidget::columnWidthChanged(const QByteArray& role, Q_UNUSED(previous) } +void KItemListWidget::leadingPaddingChanged(qreal width) +{ + Q_UNUSED(width) +} + void KItemListWidget::styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous) { - Q_UNUSED(current) Q_UNUSED(previous) + + // set the initial value of m_iconSize if not set + if (m_iconSize == -1) { + m_iconSize = current.iconSize; + } } void KItemListWidget::currentChanged(bool current) @@ -455,6 +506,12 @@ void KItemListWidget::editedRoleChanged(const QByteArray& current, const QByteAr Q_UNUSED(previous) } +void KItemListWidget::iconSizeChanged(int current, int previous) +{ + Q_UNUSED(current) + Q_UNUSED(previous) +} + void KItemListWidget::resizeEvent(QGraphicsSceneResizeEvent* event) { QGraphicsWidget::resizeEvent(event);