void MainWidget::animShowLyricWidget() { if (isLyricWidgetShowing() || isAnimationStarted()) return; this->animStart(); this->setMaximumHeight(this->height() + ui->lyricWidget->height()); QParallelAnimationGroup *animgroup = new QParallelAnimationGroup(this); QPoint lyric_cur = ui->lyricWidget->pos(); QRect self_cur = this->geometry(); QPropertyAnimation *lyric_anim = new QPropertyAnimation(ui->lyricWidget, "pos"); lyric_anim->setDuration(400); lyric_anim->setStartValue(lyric_cur); lyric_cur.setY(ui->controlWidget->height()); lyric_anim->setEndValue(lyric_cur); lyric_anim->setEasingCurve(QEasingCurve::OutCubic); animgroup->addAnimation(lyric_anim); QPropertyAnimation *self_anim = new QPropertyAnimation(this, "geometry"); self_anim->setDuration(400); self_anim->setStartValue(self_cur); self_cur.setHeight(ui->controlWidget->height() + ui->lyricWidget->height()); self_anim->setEndValue(self_cur); self_anim->setEasingCurve(QEasingCurve::OutCubic); animgroup->addAnimation(self_anim); connect(animgroup, &QAnimationGroup::finished, [=] () { _isLyricWidgetShowing = true; animFinish(); ui->pauseWidget->setGeometry(0, 0, ui->pauseWidget->geometry().width(), this->geometry().height()); this->setMinimumHeight(this->height()); ui->lyricWidget->setShowing(true); }); animgroup->start(QAbstractAnimation::DeleteWhenStopped); }
void mainwidget::animHideChannelWidget(bool immediately) { if (!_isChannelWidgetShowing && !immediately) return; QParallelAnimationGroup *animgroup = new QParallelAnimationGroup(this); QPropertyAnimation *control_anim = new QPropertyAnimation(ui->controlWidget, "pos"); control_anim->setDuration(400); control_anim->setStartValue(ui->controlWidget->pos()); QPoint endpos = ui->controlWidget->pos(); endpos.setY(0); control_anim->setEndValue(endpos); control_anim->setEasingCurve(QEasingCurve::OutCubic); animgroup->addAnimation(control_anim); QPropertyAnimation *main_anim = new QPropertyAnimation(this, "geometry"); main_anim->setDuration(400); main_anim->setStartValue(this->geometry()); QRect endval2 = this->geometry(); endval2.setHeight(ui->controlWidget->geometry().height()); main_anim->setEndValue(endval2); main_anim->setEasingCurve(QEasingCurve::OutCubic); animgroup->addAnimation(main_anim); connect(animgroup, &QParallelAnimationGroup::finished, [this] () { _isChannelWidgetShowing = false; QRect pauseGeo = ui->pauseWidget->geometry(); pauseGeo.setHeight(this->geometry().height()); ui->pauseWidget->setGeometry(pauseGeo); this->setMaximumHeight(pauseGeo.height()); }); animgroup->start(QAbstractAnimation::DeleteWhenStopped); }
void mainwidget::animShowChannelWidget() { if (_isChannelWidgetShowing) return; this->setMaximumHeight(this->controlPanel()->geometry().height() + ui->channelWidget->geometry().height()); QParallelAnimationGroup *animgroup = new QParallelAnimationGroup(this); QPropertyAnimation *control_anim = new QPropertyAnimation(ui->controlWidget, "pos"); control_anim->setDuration(400); control_anim->setStartValue(ui->controlWidget->pos()); QPoint endpos = ui->controlWidget->pos(); endpos.setY(ui->channelWidget->geometry().height()); control_anim->setEndValue(endpos); control_anim->setEasingCurve(QEasingCurve::OutCubic); animgroup->addAnimation(control_anim); QPropertyAnimation *main_anim = new QPropertyAnimation(this, "geometry"); main_anim->setDuration(400); main_anim->setStartValue(this->geometry()); QRect endval2 = this->geometry(); endval2.setHeight(endval2.height() + ui->channelWidget->geometry().height()); main_anim->setEndValue(endval2); main_anim->setEasingCurve(QEasingCurve::OutCubic); animgroup->addAnimation(main_anim); connect(animgroup, &QParallelAnimationGroup::finished, [this] () { _isChannelWidgetShowing = true; ui->pauseWidget->setGeometry(0, 0, ui->pauseWidget->geometry().width(), this->geometry().height()); }); animgroup->start(QAbstractAnimation::DeleteWhenStopped); }
void CardItem::goBack(bool kieru){ if(home_pos == pos()){ if(kieru) setOpacity(0.0); return; } QPropertyAnimation *goback = new QPropertyAnimation(this, "pos"); goback->setEndValue(home_pos); goback->setEasingCurve(QEasingCurve::OutBounce); if(kieru){ QParallelAnimationGroup *group = new QParallelAnimationGroup; QPropertyAnimation *disappear = new QPropertyAnimation(this, "opacity"); disappear->setKeyValueAt(0.9, 1.0); disappear->setEndValue(0.0); goback->setDuration(1000); disappear->setDuration(1000); group->addAnimation(goback); group->addAnimation(disappear); group->start(QParallelAnimationGroup::DeleteWhenStopped); }else goback->start(QPropertyAnimation::DeleteWhenStopped); }
void AbstractClipItem::closeAnimation() { #if QT_VERSION >= 0x040600 if (!isEnabled()) return; setEnabled(false); setFlag(QGraphicsItem::ItemIsSelectable, false); if (!(KGlobalSettings::graphicEffectsLevel() & KGlobalSettings::SimpleAnimationEffects)) { // animation disabled deleteLater(); return; } QPropertyAnimation *closeAnimation = new QPropertyAnimation(this, "rect"); QPropertyAnimation *closeAnimation2 = new QPropertyAnimation(this, "opacity"); closeAnimation->setDuration(200); closeAnimation2->setDuration(200); QRectF r = rect(); QRectF r2 = r; r2.setLeft(r.left() + r.width() / 2); r2.setTop(r.top() + r.height() / 2); r2.setWidth(1); r2.setHeight(1); closeAnimation->setStartValue(r); closeAnimation->setEndValue(r2); closeAnimation->setEasingCurve(QEasingCurve::InQuad); closeAnimation2->setStartValue(1.0); closeAnimation2->setEndValue(0.0); QParallelAnimationGroup *group = new QParallelAnimationGroup; connect(group, SIGNAL(finished()), this, SLOT(deleteLater())); group->addAnimation(closeAnimation); group->addAnimation(closeAnimation2); group->start(QAbstractAnimation::DeleteWhenStopped); #endif }
void startZoomOutAnimation() { if (zoomedIndex < 0) return; int lm, tm, rm, bm; m_public->getContentsMargins(&lm, &tm, &rm, &bm); QRect adjustedGeo = m_public->geometry().adjusted(lm, tm, -rm, -bm); int spacing = m_public->spacing(); QSize cellSize = calculateCellSize(adjustedGeo,spacing); QParallelAnimationGroup * animGroup = new QParallelAnimationGroup; for (int i = 0; i < list.size(); ++i) { Wrapper * wr = list.at(i); wr->item->widget()->show(); QPropertyAnimation * anim = new QPropertyAnimation(wr->item->widget(), "geometry"); anim->setEndValue( calculateCellGeometry( adjustedGeo, cellSize, spacing, wr->row, wr->col, wr->rowSpan,wr->colSpan)); anim->setDuration(duration); anim->setEasingCurve(easing); animGroup->addAnimation(anim); } qApp->connect(animGroup, SIGNAL(finished()), m_public, SIGNAL(animationFinished())); animationRunning = true; animGroup->start(QAbstractAnimation::DeleteWhenStopped); zoomedIndex = -1; }
void MayaModule::_showBarraBusqueda(BarraBusqueda *b) { if(!_b_reducida) return; b->setGeometry(0,40,0,this->height()-60); b->show(); QPropertyAnimation* animation0 = new QPropertyAnimation(b, "size",this); connect(animation0,SIGNAL(finished()),animation0,SLOT(deleteLater())); animation0->setDuration(1000); animation0->setEasingCurve(QEasingCurve::OutElastic); animation0->setStartValue(QSize(0,b->height())); animation0->setEndValue(QSize(250,b->height())); QPropertyAnimation* animation = new QPropertyAnimation(b, "pos",this); animation->setDuration(1000); animation->setEasingCurve(QEasingCurve::OutElastic); animation->setStartValue(QPoint(this->width(),b->pos().y())); animation->setEndValue(QPoint(this->width()-250,b->pos().y())); QParallelAnimationGroup *group = new QParallelAnimationGroup(this); group->addAnimation(animation); group->addAnimation(animation0); connect(group,SIGNAL(finished()),group,SLOT(deleteLater())); group->start(); _b_reducida = false; b->setShow(true); }
void MayaModule::_hideBarraBusqueda(BarraBusqueda *b) { if(_b_reducida) return; QPropertyAnimation* animation0 = new QPropertyAnimation(b, "size",this); connect(animation0,SIGNAL(finished()),animation0,SLOT(deleteLater())); animation0->setDuration(300); animation0->setEasingCurve(QEasingCurve::Linear); animation0->setStartValue(QSize(250,b->height())); animation0->setEndValue(QSize(20,b->height())); QPropertyAnimation* animation = new QPropertyAnimation(b, "pos",this); animation->setDuration(200); animation->setEasingCurve(QEasingCurve::Linear); animation->setStartValue(QPoint(this->width()-250,b->pos().y())); animation->setEndValue(QPoint(this->width()-20,b->pos().y())); QParallelAnimationGroup *group = new QParallelAnimationGroup(this); group->addAnimation(animation); group->addAnimation(animation0); connect(group,SIGNAL(finished()),group,SLOT(deleteLater())); group->start(); _b_reducida = true; b->setShow(false); }
void AbstractClipItem::closeAnimation() { if (!isEnabled()) return; setEnabled(false); setFlag(QGraphicsItem::ItemIsSelectable, false); if (QApplication::style()->styleHint(QStyle::SH_Widget_Animate, 0, QApplication::activeWindow())) { // animation disabled deleteLater(); return; } QPropertyAnimation *closeAnimation = new QPropertyAnimation(this, "rect"); QPropertyAnimation *closeAnimation2 = new QPropertyAnimation(this, "opacity"); closeAnimation->setDuration(200); closeAnimation2->setDuration(200); QRectF r = rect(); QRectF r2 = r; r2.setLeft(r.left() + r.width() / 2); r2.setTop(r.top() + r.height() / 2); r2.setWidth(1); r2.setHeight(1); closeAnimation->setStartValue(r); closeAnimation->setEndValue(r2); closeAnimation->setEasingCurve(QEasingCurve::InQuad); closeAnimation2->setStartValue(1.0); closeAnimation2->setEndValue(0.0); QParallelAnimationGroup *group = new QParallelAnimationGroup; connect(group, SIGNAL(finished()), this, SLOT(deleteLater())); group->addAnimation(closeAnimation); group->addAnimation(closeAnimation2); group->start(QAbstractAnimation::DeleteWhenStopped); }
void QtMaemo6MenuProxy::hideWindow() { const MWidgetFadeAnimationStyle *fadeOutStyle = static_cast<const MWidgetFadeAnimationStyle *>(QtMaemo6StylePrivate::mStyle(QStyle::State_Active, "MWidgetFadeAnimationStyle", "Out")); QRect startGeometry = m_menu->geometry(); QRect finalGeometry = startGeometry; finalGeometry.moveTo(finalGeometry.x(), finalGeometry.y() - finalGeometry.height()); QParallelAnimationGroup* animationGroup = new QParallelAnimationGroup(); QPropertyAnimation *widgetFadeOut = new QPropertyAnimation(animationGroup); widgetFadeOut->setTargetObject(m_menu); widgetFadeOut->setPropertyName("geometry"); widgetFadeOut->setDuration(fadeOutStyle->duration()); widgetFadeOut->setEasingCurve(fadeOutStyle->easingCurve()); widgetFadeOut->setStartValue(startGeometry); widgetFadeOut->setEndValue(finalGeometry); QPalette startPalette = m_appArea->palette(); QPalette finalPalette = startPalette; startPalette.setBrush(QPalette::Window, QBrush(QColor(0, 0, 0, 0))); QPropertyAnimation *backgroundFadeOut = new QPropertyAnimation(animationGroup); backgroundFadeOut->setTargetObject(m_appArea); backgroundFadeOut->setPropertyName("palette"); backgroundFadeOut->setDuration(fadeOutStyle->duration()); backgroundFadeOut->setEasingCurve(fadeOutStyle->easingCurve()); backgroundFadeOut->setStartValue(startPalette); backgroundFadeOut->setEndValue(finalPalette); connect(animationGroup, SIGNAL(finished()), this, SLOT(close())); animationGroup->start(QAbstractAnimation::DeleteWhenStopped); }
void UnseenEpisodeWidget::animateNextEpisode() { _currentWidget->setEnabled(false); _nextWidget = _makeWidget(); if (_nextWidget) { layout()->addWidget(_nextWidget); _currentWidget->setMinimumWidth(_currentWidget->width()); _nextWidget->setMinimumWidth(_currentWidget->width()); QPoint finalPos = _currentWidget->pos(); int duration = 600; QPropertyAnimation *slideOut = new QPropertyAnimation(_currentWidget, "pos", this); slideOut->setDuration(duration); slideOut->setStartValue(finalPos); slideOut->setEndValue(QPoint(finalPos.x() - _currentWidget->width(), finalPos.y())); slideOut->setEasingCurve(QEasingCurve::OutQuart); QPropertyAnimation *slideIn = new QPropertyAnimation(_nextWidget, "pos", this); slideIn->setDuration(duration); slideIn->setStartValue(QPoint(finalPos.x() + _currentWidget->width(), finalPos.y())); slideIn->setEndValue(finalPos); slideIn->setEasingCurve(QEasingCurve::OutQuart); QParallelAnimationGroup *group = new QParallelAnimationGroup(_currentWidget); group->addAnimation(slideOut); group->addAnimation(slideIn); group->start(QAbstractAnimation::DeleteWhenStopped); group->connect(group, SIGNAL(finished()), this, SLOT(setupNewCurrent())); } }
void VisualTree::swap_values(VisualTreeElement *e1, VisualTreeElement *e2) { QParallelAnimationGroup * pgr = new QParallelAnimationGroup; e1->setColor(Qt::cyan); e2->setColor(Qt::cyan); QPropertyAnimation *a1= new QPropertyAnimation(e1, "opacity"); a1->setDuration(1000); a1->setStartValue(1); a1->setEndValue(0); QPropertyAnimation *a2= new QPropertyAnimation(e2, "opacity"); a2->setDuration(1000); a2->setStartValue(1); a2->setEndValue(0); int tmp; tmp = e1->getValue(); e1->setValue(e2->getValue()); e2->setValue(tmp); pgr->addAnimation(a1); pgr->addAnimation(a2); pgr->start(QAbstractAnimation::DeleteWhenStopped); connect(pgr, SIGNAL(finished()), this, SLOT(animationFinished())); }
void HitExplosion::determined(Ts::DetermineValue value) { if (value == Ts::GOOD) { greatItem_->hide(); goodItem_->show(); } else if (value == Ts::GREAT) { goodItem_->hide(); greatItem_->show(); } else { return; } QParallelAnimationGroup *group = new QParallelAnimationGroup; QPropertyAnimation *animation = new QPropertyAnimation(this,"opacity"); animation->setDuration(200); animation->setKeyValueAt(0.0,0.0); animation->setKeyValueAt(0.1,0.5); animation->setKeyValueAt(0.9,0.5); animation->setKeyValueAt(1.0,0.0); group->addAnimation(animation); show(); group->start(QAbstractAnimation::DeleteWhenStopped); }
int LinearLayoutActor::animateMoveToPos(qreal endMainProportion, qreal endCrossProportion, int duration, int initialDelay) { QParallelAnimationGroup* groupAnimation = new QParallelAnimationGroup(this); groupAnimation->addAnimation( createMoveToAnimation("mainStart", endMainProportion, mainStart, duration, initialDelay) ); groupAnimation->addAnimation( createMoveToAnimation("crossStart", endCrossProportion, crossStart, duration, initialDelay) ); groupAnimation->start(); return VisualizationSpeed::getInstance().adjust(duration); }