Skip to content

Commit

Permalink
Fix compilation with QT_NO_
Browse files Browse the repository at this point in the history
Merge-request: 1132
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
stasuku authored and ossilator committed Mar 21, 2011
1 parent 5565094 commit 84a342e
Showing 29 changed files with 176 additions and 11 deletions.
2 changes: 2 additions & 0 deletions src/corelib/plugin/qelfparser_p.cpp
Original file line number Diff line number Diff line change
@@ -41,6 +41,7 @@

#include "qelfparser_p.h"

#ifndef QT_NO_LIBRARY
#if defined (Q_OF_ELF) && defined(Q_CC_GNU)

#include "qlibrary_p.h"
@@ -236,3 +237,4 @@ int QElfParser::parse(const char *dataStart, ulong fdlen, const QString &library
QT_END_NAMESPACE

#endif // defined(Q_OF_ELF) && defined(Q_CC_GNU)
#endif // QT_NO_LIBRARY
2 changes: 2 additions & 0 deletions src/corelib/plugin/qelfparser_p.h
Original file line number Diff line number Diff line change
@@ -56,6 +56,7 @@
#include <qendian.h>
#include <qglobal.h>

#ifndef QT_NO_LIBRARY
#if defined (Q_OF_ELF) && defined(Q_CC_GNU)

QT_BEGIN_NAMESPACE
@@ -102,5 +103,6 @@ class QElfParser
QT_END_NAMESPACE

#endif // defined(Q_OF_ELF) && defined(Q_CC_GNU)
#endif // QT_NO_LIBRARY

#endif // QELFPARSER_P_H
8 changes: 8 additions & 0 deletions src/declarative/qml/qdeclarativeimport.cpp
Original file line number Diff line number Diff line change
@@ -722,6 +722,7 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)

// Search order is applicationDirPath(), $QML_IMPORT_PATH, QLibraryInfo::ImportsPath

#ifndef QT_NO_SETTINGS
QString installImportsPath = QLibraryInfo::location(QLibraryInfo::ImportsPath);

#if defined(Q_OS_SYMBIAN)
@@ -748,6 +749,9 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
#else
addImportPath(installImportsPath);
#endif

#endif // QT_NO_SETTINGS

// env import paths
QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
if (!envImportPath.isEmpty()) {
@@ -1014,6 +1018,7 @@ bool QDeclarativeImportDatabase::importPlugin(const QString &filePath, const QSt
if (qmlImportTrace())
qDebug().nospace() << "QDeclarativeImportDatabase::importPlugin: " << uri << " from " << filePath;

#ifndef QT_NO_LIBRARY
QFileInfo fileInfo(filePath);
const QString absoluteFilePath = fileInfo.absoluteFilePath();

@@ -1065,6 +1070,9 @@ bool QDeclarativeImportDatabase::importPlugin(const QString &filePath, const QSt
}

return true;
#else
return false;
#endif
}


6 changes: 6 additions & 0 deletions src/declarative/qml/qdeclarativesqldatabase.cpp
Original file line number Diff line number Diff line change
@@ -309,8 +309,10 @@ static QScriptValue qmlsqldatabase_change_version(QScriptContext *context, QScri

if (ok) {
context->thisObject().setProperty(QLatin1String("version"), to_version, QScriptValue::ReadOnly);
#ifndef QT_NO_SETTINGS
QSettings ini(qmlsqldatabase_databaseFile(db.connectionName(),engine) + QLatin1String(".ini"), QSettings::IniFormat);
ini.setValue(QLatin1String("Version"), to_version);
#endif
}

return engine->undefinedValue();
@@ -355,6 +357,7 @@ static QScriptValue qmlsqldatabase_read_transaction(QScriptContext *context, QSc
*/
static QScriptValue qmlsqldatabase_open_sync(QScriptContext *context, QScriptEngine *engine)
{
#ifndef QT_NO_SETTINGS
qmlsqldatabase_initDatabasesPath(engine);

QSqlDatabase database;
@@ -418,6 +421,9 @@ static QScriptValue qmlsqldatabase_open_sync(QScriptContext *context, QScriptEng
}

return result;
#else
return engine->undefinedValue();
#endif // QT_NO_SETTINGS
}

void qt_add_qmlsqldatabase(QScriptEngine *engine)
2 changes: 2 additions & 0 deletions src/gui/image/qpnghandler.cpp
Original file line number Diff line number Diff line change
@@ -492,8 +492,10 @@ bool Q_INTERNAL_WIN_NO_THROW QPngHandlerPrivate::readPngImage(QImage *outImage)
outImage->setDotsPerMeterX(png_get_x_pixels_per_meter(png_ptr,info_ptr));
outImage->setDotsPerMeterY(png_get_y_pixels_per_meter(png_ptr,info_ptr));

#ifndef QT_NO_IMAGE_TEXT
for (int i = 0; i < readTexts.size()-1; i+=2)
outImage->setText(readTexts.at(i), readTexts.at(i+1));
#endif

state = ReadingEnd;
png_read_end(png_ptr, end_info);
5 changes: 5 additions & 0 deletions src/gui/itemviews/qabstractitemview.cpp
Original file line number Diff line number Diff line change
@@ -194,6 +194,8 @@ void QAbstractItemViewPrivate::checkMouseMove(const QPersistentModelIndex &index
}
}

#ifndef QT_NO_GESTURES

// stores and restores the selection and current item when flicking
void QAbstractItemViewPrivate::_q_scrollerStateChanged()
{
@@ -225,6 +227,7 @@ void QAbstractItemViewPrivate::_q_scrollerStateChanged()
}
}

#endif // QT_NO_GESTURES

/*!
\class QAbstractItemView
@@ -1661,7 +1664,9 @@ bool QAbstractItemView::viewportEvent(QEvent *event)
break;
case QEvent::ScrollPrepare:
executeDelayedItemsLayout();
#ifndef QT_NO_GESTURES
connect(QScroller::scroller(d->viewport), SIGNAL(stateChanged(QScroller::State)), this, SLOT(_q_scrollerStateChanged()), Qt::UniqueConnection);
#endif
break;

default:
2 changes: 2 additions & 0 deletions src/gui/itemviews/qabstractitemview.h
Original file line number Diff line number Diff line change
@@ -359,7 +359,9 @@ protected Q_SLOTS:
Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed())
Q_PRIVATE_SLOT(d_func(), void _q_layoutChanged())
Q_PRIVATE_SLOT(d_func(), void _q_headerDataChanged())
#ifndef QT_NO_GESTURES
Q_PRIVATE_SLOT(d_func(), void _q_scrollerStateChanged())
#endif

friend class QTreeViewPrivate; // needed to compile with MSVC
friend class QAccessibleItemRow;
5 changes: 4 additions & 1 deletion src/gui/kernel/qwidget.cpp
Original file line number Diff line number Diff line change
@@ -366,9 +366,12 @@ QWindowSurface *QWidgetPrivate::createDefaultWindowSurface()
Q_Q(QWidget);

QWindowSurface *surface;
#ifndef QT_NO_PROPERTIES
if (q->property("_q_DummyWindowSurface").toBool()) {
surface = new QDummyWindowSurface(q);
} else {
} else
#endif
{
if (QApplicationPrivate::graphicsSystem())
surface = QApplicationPrivate::graphicsSystem()->createWindowSurface(q);
else
44 changes: 41 additions & 3 deletions src/gui/util/qflickgesture.cpp
Original file line number Diff line number Diff line change
@@ -75,6 +75,7 @@ static QMouseEvent *copyMouseEvent(QEvent *e)
QMouseEvent *me = static_cast<QMouseEvent *>(e);
return new QMouseEvent(me->type(), QPoint(0, 0), me->globalPos(), me->button(), me->buttons(), me->modifiers());
}
#ifndef QT_NO_GRAPHICSVIEW
case QEvent::GraphicsSceneMousePress:
case QEvent::GraphicsSceneMouseRelease:
case QEvent::GraphicsSceneMouseMove: {
@@ -103,6 +104,7 @@ static QMouseEvent *copyMouseEvent(QEvent *e)
return copy;
#endif
}
#endif // QT_NO_GRAPHICSVIEW
default:
return 0;
}
@@ -265,6 +267,7 @@ class PressDelayHandler : public QObject
if (mouseTarget) {
sendingEvent = true;

#ifndef QT_NO_GRAPHICSVIEW
QGraphicsItem *grabber = 0;
if (mouseTarget->parentWidget()) {
if (QGraphicsView *gv = qobject_cast<QGraphicsView *>(mouseTarget->parentWidget())) {
@@ -281,12 +284,14 @@ class PressDelayHandler : public QObject
qFGDebug() << "QFG: ungrabbing" << grabber;
grabber->ungrabMouse();
}
#endif // QT_NO_GRAPHICSVIEW

if (me) {
QMouseEvent copy(me->type(), mouseTarget->mapFromGlobal(me->globalPos()), me->globalPos(), me->button(), me->buttons(), me->modifiers());
qt_sendSpontaneousEvent(mouseTarget, &copy);
}

#ifndef QT_NO_GRAPHICSVIEW
if (grabber && (flags & RegrabMouseAfterwards)) {
// GraphicsView Mouse Handling Workaround #2:
// we need to re-grab the mouse after sending a faked mouse
@@ -296,6 +301,7 @@ class PressDelayHandler : public QObject
qFGDebug() << "QFG: re-grabbing" << grabber;
grabber->grabMouse();
}
#endif
sendingEvent = false;
}
}
@@ -357,10 +363,12 @@ QFlickGestureRecognizer::QFlickGestureRecognizer(Qt::MouseButton button)
*/
QGesture *QFlickGestureRecognizer::create(QObject *target)
{
#ifndef QT_NO_GRAPHICSVIEW
QGraphicsObject *go = qobject_cast<QGraphicsObject*>(target);
if (go && button == Qt::NoButton) {
go->setAcceptTouchEvents(true);
}
#endif
return new QFlickGesture(target, button);
}

@@ -389,7 +397,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
return Ignore; // nothing to do without a scroller?

QWidget *receiverWidget = qobject_cast<QWidget *>(d->receiver);
#ifndef QT_NO_GRAPHICSVIEW
QGraphicsObject *receiverGraphicsObject = qobject_cast<QGraphicsObject *>(d->receiver);
#endif

// this is only set for events that we inject into the event loop via sendEvent()
if (PressDelayHandler::instance()->shouldEventBeIgnored(event)) {
@@ -398,7 +408,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
}

const QMouseEvent *me = 0;
#ifndef QT_NO_GRAPHICSVIEW
const QGraphicsSceneMouseEvent *gsme = 0;
#endif
const QTouchEvent *te = 0;
QPoint globalPos;

@@ -415,6 +427,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
globalPos = me->globalPos();
}
break;
#ifndef QT_NO_GRAPHICSVIEW
case QEvent::GraphicsSceneMousePress:
case QEvent::GraphicsSceneMouseRelease:
case QEvent::GraphicsSceneMouseMove:
@@ -425,6 +438,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
globalPos = gsme->screenPos();
}
break;
#endif
case QEvent::TouchBegin:
case QEvent::TouchEnd:
case QEvent::TouchUpdate:
@@ -466,7 +480,11 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
break;
}

if (!me && !gsme && !te) // Neither mouse nor touch
if (!me
#ifndef QT_NO_GRAPHICSVIEW
&& !gsme
#endif
&& !te) // Neither mouse nor touch
return Ignore;

// get the current pointer position in local coordinates.
@@ -502,6 +520,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
}
break;

#ifndef QT_NO_GRAPHICSVIEW
case QEvent::GraphicsSceneMousePress:
if (gsme && gsme->button() == button && gsme->buttons() == button) {
point = gsme->scenePos();
@@ -529,6 +548,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
inputType = QScroller::InputMove;
}
break;
#endif

case QEvent::TouchBegin:
inputType = QScroller::InputPress;
@@ -568,12 +588,14 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,

if (QWidget *w = qobject_cast<QWidget *>(as->target())) {
scrollerRegion = QRect(w->mapToGlobal(QPoint(0, 0)), w->size());
#ifndef QT_NO_GRAPHICSVIEW
} else if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(as->target())) {
if (go->scene() && !go->scene()->views().isEmpty()) {
foreach (QGraphicsView *gv, go->scene()->views())
scrollerRegion |= gv->mapFromScene(go->mapToScene(go->boundingRect()))
.translated(gv->mapToGlobal(QPoint(0, 0)));
}
#endif
}
// active scrollers always have priority
if (scrollerRegion.contains(globalPos))
@@ -588,8 +610,10 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
if (inputType) {
if (QWidget *w = qobject_cast<QWidget *>(d->receiver))
point = w->mapFromGlobal(point.toPoint());
#ifndef QT_NO_GRAPHICSVIEW
else if (QGraphicsObject *go = qobject_cast<QGraphicsObject *>(d->receiver))
point = go->mapFromScene(point);
#endif

// inform the scroller about the new event
scroller->handleInput(inputType, point, monotonicTimer.elapsed());
@@ -602,15 +626,23 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,

// Consume all mouse events while dragging or scrolling to avoid nasty
// side effects with Qt's standard widgets.
if ((me || gsme) && scrollerIsActive)
if ((me
#ifndef QT_NO_GRAPHICSVIEW
|| gsme
#endif
) && scrollerIsActive)
result |= ConsumeEventHint;

// The only problem with this approach is that we consume the
// MouseRelease when we start the scrolling with a flick gesture, so we
// have to fake a MouseRelease "somewhere" to not mess with the internal
// states of Qt's widgets (a QPushButton would stay in 'pressed' state
// forever, if it doesn't receive a MouseRelease).
if (me || gsme) {
if (me
#ifndef QT_NO_GRAPHICSVIEW
|| gsme
#endif
) {
if (!scrollerWasDragging && !scrollerWasScrolling && scrollerIsActive)
PressDelayHandler::instance()->scrollerBecameActive();
else if (scrollerWasScrolling && (scroller->state() == QScroller::Dragging || scroller->state() == QScroller::Inactive))
@@ -622,7 +654,9 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
} else {
switch (event->type()) {
case QEvent::MouseButtonPress:
#ifndef QT_NO_GRAPHICSVIEW
case QEvent::GraphicsSceneMousePress:
#endif
if (scroller->state() == QScroller::Pressed) {
int pressDelay = int(1000 * scroller->scrollerProperties().scrollMetric(QScrollerProperties::MousePressEventDelay).toReal());
if (pressDelay > 0) {
@@ -639,15 +673,19 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state,
break;

case QEvent::MouseMove:
#ifndef QT_NO_GRAPHICSVIEW
case QEvent::GraphicsSceneMouseMove:
#endif
if (PressDelayHandler::instance()->isDelaying())
result |= ConsumeEventHint;
// fall through
case QEvent::TouchUpdate:
result |= scrollerIsActive ? TriggerGesture : Ignore;
break;

#ifndef QT_NO_GRAPHICSVIEW
case QEvent::GraphicsSceneMouseRelease:
#endif
case QEvent::MouseButtonRelease:
if (PressDelayHandler::instance()->released(event, scrollerWasDragging || scrollerWasScrolling, scrollerIsActive))
result |= ConsumeEventHint;
Loading

0 comments on commit 84a342e

Please sign in to comment.