From 5532f939b5d6d78ca6470b2fc9e20fff77c663c4 Mon Sep 17 00:00:00 2001 From: Kai Koehne <kai.koehne@nokia.com> Date: Wed, 6 Oct 2010 14:09:07 +0200 Subject: [PATCH] QmlObserver: Fix compilation if no private headers are installed Don't support the Recording + Test Script features if there are no private headers installed. Reviewed-by: Lasse Holmstedt --- share/qtcreator/qml/qmlobserver/main.cpp | 8 ++++++-- .../qml/qmlobserver/qdeclarativetester.cpp | 8 ++++++++ share/qtcreator/qml/qmlobserver/qml.pri | 4 ++++ share/qtcreator/qml/qmlobserver/qmlruntime.cpp | 16 ++++++++++++++-- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/share/qtcreator/qml/qmlobserver/main.cpp b/share/qtcreator/qml/qmlobserver/main.cpp index f04640d970e..6733265b2fe 100644 --- a/share/qtcreator/qml/qmlobserver/main.cpp +++ b/share/qtcreator/qml/qmlobserver/main.cpp @@ -113,7 +113,7 @@ void myMessageOutput(QtMsgType type, const char *msg) void usage() { - qWarning("Usage: qmlviewer [options] <filename>"); + qWarning("Usage: qmlobserver [options] <filename>"); qWarning(" "); qWarning(" options:"); qWarning(" -v, -version ............................. display version"); @@ -125,6 +125,7 @@ void usage() qWarning(" -sizerootobjecttoview .................... the content resizes to the changes in the view (default)"); qWarning(" -qmlbrowser .............................. use a QML-based file browser"); qWarning(" -warnings [show|hide]..................... show warnings in a separate log window"); +#ifndef NO_PRIVATE_HEADERS qWarning(" -recordfile <output> ..................... set video recording file"); qWarning(" - ImageMagick 'convert' for GIF)"); qWarning(" - png file for raw frames"); @@ -133,6 +134,7 @@ void usage() qWarning(" -recordrate <fps> ........................ set recording frame rate"); qWarning(" -record arg .............................. add a recording process argument"); qWarning(" -autorecord [from-]<tomilliseconds> ...... set recording to start and stop"); +#endif qWarning(" -devicekeys .............................. use numeric keys (see F1)"); qWarning(" -dragthreshold <size> .................... set mouse drag threshold size"); qWarning(" -netcache <size> ......................... set disk cache to size bytes"); @@ -141,8 +143,10 @@ void usage() qWarning(" display path if <directory> is empty"); qWarning(" -P <directory> ........................... prepend to the plugin search path"); qWarning(" -opengl .................................. use a QGLWidget for the viewport"); +#ifndef NO_PRIVATE_HEADERS qWarning(" -script <path> ........................... set the script to use"); qWarning(" -scriptopts <options>|help ............... set the script options to use"); +#endif qWarning(" "); qWarning(" Press F1 for interactive help"); @@ -151,7 +155,7 @@ void usage() void scriptOptsUsage() { - qWarning("Usage: qmlviewer -scriptopts <option>[,<option>...] ..."); + qWarning("Usage: qmlobserver -scriptopts <option>[,<option>...] ..."); qWarning(" options:"); qWarning(" record ................................... record a new script"); qWarning(" play ..................................... playback an existing script"); diff --git a/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp b/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp index 14918b23809..83e8c06018e 100644 --- a/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp +++ b/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp @@ -47,8 +47,12 @@ #include <QDeclarativeComponent> #include <QDir> #include <QCryptographicHash> +#include <QGraphicsObject> + +#ifndef NO_PRIVATE_HEADERS #include <private/qabstractanimation_p.h> #include <private/qdeclarativeitem_p.h> +#endif QT_BEGIN_NAMESPACE @@ -60,7 +64,9 @@ QDeclarativeTester::QDeclarativeTester(const QString &script, QDeclarativeViewer { parent->viewport()->installEventFilter(this); parent->installEventFilter(this); +#ifndef NO_PRIVATE_HEADERS QUnifiedTimer::instance()->setConsistentTiming(true); +#endif if (options & QDeclarativeViewer::Play) this->run(); start(); @@ -239,7 +245,9 @@ void QDeclarativeTester::save() void QDeclarativeTester::updateCurrentTime(int msec) { +#ifndef NO_PRIVATE_HEADERS QDeclarativeItemPrivate::setConsistentTime(msec); +#endif if (!testscript && msec > 16 && options & QDeclarativeViewer::Snapshot) return; diff --git a/share/qtcreator/qml/qmlobserver/qml.pri b/share/qtcreator/qml/qmlobserver/qml.pri index 2016513f4e4..3fa4752a3f9 100644 --- a/share/qtcreator/qml/qmlobserver/qml.pri +++ b/share/qtcreator/qml/qmlobserver/qml.pri @@ -5,6 +5,10 @@ contains(QT_CONFIG, opengl) { DEFINES += GL_SUPPORTED } +!exists($$[QT_INSTALL_HEADERS]/QtCore/private/qabstractanimation_p.h) { + DEFINES += NO_PRIVATE_HEADERS +} + INCLUDEPATH += $$PWD HEADERS += $$PWD/qmlruntime.h \ diff --git a/share/qtcreator/qml/qmlobserver/qmlruntime.cpp b/share/qtcreator/qml/qmlobserver/qmlruntime.cpp index 140aee7084c..d15814c7178 100644 --- a/share/qtcreator/qml/qmlobserver/qmlruntime.cpp +++ b/share/qtcreator/qml/qmlobserver/qmlruntime.cpp @@ -64,7 +64,9 @@ #include <qdeclarativenetworkaccessmanagerfactory.h> #include "qdeclarative.h" #include <QAbstractAnimation> +#ifndef NO_PRIVATE_HEADERS #include <private/qabstractanimation_p.h> +#endif #include <QSettings> #include <QXmlStreamReader> @@ -104,6 +106,8 @@ #include <QGLWidget> #endif +#include <qt_private/qdeclarativedebughelper_p.h> + #include <qdeclarativetester.h> #include "jsdebuggeragent.h" @@ -737,6 +741,9 @@ void QDeclarativeViewer::createMenu() recordAction = new QAction(tr("Start Recording &Video"), this); recordAction->setShortcut(QKeySequence("F9")); connect(recordAction, SIGNAL(triggered()), this, SLOT(toggleRecordingWithSelection())); +#ifdef NO_PRIVATE_HEADERS + recordAction->setEnabled(false); +#endif QAction *recordOptions = new QAction(tr("Video &Options..."), this); connect(recordOptions, SIGNAL(triggered()), this, SLOT(chooseRecordingOptions())); @@ -1001,6 +1008,7 @@ void QDeclarativeViewer::toggleRecordingWithSelection() void QDeclarativeViewer::toggleRecording() { +#ifndef NO_PRIVATE_HEADERS if (record_file.isEmpty()) { toggleRecordingWithSelection(); return; @@ -1008,6 +1016,7 @@ void QDeclarativeViewer::toggleRecording() bool recording = !recordTimer.isActive(); recordAction->setText(recording ? tr("&Stop Recording Video\tF9") : tr("&Start Recording Video\tF9")); setRecording(recording); +#endif } void QDeclarativeViewer::setAnimationsPaused(bool enable) @@ -1147,8 +1156,10 @@ bool QDeclarativeViewer::open(const QString& file_or_url) url = QUrl(file_or_url); setWindowTitle(tr("%1 - Qt QML Viewer").arg(file_or_url)); +#ifndef NO_PRIVATE_HEADERS if (!m_script.isEmpty()) tester = new QDeclarativeTester(m_script, m_scriptOptions, canvas); +#endif delete canvas->rootObject(); canvas->engine()->clearComponentCache(); @@ -1295,8 +1306,10 @@ void QDeclarativeViewer::setRecording(bool on) return; int period = int(1000/record_rate+0.5); +#ifndef NO_PRIVATE_HEADERS QUnifiedTimer::instance()->setTimingInterval(on ? period:16); QUnifiedTimer::instance()->setConsistentTiming(on); +#endif if (on) { canvas->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); recordTimer.setInterval(period); @@ -1527,8 +1540,7 @@ void QDeclarativeViewer::setSizeToView(bool sizeToView) void QDeclarativeViewer::setAnimationSpeed(float f) { - QUnifiedTimer::instance()->setSlowdownFactor(f); - QUnifiedTimer::instance()->setSlowModeEnabled(f != 1.0); + QDeclarativeDebugHelper::setAnimationSlowDownFactor(f); } void QDeclarativeViewer::updateSizeHints(bool initial) -- GitLab