Deprecate QDeclarativeDebugHelper class

This was a helper class for enable debugging in 4.7. Since Qt 4.8 you
should just say CONFIG += declarative_debug

Change-Id: I51dabaec36e175a097721570061aad38c3f828d1
Reviewed-on: http://codereview.qt.nokia.com/3507
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
This commit is contained in:
Kai Koehne 2011-08-24 15:14:59 +02:00 committed by Qt by Nokia
parent 46af4afe0c
commit 33ecffd4e2
16 changed files with 17 additions and 220 deletions

View File

@ -58,6 +58,7 @@ void QDeclarativeDebugHelper::setAnimationSlowDownFactor(qreal factor)
} }
void QDeclarativeDebugHelper::enableDebugging() { void QDeclarativeDebugHelper::enableDebugging() {
qWarning("QDeclarativeDebugHelper::enableDebugging() is deprecated! Add CONFIG += declarative_debug to your .pro file instead.");
#ifndef QDECLARATIVE_NO_DEBUG_PROTOCOL #ifndef QDECLARATIVE_NO_DEBUG_PROTOCOL
if (!QDeclarativeEnginePrivate::qml_debugging_enabled) { if (!QDeclarativeEnginePrivate::qml_debugging_enabled) {
qWarning("Qml debugging is enabled. Only use this in a safe environment!"); qWarning("Qml debugging is enabled. Only use this in a safe environment!");

View File

@ -52,6 +52,10 @@ QT_BEGIN_NAMESPACE
class QDeclarativeEngine; class QDeclarativeEngine;
#ifndef QT_BUILD_DECLARATIVE_LIB
#warning Use of this header file is deprecated! Add CONFIG += declarative_debug to your .pro file instead.
#endif
// Helper methods to access private API through a stable interface // Helper methods to access private API through a stable interface
// This is used in the qmljsdebugger library of QtCreator. // This is used in the qmljsdebugger library of QtCreator.
class Q_DECLARATIVE_EXPORT QDeclarativeDebugHelper class Q_DECLARATIVE_EXPORT QDeclarativeDebugHelper

View File

@ -47,7 +47,7 @@
#include <QtDeclarative/QDeclarativeEngine> #include <QtDeclarative/QDeclarativeEngine>
#include <QtDeclarative/QDeclarativeComponent> #include <QtDeclarative/QDeclarativeComponent>
#include <QtDeclarative/private/qdeclarativedebughelper_p.h> #include <QtCore/private/qabstractanimation_p.h>
#include "QtDeclarative/private/qdeclarativeinspectorservice_p.h" #include "QtDeclarative/private/qdeclarativeinspectorservice_p.h"
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
@ -180,7 +180,8 @@ void AbstractViewInspector::animationSpeedChangeRequested(qreal factor)
} }
const float effectiveFactor = m_animationPaused ? 0 : factor; const float effectiveFactor = m_animationPaused ? 0 : factor;
QDeclarativeDebugHelper::setAnimationSlowDownFactor(effectiveFactor); QUnifiedTimer::instance()->setSlowModeEnabled(effectiveFactor != 1.0);
QUnifiedTimer::instance()->setSlowdownFactor(effectiveFactor);
} }
void AbstractViewInspector::animationPausedChangeRequested(bool paused) void AbstractViewInspector::animationPausedChangeRequested(bool paused)
@ -191,7 +192,8 @@ void AbstractViewInspector::animationPausedChangeRequested(bool paused)
} }
const float effectiveFactor = paused ? 0 : m_slowDownFactor; const float effectiveFactor = paused ? 0 : m_slowDownFactor;
QDeclarativeDebugHelper::setAnimationSlowDownFactor(effectiveFactor); QUnifiedTimer::instance()->setSlowModeEnabled(effectiveFactor != 1.0);
QUnifiedTimer::instance()->setSlowdownFactor(effectiveFactor);
} }
void AbstractViewInspector::setShowAppOnTop(bool appOnTop) void AbstractViewInspector::setShowAppOnTop(bool appOnTop)

View File

@ -46,7 +46,6 @@
#include "sgselectiontool.h" #include "sgselectiontool.h"
#include <QtDeclarative/private/qdeclarativeinspectorservice_p.h> #include <QtDeclarative/private/qdeclarativeinspectorservice_p.h>
#include <QtDeclarative/private/qdeclarativedebughelper_p.h>
#include <QtDeclarative/private/qsgitem_p.h> #include <QtDeclarative/private/qsgitem_p.h>
#include <QtDeclarative/QSGView> #include <QtDeclarative/QSGView>

View File

@ -4,7 +4,7 @@ TARGET = QtQuickTest
QPRO_PWD = $$PWD QPRO_PWD = $$PWD
CONFIG += module CONFIG += module
CONFIG += dll warn_on CONFIG += dll warn_on declarative_debug
MODULE_PRI += ../../modules/qt_qmltest.pri MODULE_PRI += ../../modules/qt_qmltest.pri
QT += testlib-private declarative testlib qtquick1 QT += testlib-private declarative testlib qtquick1

View File

@ -67,15 +67,6 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
// Copied from qdeclarativedebughelper_p.h in Qt, to avoid a dependency
// on a private header from Qt.
class Q_DECLARATIVE_EXPORT QDeclarativeDebugHelper
{
public:
static QJSEngine *getScriptEngine(QDeclarativeEngine *engine);
static void setAnimationSlowDownFactor(qreal factor);
static void enableDebugging();
};
class QTestRootObject : public QObject class QTestRootObject : public QObject
{ {

View File

@ -33,7 +33,6 @@ PRIVATETESTS += \
qdeclarativeconnection \ qdeclarativeconnection \
qdeclarativedebug \ qdeclarativedebug \
qdeclarativedebugclient \ qdeclarativedebugclient \
qdeclarativedebughelper \
qdeclarativedebugservice \ qdeclarativedebugservice \
qdeclarativeecmascript \ qdeclarativeecmascript \
qdeclarativeimageprovider \ qdeclarativeimageprovider \

View File

@ -6,6 +6,6 @@ HEADERS += ../shared/debugutil_p.h
SOURCES += tst_qdeclarativedebug.cpp \ SOURCES += tst_qdeclarativedebug.cpp \
../shared/debugutil.cpp ../shared/debugutil.cpp
CONFIG += parallel_test CONFIG += parallel_test declarative_debug
QT += core-private gui-private declarative-private QT += core-private gui-private declarative-private

View File

@ -55,11 +55,9 @@
#include <private/qdeclarativebinding_p.h> #include <private/qdeclarativebinding_p.h>
#include <private/qdeclarativedebug_p.h> #include <private/qdeclarativedebug_p.h>
#include <private/qdeclarativeenginedebug_p.h> #include <private/qdeclarativeenginedebug_p.h>
#include <private/qdeclarativedebugclient_p.h>
#include <private/qdeclarativedebugservice_p.h> #include <private/qdeclarativedebugservice_p.h>
#include <private/qdeclarativemetatype_p.h> #include <private/qdeclarativemetatype_p.h>
#include <private/qdeclarativeproperty_p.h> #include <private/qdeclarativeproperty_p.h>
#include <private/qdeclarativedebughelper_p.h>
#include "../../../shared/util.h" #include "../../../shared/util.h"
#include "../shared/debugutil_p.h" #include "../shared/debugutil_p.h"
@ -296,9 +294,6 @@ void tst_QDeclarativeDebug::initTestCase()
qRegisterMetaType<QDeclarativeDebugWatch::State>(); qRegisterMetaType<QDeclarativeDebugWatch::State>();
qmlRegisterType<NonScriptProperty>("Test", 1, 0, "NonScriptPropertyElement"); qmlRegisterType<NonScriptProperty>("Test", 1, 0, "NonScriptPropertyElement");
QTest::ignoreMessage(QtWarningMsg, "Qml debugging is enabled. Only use this in a safe environment!");
QDeclarativeDebugHelper::enableDebugging();
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 3768..."); QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 3768...");
m_engine = new QDeclarativeEngine(this); m_engine = new QDeclarativeEngine(this);

View File

@ -5,4 +5,8 @@ macx:CONFIG -= app_bundle
HEADERS += ../shared/debugutil_p.h HEADERS += ../shared/debugutil_p.h
SOURCES += tst_qdeclarativedebugclient.cpp \ SOURCES += tst_qdeclarativedebugclient.cpp \
../shared/debugutil.cpp ../shared/debugutil.cpp
CONFIG += declarative_debug
QT += core-private gui-private declarative-private QT += core-private gui-private declarative-private

View File

@ -49,9 +49,7 @@
#include <private/qdeclarativedebug_p.h> #include <private/qdeclarativedebug_p.h>
#include <private/qdeclarativeenginedebug_p.h> #include <private/qdeclarativeenginedebug_p.h>
#include <private/qdeclarativedebugclient_p.h>
#include <private/qdeclarativedebugservice_p.h> #include <private/qdeclarativedebugservice_p.h>
#include <private/qdeclarativedebughelper_p.h>
#include "../../../shared/util.h" #include "../../../shared/util.h"
#include "../shared/debugutil_p.h" #include "../shared/debugutil_p.h"
@ -73,9 +71,6 @@ private slots:
void tst_QDeclarativeDebugClient::initTestCase() void tst_QDeclarativeDebugClient::initTestCase()
{ {
QTest::ignoreMessage(QtWarningMsg, "Qml debugging is enabled. Only use this in a safe environment!");
QDeclarativeDebugHelper::enableDebugging();
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 13770..."); QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 13770...");
new QDeclarativeEngine(this); new QDeclarativeEngine(this);

View File

@ -1,71 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtDeclarative module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QDECLARATIVEDEBUGHELPER_P_H
#define QDECLARATIVEDEBUGHELPER_P_H
#include <QtCore/qglobal.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class QJSEngine;
class QDeclarativeEngine;
// Helper methods to access private API through a stable interface
// This is used in the qmljsdebugger library of QtCreator.
class Q_DECLARATIVE_EXPORT QDeclarativeDebugHelper
{
public:
static QJSEngine *getScriptEngine(QDeclarativeEngine *engine);
static void setAnimationSlowDownFactor(qreal factor);
// Enables remote debugging functionality
// Only use this for debugging in a safe environment!
static void enableDebugging();
};
QT_END_NAMESPACE
QT_END_HEADER
#endif // QDECLARATIVEDEBUGHELPER_P_H

View File

@ -1,6 +0,0 @@
load(qttest_p4)
contains(QT_CONFIG,declarative): QT += network declarative
macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativedebughelper.cpp
QT += core-private gui-private declarative-private

View File

@ -1,112 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <qtest.h>
#include <QDeclarativeEngine>
#include <private/qdeclarativeengine_p.h>
#include <QAbstractAnimation>
#include <private/qabstractanimation_p.h>
// We have copied the header which is used in the qmljsdebugger (part of QtCreator)
// to catch BC changes. Don't update it unless you know what you are doing!
#include "private_headers/qdeclarativedebughelper_p.h"
class tst_qdeclarativedebughelper : public QObject {
Q_OBJECT
private slots:
void setAnimationSlowDownFactor();
void enableDebugging();
};
class TestAnimation : public QAbstractAnimation {
public:
int updateCalled;
TestAnimation() : updateCalled(0) {}
virtual void updateCurrentTime(int /*currentTime*/) {
updateCalled++;
}
virtual int duration() const {
return 100;
}
};
void tst_qdeclarativedebughelper::setAnimationSlowDownFactor()
{
TestAnimation animation;
// first check whether setup works
QCOMPARE(animation.updateCalled, 0);
animation.start();
QTest::qWait(animation.totalDuration() + 150);
#ifdef Q_OS_WIN
if (animation.state() != QAbstractAnimation::Stopped)
QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort);
#endif
QCOMPARE(animation.state(), QAbstractAnimation::Stopped);
QVERIFY(animation.updateCalled > 1);
// check if we can pause all animations
animation.updateCalled = 0;
QDeclarativeDebugHelper::setAnimationSlowDownFactor(0.0);
animation.start();
QTest::qWait(animation.totalDuration() + 150);
QVERIFY(animation.updateCalled <= 1); // updateCurrentTime seems to be called at least once
// now run them again
animation.updateCalled = 0;
QDeclarativeDebugHelper::setAnimationSlowDownFactor(2.0);
animation.start();
QTest::qWait(animation.totalDuration() + 150);
QVERIFY(animation.updateCalled > 1);
}
void tst_qdeclarativedebughelper::enableDebugging()
{
QTest::ignoreMessage(QtWarningMsg, "Qml debugging is enabled. Only use this in a safe environment!");
QDeclarativeDebugHelper::enableDebugging();
}
QTEST_MAIN(tst_qdeclarativedebughelper)
#include "tst_qdeclarativedebughelper.moc"

View File

@ -6,6 +6,6 @@ HEADERS += ../shared/debugutil_p.h
SOURCES += tst_qdeclarativedebugservice.cpp \ SOURCES += tst_qdeclarativedebugservice.cpp \
../shared/debugutil.cpp ../shared/debugutil.cpp
CONFIG += parallel_test CONFIG += parallel_test declarative_debug
QT += core-private gui-private declarative-private QT += core-private gui-private declarative-private

View File

@ -46,7 +46,6 @@
#include <QThread> #include <QThread>
#include <QtDeclarative/qdeclarativeengine.h> #include <QtDeclarative/qdeclarativeengine.h>
#include <private/qdeclarativedebughelper_p.h>
#include <private/qdeclarativedebug_p.h> #include <private/qdeclarativedebug_p.h>
#include <private/qdeclarativeenginedebug_p.h> #include <private/qdeclarativeenginedebug_p.h>
@ -76,9 +75,6 @@ private slots:
void tst_QDeclarativeDebugService::initTestCase() void tst_QDeclarativeDebugService::initTestCase()
{ {
QTest::ignoreMessage(QtWarningMsg, "Qml debugging is enabled. Only use this in a safe environment!");
QDeclarativeDebugHelper::enableDebugging();
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 13769..."); QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 13769...");
new QDeclarativeEngine(this); new QDeclarativeEngine(this);