X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/4e574ffae5b39962210c4d822762ad9242f51437..d48b733:/src/kitemviews/kitemlistwidget.cpp diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp index 44754a694..b834e951f 100644 --- a/src/kitemviews/kitemlistwidget.cpp +++ b/src/kitemviews/kitemlistwidget.cpp @@ -27,9 +27,7 @@ #include "private/kitemlistselectiontoggle.h" -#include -#include #include #include #include @@ -250,9 +248,9 @@ void KItemListWidget::setHovered(bool hovered) if (!m_hoverAnimation) { m_hoverAnimation = new QPropertyAnimation(this, "hoverOpacity", this); - const int duration = (KGlobalSettings::graphicEffectsLevel() == KGlobalSettings::NoEffects) ? 1 : 200; + const int duration = style()->styleHint(QStyle::SH_Widget_Animate) ? 200 : 1; m_hoverAnimation->setDuration(duration); - connect(m_hoverAnimation, SIGNAL(finished()), this, SLOT(slotHoverAnimationFinished())); + connect(m_hoverAnimation, &QPropertyAnimation::finished, this, &KItemListWidget::slotHoverAnimationFinished); } m_hoverAnimation->stop(); @@ -282,7 +280,7 @@ bool KItemListWidget::isHovered() const void KItemListWidget::setHoverPosition(const QPointF& pos) { if (m_selectionToggle) { - m_selectionToggle->setHovered(m_selectionToggle->contains(pos)); + m_selectionToggle->setHovered(selectionToggleRect().contains(pos)); } } @@ -370,7 +368,8 @@ QRectF KItemListWidget::expansionToggleRect() const QPixmap KItemListWidget::createDragPixmap(const QStyleOptionGraphicsItem* option, QWidget* widget) { - QPixmap pixmap(size().toSize()); + QPixmap pixmap(size().toSize() * widget->devicePixelRatio()); + pixmap.setDevicePixelRatio(widget->devicePixelRatio()); pixmap.fill(Qt::transparent); QPainter painter(&pixmap); @@ -473,8 +472,8 @@ qreal KItemListWidget::hoverOpacity() const void KItemListWidget::slotHoverAnimationFinished() { - if (!m_hovered) { - delete m_selectionToggle; + if (!m_hovered && m_selectionToggle) { + m_selectionToggle->deleteLater(); m_selectionToggle = 0; } } @@ -522,8 +521,7 @@ void KItemListWidget::drawItemStyleOption(QPainter* painter, QWidget* widget, QS viewItemOption.state = styleState; viewItemOption.viewItemPosition = QStyleOptionViewItemV4::OnlyOne; viewItemOption.showDecorationSelected = true; - viewItemOption.rect = textRect().toRect(); + viewItemOption.rect = selectionRect().toRect(); widget->style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &viewItemOption, painter, widget); } -#include "kitemlistwidget.moc"