m_hoverAnimation = new QPropertyAnimation(this, "hoverOpacity", this);
const int duration = (KGlobalSettings::graphicEffectsLevel() == KGlobalSettings::NoEffects) ? 1 : 200;
m_hoverAnimation->setDuration(duration);
- connect(m_hoverAnimation, SIGNAL(finished()), this, SLOT(slotHoverAnimationFinished()));
+ connect(m_hoverAnimation, &QPropertyAnimation::finished, this, &KItemListWidget::slotHoverAnimationFinished);
}
m_hoverAnimation->stop();
return m_hovered;
}
+void KItemListWidget::setHoverPosition(const QPointF& pos)
+{
+ if (m_selectionToggle) {
+ m_selectionToggle->setHovered(selectionToggleRect().contains(pos));
+ }
+}
+
void KItemListWidget::setAlternateBackground(bool enable)
{
if (m_alternateBackground != enable) {
QPainter painter(&pixmap);
const bool oldAlternateBackground = m_alternateBackground;
+ const bool wasSelected = m_selected;
+ const bool wasHovered = m_hovered;
+
setAlternateBackground(false);
+ setSelected(false);
+ setHovered(false);
+
paint(&painter, option, widget);
+
setAlternateBackground(oldAlternateBackground);
+ setSelected(wasSelected);
+ setHovered(wasHovered);
return pixmap;
}
{
QGraphicsWidget::resizeEvent(event);
clearHoverCache();
+
+ if (m_selectionToggle) {
+ const QRectF& toggleRect = selectionToggleRect();
+ m_selectionToggle->setPos(toggleRect.topLeft());
+ m_selectionToggle->resize(toggleRect.size());
+ }
}
qreal KItemListWidget::hoverOpacity() const