From 0c5e2328284e97a293e1153c6ad1bcd2706e044a Mon Sep 17 00:00:00 2001 From: Volker Krause Date: Wed, 5 Dec 2012 11:42:58 +0100 Subject: Compile with QT_NO_CURSOR. Mostly straightforward, the a11y changes might look a bit drastic, but the base class QAccessibleTextWidget was already disabled in this case, so we have to obviously take out its sub-classes as well. Change-Id: I682ace20d6938688ddb1da23c3463f3c025fab8e Reviewed-by: Marc Mutz Reviewed-by: Tasuku Suzuki Reviewed-by: Frederik Gladhorn Reviewed-by: Lars Knoll Reviewed-by: Nicolas Arnaud-Cormos --- src/gui/kernel/qplatformcursor.h | 2 ++ src/platformsupport/dnd/qsimpledrag.cpp | 2 ++ src/platformsupport/fbconvenience/qfbcursor.cpp | 2 ++ src/platformsupport/fbconvenience/qfbcursor_p.h | 2 ++ src/plugins/accessible/widgets/main.cpp | 4 ++-- src/plugins/accessible/widgets/qaccessiblewidgets.cpp | 8 ++++---- src/plugins/accessible/widgets/qaccessiblewidgets.h | 6 +++--- src/plugins/platforms/directfb/qdirectfbcursor.cpp | 4 ++++ src/plugins/platforms/directfb/qdirectfbcursor.h | 4 ++++ src/plugins/platforms/eglfs/qeglfscursor.cpp | 4 ++++ src/plugins/platforms/eglfs/qeglfscursor.h | 4 ++++ src/plugins/platforms/xcb/qxcbcursor.cpp | 2 ++ src/plugins/platforms/xcb/qxcbcursor.h | 6 ++++++ src/widgets/kernel/qwidget.cpp | 2 ++ 14 files changed, 43 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qplatformcursor.h b/src/gui/kernel/qplatformcursor.h index 138c5fdb58..babb91d9fd 100644 --- a/src/gui/kernel/qplatformcursor.h +++ b/src/gui/kernel/qplatformcursor.h @@ -92,7 +92,9 @@ public: // input methods virtual void pointerEvent(const QMouseEvent & event) { Q_UNUSED(event); } +#ifndef QT_NO_CURSOR virtual void changeCursor(QCursor * windowCursor, QWindow * window) = 0; +#endif virtual QPoint pos() const; virtual void setPos(const QPoint &pos); diff --git a/src/platformsupport/dnd/qsimpledrag.cpp b/src/platformsupport/dnd/qsimpledrag.cpp index 18e6b97e3c..efaede4c5f 100644 --- a/src/platformsupport/dnd/qsimpledrag.cpp +++ b/src/platformsupport/dnd/qsimpledrag.cpp @@ -237,6 +237,7 @@ void QBasicDrag::exitDndEventLoop() void QBasicDrag::updateCursor(Qt::DropAction action) { +#ifndef QT_NO_CURSOR Qt::CursorShape cursorShape = Qt::ForbiddenCursor; if (canDrop()) { switch (action) { @@ -267,6 +268,7 @@ void QBasicDrag::updateCursor(Qt::DropAction action) } } } +#endif updateAction(action); } diff --git a/src/platformsupport/fbconvenience/qfbcursor.cpp b/src/platformsupport/fbconvenience/qfbcursor.cpp index f3b8ecbf50..bc44055721 100644 --- a/src/platformsupport/fbconvenience/qfbcursor.cpp +++ b/src/platformsupport/fbconvenience/qfbcursor.cpp @@ -116,6 +116,7 @@ void QFbCursor::setCursor(const uchar *data, const uchar *mask, int width, int h mGraphic->set(data, mask, width, height, hotX, hotY); } +#ifndef QT_NO_CURSOR void QFbCursor::changeCursor(QCursor * widgetCursor, QWindow *window) { Q_UNUSED(window); @@ -134,6 +135,7 @@ void QFbCursor::changeCursor(QCursor * widgetCursor, QWindow *window) if (mOnScreen || mScreen->geometry().intersects(mCurrentRect.translated(mScreenOffset))) setDirty(); } +#endif QT_END_NAMESPACE diff --git a/src/platformsupport/fbconvenience/qfbcursor_p.h b/src/platformsupport/fbconvenience/qfbcursor_p.h index 9468e647aa..a56e352533 100644 --- a/src/platformsupport/fbconvenience/qfbcursor_p.h +++ b/src/platformsupport/fbconvenience/qfbcursor_p.h @@ -59,7 +59,9 @@ public: // input methods virtual void pointerEvent(const QMouseEvent &event); +#ifndef QT_NO_CURSOR virtual void changeCursor(QCursor *widgetCursor, QWindow *window); +#endif virtual void setDirty() { mDirty = true; /* screen->setDirty(QRect()); */ } virtual bool isDirty() const { return mDirty; } diff --git a/src/plugins/accessible/widgets/main.cpp b/src/plugins/accessible/widgets/main.cpp index 55b1d375dd..8392ef3a6d 100644 --- a/src/plugins/accessible/widgets/main.cpp +++ b/src/plugins/accessible/widgets/main.cpp @@ -199,7 +199,7 @@ QAccessibleInterface *AccessibleFactory::create(const QString &classname, QObjec } else if (classname == QLatin1String("QSplitterHandle")) { iface = new QAccessibleWidget(widget, QAccessible::Grip); #endif -#ifndef QT_NO_TEXTEDIT +#if !defined(QT_NO_TEXTEDIT) && !defined(QT_NO_CURSOR) } else if (classname == QLatin1String("QTextEdit")) { iface = new QAccessibleTextEdit(widget); } else if (classname == QLatin1String("QPlainTextEdit")) { @@ -233,7 +233,7 @@ QAccessibleInterface *AccessibleFactory::create(const QString &classname, QObjec } else if (classname == QLatin1String("QRubberBand")) { iface = new QAccessibleWidget(widget, QAccessible::Border); #endif -#ifndef QT_NO_TEXTBROWSER +#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR) } else if (classname == QLatin1String("QTextBrowser")) { iface = new QAccessibleTextBrowser(widget); #endif diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp index 56e6166e85..e93a82c0ce 100644 --- a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp +++ b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp @@ -99,7 +99,7 @@ QList childWidgets(const QWidget *widget, bool includeTopLevel) return widgets; } -#ifndef QT_NO_TEXTEDIT +#if !defined(QT_NO_TEXTEDIT) && !defined(QT_NO_CURSOR) QAccessiblePlainTextEdit::QAccessiblePlainTextEdit(QWidget* o) :QAccessibleTextWidget(o) @@ -292,7 +292,7 @@ void QAccessibleTextEdit::scrollToSubstring(int startIndex, int endIndex) qWarning("AccessibleTextEdit::scrollToSubstring failed!"); } -#endif // QT_NO_TEXTEDIT +#endif // QT_NO_TEXTEDIT && QT_NO_CURSOR #ifndef QT_NO_STACKEDWIDGET // ======================= QAccessibleStackedWidget ====================== @@ -488,7 +488,7 @@ QAccessibleDialogButtonBox::QAccessibleDialogButtonBox(QWidget *widget) #endif // QT_NO_DIALOGBUTTONBOX -#ifndef QT_NO_TEXTBROWSER +#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR) QAccessibleTextBrowser::QAccessibleTextBrowser(QWidget *widget) : QAccessibleTextEdit(widget) { @@ -499,7 +499,7 @@ QAccessible::Role QAccessibleTextBrowser::role() const { return QAccessible::StaticText; } -#endif // QT_NO_TEXTBROWSER +#endif // QT_NO_TEXTBROWSER && QT_NO_CURSOR #ifndef QT_NO_CALENDARWIDGET // ===================== QAccessibleCalendarWidget ======================== diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.h b/src/plugins/accessible/widgets/qaccessiblewidgets.h index e14b89a63b..fd76dbd076 100644 --- a/src/plugins/accessible/widgets/qaccessiblewidgets.h +++ b/src/plugins/accessible/widgets/qaccessiblewidgets.h @@ -122,7 +122,6 @@ protected: virtual QTextDocument *textDocument() const = 0; virtual QWidget *viewport() const = 0; }; -#endif //QT_NO_CURSOR #ifndef QT_NO_TEXTEDIT class QAccessiblePlainTextEdit : public QAccessibleTextWidget @@ -177,6 +176,7 @@ protected: QWidget *viewport() const; }; #endif // QT_NO_TEXTEDIT +#endif //QT_NO_CURSOR class QAccessibleStackedWidget : public QAccessibleWidget { @@ -245,7 +245,7 @@ public: explicit QAccessibleDialogButtonBox(QWidget *widget); }; -#ifndef QT_NO_TEXTBROWSER +#if !defined(QT_NO_TEXTBROWSER) && !defined(QT_NO_CURSOR) class QAccessibleTextBrowser : public QAccessibleTextEdit { public: @@ -253,7 +253,7 @@ public: QAccessible::Role role() const; }; -#endif // QT_NO_TEXTBROWSER +#endif // QT_NO_TEXTBROWSER && QT_NO_CURSOR #ifndef QT_NO_CALENDARWIDGET class QAccessibleCalendarWidget : public QAccessibleWidget diff --git a/src/plugins/platforms/directfb/qdirectfbcursor.cpp b/src/plugins/platforms/directfb/qdirectfbcursor.cpp index 1ff71f3e63..b04848ec40 100644 --- a/src/plugins/platforms/directfb/qdirectfbcursor.cpp +++ b/src/plugins/platforms/directfb/qdirectfbcursor.cpp @@ -47,9 +47,12 @@ QT_BEGIN_NAMESPACE QDirectFBCursor::QDirectFBCursor(QPlatformScreen *screen) : m_screen(screen) { +#ifndef QT_NO_CURSOR m_image.reset(new QPlatformCursorImage(0, 0, 0, 0, 0, 0)); +#endif } +#ifndef QT_NO_CURSOR void QDirectFBCursor::changeCursor(QCursor *cursor, QWindow *) { int xSpot; @@ -82,5 +85,6 @@ void QDirectFBCursor::changeCursor(QCursor *cursor, QWindow *) layer->SetCursorShape(layer, surface, xSpot, ySpot); layer->SetCooperativeLevel(layer, DLSCL_SHARED); } +#endif QT_END_NAMESPACE diff --git a/src/plugins/platforms/directfb/qdirectfbcursor.h b/src/plugins/platforms/directfb/qdirectfbcursor.h index bd11b97467..21f205a5a1 100644 --- a/src/plugins/platforms/directfb/qdirectfbcursor.h +++ b/src/plugins/platforms/directfb/qdirectfbcursor.h @@ -56,10 +56,14 @@ class QDirectFBCursor : public QPlatformCursor { public: QDirectFBCursor(QPlatformScreen *screen); +#ifndef QT_NO_CURSOR void changeCursor(QCursor *cursor, QWindow *window); +#endif private: +#ifndef QT_NO_CURSOR QScopedPointer m_image; +#endif QPlatformScreen *m_screen; }; diff --git a/src/plugins/platforms/eglfs/qeglfscursor.cpp b/src/plugins/platforms/eglfs/qeglfscursor.cpp index 85bc8679f2..b29849226f 100644 --- a/src/plugins/platforms/eglfs/qeglfscursor.cpp +++ b/src/plugins/platforms/eglfs/qeglfscursor.cpp @@ -55,8 +55,10 @@ QEglFSCursor::QEglFSCursor(QEglFSScreen *screen) initCursorAtlas(); // initialize the cursor +#ifndef QT_NO_CURSOR QCursor cursor(Qt::ArrowCursor); setCurrentCursor(&cursor); +#endif } QEglFSCursor::~QEglFSCursor() @@ -183,6 +185,7 @@ void QEglFSCursor::initCursorAtlas() m_cursorAtlas.image = image; } +#ifndef QT_NO_CURSOR void QEglFSCursor::changeCursor(QCursor *cursor, QWindow *window) { Q_UNUSED(window); @@ -221,6 +224,7 @@ bool QEglFSCursor::setCurrentCursor(QCursor *cursor) return true; } +#endif void QEglFSCursor::update(const QRegion &rgn) { diff --git a/src/plugins/platforms/eglfs/qeglfscursor.h b/src/plugins/platforms/eglfs/qeglfscursor.h index 9a91b73894..1c82abdb44 100644 --- a/src/plugins/platforms/eglfs/qeglfscursor.h +++ b/src/plugins/platforms/eglfs/qeglfscursor.h @@ -57,7 +57,9 @@ public: QEglFSCursor(QEglFSScreen *screen); ~QEglFSCursor(); +#ifndef QT_NO_CURSOR void changeCursor(QCursor *cursor, QWindow *widget) Q_DECL_OVERRIDE; +#endif void pointerEvent(const QMouseEvent &event) Q_DECL_OVERRIDE; QPoint pos() const Q_DECL_OVERRIDE; @@ -68,7 +70,9 @@ public: virtual void paintOnScreen(); protected: +#ifndef QT_NO_CURSOR bool setCurrentCursor(QCursor *cursor); +#endif void draw(const QRectF &rect); void update(const QRegion ®ion); diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp index c1cfbd02d6..e1dfe3d6c0 100644 --- a/src/plugins/platforms/xcb/qxcbcursor.cpp +++ b/src/plugins/platforms/xcb/qxcbcursor.cpp @@ -291,6 +291,7 @@ QXcbCursor::~QXcbCursor() xcb_close_font(xcb_connection(), cursorFont); } +#ifndef QT_NO_CURSOR void QXcbCursor::changeCursor(QCursor *cursor, QWindow *widget) { QXcbWindow *w = 0; @@ -507,6 +508,7 @@ xcb_cursor_t QXcbCursor::createBitmapCursor(QCursor *cursor) } return c; } +#endif void QXcbCursor::queryPointer(QXcbConnection *c, xcb_window_t *rootWin, QPoint *pos, int *keybMask) { diff --git a/src/plugins/platforms/xcb/qxcbcursor.h b/src/plugins/platforms/xcb/qxcbcursor.h index 4c74034988..a4f3bf11ee 100644 --- a/src/plugins/platforms/xcb/qxcbcursor.h +++ b/src/plugins/platforms/xcb/qxcbcursor.h @@ -52,20 +52,26 @@ class QXcbCursor : public QXcbObject, public QPlatformCursor public: QXcbCursor(QXcbConnection *conn, QXcbScreen *screen); ~QXcbCursor(); +#ifndef QT_NO_CURSOR void changeCursor(QCursor *cursor, QWindow *widget); +#endif QPoint pos() const; void setPos(const QPoint &pos); static void queryPointer(QXcbConnection *c, xcb_window_t *rootWin, QPoint *pos, int *keybMask = 0); private: +#ifndef QT_NO_CURSOR xcb_cursor_t createFontCursor(int cshape); xcb_cursor_t createBitmapCursor(QCursor *cursor); xcb_cursor_t createNonStandardCursor(int cshape); +#endif QXcbScreen *m_screen; +#ifndef QT_NO_CURSOR QMap m_shapeCursorMap; QMap m_bitmapCursorMap; +#endif }; QT_END_NAMESPACE diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index ace25fa78b..232524bbb2 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -3069,11 +3069,13 @@ void QWidgetPrivate::setEnabled_helper(bool enable) qt_x11_enforce_cursor(q); } #endif +#ifndef QT_NO_CURSOR if (q->testAttribute(Qt::WA_SetCursor) || q->isWindow()) { // enforce the windows behavior of clearing the cursor on // disabled widgets qt_qpa_set_cursor(q, false); } +#endif #if defined(Q_WS_MAC) setEnabled_helper_sys(enable); #endif -- cgit v1.2.3