X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/30a807e44afb334dd153c8bcbdbde4f36942bee0..1e5bc5b3d6ba344da09369802d822f6cd6da7c4c:/src/kitemviews/kitemlistwidget.cpp diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index fb985ba23..dac5ac296 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -40,12 +40,12 @@ KItemListWidget::KItemListWidget(KItemListWidgetInformant *informant, QGraphicsI , m_data() , m_visibleRoles() , m_columnWidths() - , m_sidePadding(0) + , m_leftPadding(0) + , m_rightPadding(0) , m_styleOption() , m_siblingsInfo() , m_hoverOpacity(0) , m_hoverCache(nullptr) - , m_hoverAnimation(nullptr) , m_hoverSequenceIndex(0) , m_selectionToggle(nullptr) , m_editedRole() @@ -65,10 +65,8 @@ void KItemListWidget::setIndex(int index) delete m_selectionToggle; m_selectionToggle = nullptr; - if (m_hoverAnimation) { - m_hoverAnimation->stop(); - m_hoverOpacity = 0; - } + m_hoverOpacity = 0; + clearHoverCache(); m_index = index; @@ -116,6 +114,7 @@ void KItemListWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *o backgroundColor = backgroundColor.darker(101); } } + const QRectF backgroundRect(0, 0, size().width(), size().height()); painter->fillRect(backgroundRect, backgroundColor); } @@ -185,18 +184,35 @@ qreal KItemListWidget::columnWidth(const QByteArray &role) const return m_columnWidths.value(role); } -qreal KItemListWidget::sidePadding() const +void KItemListWidget::setSidePadding(qreal leftPaddingWidth, qreal rightPaddingWidth) { - return m_sidePadding; + bool changed = false; + if (m_leftPadding != leftPaddingWidth) { + m_leftPadding = leftPaddingWidth; + changed = true; + } + + if (m_rightPadding != rightPaddingWidth) { + m_rightPadding = rightPaddingWidth; + changed = true; + } + + if (!changed) { + return; + } + + sidePaddingChanged(leftPaddingWidth, rightPaddingWidth); + update(); } -void KItemListWidget::setSidePadding(qreal width) +qreal KItemListWidget::leftPadding() const { - if (m_sidePadding != width) { - m_sidePadding = width; - sidePaddingChanged(width); - update(); - } + return m_leftPadding; +} + +qreal KItemListWidget::rightPadding() const +{ + return m_rightPadding; } void KItemListWidget::setStyleOption(const KItemListStyleOption &option) @@ -256,40 +272,33 @@ void KItemListWidget::setHovered(bool hovered) m_hovered = hovered; - if (!m_hoverAnimation) { - m_hoverAnimation = new QPropertyAnimation(this, "hoverOpacity", this); - const int duration = style()->styleHint(QStyle::SH_Widget_Animate) ? 200 : 1; - m_hoverAnimation->setDuration(duration); - connect(m_hoverAnimation, &QPropertyAnimation::finished, this, &KItemListWidget::slotHoverAnimationFinished); - } - m_hoverAnimation->stop(); - m_hoverSequenceIndex = 0; if (hovered) { - const qreal startValue = qMax(hoverOpacity(), qreal(0.1)); - m_hoverAnimation->setStartValue(startValue); - m_hoverAnimation->setEndValue(1.0); + setHoverOpacity(1.0); + if (m_enabledSelectionToggle && !(QApplication::mouseButtons() & Qt::LeftButton)) { initializeSelectionToggle(); } hoverSequenceStarted(); - const KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings"); + const KConfigGroup globalConfig(KSharedConfig::openConfig(), QStringLiteral("PreviewSettings")); const int interval = globalConfig.readEntry("HoverSequenceInterval", 700); m_hoverSequenceTimer.start(interval); } else { - m_hoverAnimation->setStartValue(hoverOpacity()); - m_hoverAnimation->setEndValue(0.0); + setHoverOpacity(0.0); + + if (m_selectionToggle) { + m_selectionToggle->deleteLater(); + m_selectionToggle = nullptr; + } hoverSequenceEnded(); m_hoverSequenceTimer.stop(); } - m_hoverAnimation->start(); - hoveredChanged(hovered); update(); } @@ -447,6 +456,11 @@ QPixmap KItemListWidget::createDragPixmap(const QStyleOptionGraphicsItem *option return pixmap; } +void KItemListWidget::startActivateSoonAnimation(int timeUntilActivation) +{ + Q_UNUSED(timeUntilActivation) +} + void KItemListWidget::dataChanged(const QHash ¤t, const QSet &roles) { Q_UNUSED(current) @@ -466,9 +480,10 @@ void KItemListWidget::columnWidthChanged(const QByteArray &role, qreal current, Q_UNUSED(previous) } -void KItemListWidget::sidePaddingChanged(qreal width) +void KItemListWidget::sidePaddingChanged(qreal leftPaddingWidth, qreal rightPaddingWidth) { - Q_UNUSED(width) + Q_UNUSED(leftPaddingWidth) + Q_UNUSED(rightPaddingWidth) } void KItemListWidget::styleOptionChanged(const KItemListStyleOption ¤t, const KItemListStyleOption &previous) @@ -554,14 +569,6 @@ int KItemListWidget::hoverSequenceIndex() const return m_hoverSequenceIndex; } -void KItemListWidget::slotHoverAnimationFinished() -{ - if (!m_hovered && m_selectionToggle) { - m_selectionToggle->deleteLater(); - m_selectionToggle = nullptr; - } -} - void KItemListWidget::slotHoverSequenceTimerTimeout() { m_hoverSequenceIndex++;