Changeset View
Changeset View
Standalone View
Standalone View
lib/thumbnailview/previewitemdelegate.cpp
Context not available. | |||||
454 | geometry.moveRight(mView->viewport()->width()); | 454 | geometry.moveRight(mView->viewport()->width()); | ||
---|---|---|---|---|---|
455 | } | 455 | } | ||
456 | 456 | | |||
457 | // Show tip | 457 | int animDuration = qApp->style()->styleHint(QStyle::SH_Widget_Animation_Duration, nullptr, nullptr); | ||
458 | QParallelAnimationGroup* anim = new QParallelAnimationGroup(); | | |||
459 | QPropertyAnimation* fadeIn = new QPropertyAnimation(mToolTip, "opacity"); | | |||
460 | fadeIn->setStartValue(mToolTip->opacity()); | | |||
461 | fadeIn->setEndValue(1.); | | |||
462 | anim->addAnimation(fadeIn); | | |||
463 | 458 | | |||
464 | if (newTipLabel) { | 459 | if (!QApplication::isEffectEnabled(Qt::UI_FadeTooltip) || animDuration <= 0) { | ||
460 | mToolTip->setGeometry(geometry); | ||||
461 | mToolTip->setOpacity(1); | ||||
462 | return; | ||||
463 | } | ||||
464 | | ||||
465 | bool hasAnimation = false; | ||||
466 | // Show tip | ||||
467 | | ||||
468 | QParallelAnimationGroup* anim = new QParallelAnimationGroup(); | ||||
469 | if (QApplication::isEffectEnabled(Qt::UI_FadeTooltip)) { | ||||
470 | QPropertyAnimation* fadeIn = new QPropertyAnimation(mToolTip, "opacity"); | ||||
471 | fadeIn->setStartValue(mToolTip->opacity()); | ||||
472 | fadeIn->setEndValue(1.); | ||||
473 | anim->addAnimation(fadeIn); | ||||
474 | hasAnimation = true; | ||||
475 | } else { | ||||
476 | mToolTip->setOpacity(1); | ||||
477 | } | ||||
478 | | ||||
479 | if (newTipLabel || !QApplication::isEffectEnabled(Qt::UI_AnimateTooltip)) { | ||||
465 | mToolTip->setGeometry(geometry); | 480 | mToolTip->setGeometry(geometry); | ||
466 | } else { | 481 | } else { | ||
467 | QPropertyAnimation* move = new QPropertyAnimation(mToolTip, "geometry"); | 482 | QPropertyAnimation* move = new QPropertyAnimation(mToolTip, "geometry"); | ||
468 | move->setStartValue(mToolTip->geometry()); | 483 | move->setStartValue(mToolTip->geometry()); | ||
469 | move->setEndValue(geometry); | 484 | move->setEndValue(geometry); | ||
470 | anim->addAnimation(move); | 485 | anim->addAnimation(move); | ||
486 | hasAnimation = true; | ||||
471 | } | 487 | } | ||
472 | 488 | | |||
473 | mToolTipAnimation.reset(anim); | 489 | | ||
474 | mToolTipAnimation->start(); | 490 | if (hasAnimation) { | ||
491 | mToolTipAnimation.reset(anim); | ||||
492 | mToolTipAnimation->start(); | ||||
493 | } else { | ||||
494 | mToolTipAnimation.reset(nullptr); | ||||
495 | delete anim; | ||||
496 | } | ||||
475 | } | 497 | } | ||
476 | 498 | | |||
477 | void hideToolTip() | 499 | void hideToolTip() | ||
Context not available. | |||||
479 | if (!mToolTip) { | 501 | if (!mToolTip) { | ||
480 | return; | 502 | return; | ||
481 | } | 503 | } | ||
504 | | ||||
505 | int animDuration = qApp->style()->styleHint(QStyle::SH_Widget_Animation_Duration, nullptr, nullptr); | ||||
506 | if (!QApplication::isEffectEnabled(Qt::UI_FadeTooltip) || animDuration <= 0) { | ||||
507 | mToolTip->setOpacity(0); | ||||
508 | return; | ||||
509 | } | ||||
510 | | ||||
482 | QSequentialAnimationGroup* anim = new QSequentialAnimationGroup(); | 511 | QSequentialAnimationGroup* anim = new QSequentialAnimationGroup(); | ||
483 | if (mToolTipAnimation->state() == QPropertyAnimation::Stopped) { | 512 | if (mToolTipAnimation->state() == QPropertyAnimation::Stopped) { | ||
484 | anim->addPause(500); | 513 | anim->addPause(500); | ||
Context not available. |