Commit a9a99225 authored by Christiaan Janssen's avatar Christiaan Janssen
Browse files

QmlInspector: Added pause and step animations option

Reviewed-by:  Lasse Holmstedt
parent ebc305b0
......@@ -98,6 +98,7 @@
#include <QMutexLocker>
#include "proxysettings.h"
#include "deviceorientation.h"
#include <QInputDialog>
#ifdef GL_SUPPORTED
#include <QGLWidget>
......@@ -770,10 +771,16 @@ void QDeclarativeViewer::createMenu()
speedAction->setData(10.0f);
playSpeedMenuActions->addAction(speedAction);
pauseAnimationsAction = playSpeedMenu->addAction(tr("Pause"), this, SLOT(pauseAnimations(bool)));
pauseAnimationsAction = playSpeedMenu->addAction(tr("Pause"), this, SLOT(setAnimationsPaused(bool)));
pauseAnimationsAction->setCheckable(true);
pauseAnimationsAction->setShortcut(QKeySequence("Ctrl+."));
animationStepAction = playSpeedMenu->addAction(tr("Pause and step"), this, SLOT(stepAnimations()));
animationStepAction->setShortcut(QKeySequence("Ctrl+,"));
animationSetStepAction = playSpeedMenu->addAction(tr("Set step"), this, SLOT(setAnimationStep()));
m_stepSize = 40;
QAction *playSpeedAction = new QAction(tr("Animations"), this);
playSpeedAction->setMenu(playSpeedMenu);
......@@ -1002,7 +1009,7 @@ void QDeclarativeViewer::toggleRecording()
setRecording(recording);
}
void QDeclarativeViewer::pauseAnimations(bool enable)
void QDeclarativeViewer::setAnimationsPaused(bool enable)
{
if (enable) {
setAnimationSpeed(0.0);
......@@ -1011,6 +1018,25 @@ void QDeclarativeViewer::pauseAnimations(bool enable)
}
}
void QDeclarativeViewer::pauseAnimations() {
pauseAnimationsAction->setChecked(true);
setAnimationsPaused(true);
}
void QDeclarativeViewer::stepAnimations()
{
setAnimationSpeed(1.0);
QTimer::singleShot(m_stepSize, this, SLOT(pauseAnimations()));
}
void QDeclarativeViewer::setAnimationStep()
{
bool ok;
int stepSize = QInputDialog::getInt(this, tr("Set animation step duration"),
tr("Step duration (ms):"), m_stepSize, 20, 10000, 1, &ok);
if (ok) m_stepSize = stepSize;
}
void QDeclarativeViewer::changeAnimationSpeed()
{
QAction *action = qobject_cast<QAction*>(sender());
......
......@@ -131,7 +131,10 @@ public slots:
void proxySettingsChanged ();
void rotateOrientation();
void statusChanged();
void pauseAnimations(bool);
void setAnimationsPaused(bool);
void pauseAnimations();
void stepAnimations();
void setAnimationStep();
void changeAnimationSpeed();
void launch(const QString &);
......@@ -193,7 +196,10 @@ private:
bool convertAvailable;
float animationSpeed;
int m_stepSize;
QAction *pauseAnimationsAction;
QAction *animationStepAction;
QAction *animationSetStepAction;
QActionGroup *orientation;
QAction *showWarningsWindow;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment