summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2018-04-13 09:01:43 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2018-05-29 18:31:35 +0000
commit9f27bfb31acfba49a74a342d9249f24633a7ade2 (patch)
treeb156192def25d688ff924b60f1c8defadd86c351 /src/plugins
parentdd8e73504edbf71808d6585b7a08daddcdcbf18e (diff)
Make sure we can build with -no-feature-draganddrop
We move QInternalMimeData to a separate file, because this class is used, even if draganddrop is disabled. From now on, include qinternalmimedata_p.h instead of qdnd_p.h for QInternalMimeData. Change-Id: I594e08e2e90d574dc445119091686b4b69e4731b Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/cocoa/qcocoadrag.h1
-rw-r--r--src/plugins/platforms/offscreen/qoffscreencommon.h4
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration.cpp4
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration.h4
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.cpp6
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.h4
-rw-r--r--src/plugins/platforms/windows/qwindowsdrag.cpp1
-rw-r--r--src/plugins/platforms/windows/qwindowsdrag.h1
-rw-r--r--src/plugins/platforms/windows/qwindowsintegration.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowsinternalmimedata.h2
-rw-r--r--src/plugins/platforms/windows/qwindowsmime.cpp14
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp2
-rw-r--r--src/plugins/platforms/winrt/qwinrtdrag.h3
-rw-r--r--src/plugins/platforms/winrt/qwinrtintegration.cpp6
-rw-r--r--src/plugins/platforms/winrt/qwinrtintegration.h2
-rw-r--r--src/plugins/platforms/winrt/qwinrtscreen.cpp8
-rw-r--r--src/plugins/platforms/winrt/winrt.pro8
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp10
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h4
-rw-r--r--src/plugins/platforms/xcb/qxcbdrag.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbdrag.h6
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.h2
-rw-r--r--src/plugins/platforms/xcb/qxcbmime.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbmime.h7
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp6
-rw-r--r--src/plugins/platforms/xcb/xcb_qpa_lib.pro7
27 files changed, 62 insertions, 64 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoadrag.h b/src/plugins/platforms/cocoa/qcocoadrag.h
index dc0cc17dfb..5a5b985c6e 100644
--- a/src/plugins/platforms/cocoa/qcocoadrag.h
+++ b/src/plugins/platforms/cocoa/qcocoadrag.h
@@ -46,6 +46,7 @@
#include <private/qsimpledrag_p.h>
#include <QtGui/private/qdnd_p.h>
+#include <QtGui/private/qinternalmimedata_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/offscreen/qoffscreencommon.h b/src/plugins/platforms/offscreen/qoffscreencommon.h
index 541c07384c..f4f0142911 100644
--- a/src/plugins/platforms/offscreen/qoffscreencommon.h
+++ b/src/plugins/platforms/offscreen/qoffscreencommon.h
@@ -41,7 +41,9 @@
#define QOFFSCREENCOMMON_H
#include <qpa/qplatformbackingstore.h>
+#if QT_CONFIG(draganddrop)
#include <qpa/qplatformdrag.h>
+#endif
#include <qpa/qplatformintegration.h>
#include <qpa/qplatformscreen.h>
#include <qpa/qplatformwindow.h>
@@ -71,7 +73,7 @@ public:
QScopedPointer<QPlatformCursor> m_cursor;
};
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
class QOffscreenDrag : public QPlatformDrag
{
public:
diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp
index 75bb786b28..01cd254501 100644
--- a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp
+++ b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp
@@ -109,7 +109,7 @@ QOffscreenIntegration::QOffscreenIntegration()
m_fontDatabase.reset(new QFreeTypeFontDatabase());
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
m_drag.reset(new QOffscreenDrag);
#endif
m_services.reset(new QPlatformServices);
@@ -204,7 +204,7 @@ QPlatformFontDatabase *QOffscreenIntegration::fontDatabase() const
return m_fontDatabase.data();
}
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QPlatformDrag *QOffscreenIntegration::drag() const
{
return m_drag.data();
diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.h b/src/plugins/platforms/offscreen/qoffscreenintegration.h
index a1e3a9bde8..fc988126bb 100644
--- a/src/plugins/platforms/offscreen/qoffscreenintegration.h
+++ b/src/plugins/platforms/offscreen/qoffscreenintegration.h
@@ -59,7 +59,7 @@ public:
QPlatformWindow *createPlatformWindow(QWindow *window) const override;
QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const override;
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QPlatformDrag *drag() const override;
#endif
@@ -76,7 +76,7 @@ public:
private:
QScopedPointer<QPlatformFontDatabase> m_fontDatabase;
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QScopedPointer<QPlatformDrag> m_drag;
#endif
QScopedPointer<QPlatformInputContext> m_inputContext;
diff --git a/src/plugins/platforms/qnx/qqnxintegration.cpp b/src/plugins/platforms/qnx/qqnxintegration.cpp
index bffe7ee34b..6085cd34c0 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.cpp
+++ b/src/plugins/platforms/qnx/qqnxintegration.cpp
@@ -139,7 +139,7 @@ QQnxIntegration::QQnxIntegration(const QStringList &paramList)
, m_clipboard(0)
#endif
, m_navigator(0)
-#if !defined(QT_NO_DRAGANDDROP)
+#if QT_CONFIG(draganddrop)
, m_drag(new QSimpleDrag())
#endif
{
@@ -212,7 +212,7 @@ QQnxIntegration::~QQnxIntegration()
qIntegrationDebug("platform plugin shutdown begin");
delete m_nativeInterface;
-#if !defined(QT_NO_DRAGANDDROP)
+#if QT_CONFIG(draganddrop)
// Destroy the drag object
delete m_drag;
#endif
@@ -419,7 +419,7 @@ QPlatformClipboard *QQnxIntegration::clipboard() const
}
#endif
-#if !defined(QT_NO_DRAGANDDROP)
+#if QT_CONFIG(draganddrop)
QPlatformDrag *QQnxIntegration::drag() const
{
return m_drag;
diff --git a/src/plugins/platforms/qnx/qqnxintegration.h b/src/plugins/platforms/qnx/qqnxintegration.h
index d1ebb1d4bf..f11afa1748 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.h
+++ b/src/plugins/platforms/qnx/qqnxintegration.h
@@ -113,7 +113,7 @@ public:
#if !defined(QT_NO_CLIPBOARD)
QPlatformClipboard *clipboard() const override;
#endif
-#if !defined(QT_NO_DRAGANDDROP)
+#if QT_CONFIG(draganddrop)
QPlatformDrag *drag() const override;
#endif
QVariant styleHint(StyleHint hint) const override;
@@ -158,7 +158,7 @@ private:
mutable QQnxClipboard* m_clipboard;
#endif
QQnxAbstractNavigator *m_navigator;
-#if !defined(QT_NO_DRAGANDDROP)
+#if QT_CONFIG(draganddrop)
QSimpleDrag *m_drag;
#endif
static QQnxWindowMapper ms_windowMapper;
diff --git a/src/plugins/platforms/windows/qwindowsdrag.cpp b/src/plugins/platforms/windows/qwindowsdrag.cpp
index 593ff3cef1..e427ee162a 100644
--- a/src/plugins/platforms/windows/qwindowsdrag.cpp
+++ b/src/plugins/platforms/windows/qwindowsdrag.cpp
@@ -56,6 +56,7 @@
#include <QtGui/QRasterWindow>
#include <QtGui/QGuiApplication>
#include <qpa/qwindowsysteminterface_p.h>
+#include <QtGui/private/qdnd_p.h>
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/private/qhighdpiscaling_p.h>
diff --git a/src/plugins/platforms/windows/qwindowsdrag.h b/src/plugins/platforms/windows/qwindowsdrag.h
index 2b4ca2dce1..d934679488 100644
--- a/src/plugins/platforms/windows/qwindowsdrag.h
+++ b/src/plugins/platforms/windows/qwindowsdrag.h
@@ -44,6 +44,7 @@
#include "qwindowsinternalmimedata.h"
#include <qpa/qplatformdrag.h>
+#include <QtGui/qdrag.h>
#include <QtGui/QPixmap>
struct IDropTargetHelper;
diff --git a/src/plugins/platforms/windows/qwindowsintegration.cpp b/src/plugins/platforms/windows/qwindowsintegration.cpp
index 287b65cd5d..0a9e8b9d91 100644
--- a/src/plugins/platforms/windows/qwindowsintegration.cpp
+++ b/src/plugins/platforms/windows/qwindowsintegration.cpp
@@ -552,7 +552,7 @@ QPlatformDrag *QWindowsIntegration::drag() const
{
return &d->m_drag;
}
-# endif // !QT_NO_DRAGANDDROP
+# endif // QT_CONFIG(draganddrop)
#endif // !QT_NO_CLIPBOARD
QPlatformInputContext * QWindowsIntegration::inputContext() const
diff --git a/src/plugins/platforms/windows/qwindowsinternalmimedata.h b/src/plugins/platforms/windows/qwindowsinternalmimedata.h
index a7df1ee6e0..a44f5b509c 100644
--- a/src/plugins/platforms/windows/qwindowsinternalmimedata.h
+++ b/src/plugins/platforms/windows/qwindowsinternalmimedata.h
@@ -42,7 +42,7 @@
#include <QtCore/qt_windows.h>
-#include <QtGui/private/qdnd_p.h> // QInternalMime
+#include <QtGui/private/qinternalmimedata_p.h>
#include <QtCore/QVariant>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/windows/qwindowsmime.cpp b/src/plugins/platforms/windows/qwindowsmime.cpp
index 34e6041687..0439797a7d 100644
--- a/src/plugins/platforms/windows/qwindowsmime.cpp
+++ b/src/plugins/platforms/windows/qwindowsmime.cpp
@@ -40,7 +40,7 @@
#include "qwindowsmime.h"
#include "qwindowscontext.h"
-#include <QtGui/private/qdnd_p.h>
+#include <QtGui/private/qinternalmimedata_p.h>
#include <QtCore/QByteArrayMatcher>
#include <QtCore/QTextCodec>
#include <QtCore/QMap>
@@ -1255,7 +1255,7 @@ bool QBuiltInMimes::convertFromMime(const FORMATETC &formatetc, const QMimeData
} else {
#if QT_CONFIG(draganddrop)
data = QInternalMimeData::renderDataHelper(outFormats.value(getCf(formatetc)), mimeData);
-#endif //QT_NO_DRAGANDDROP
+#endif // QT_CONFIG(draganddrop)
}
return setData(data, pmedium);
}
@@ -1363,7 +1363,7 @@ bool QLastResortMimes::canConvertFromMime(const FORMATETC &formatetc, const QMim
Q_UNUSED(formatetc);
return formatetc.tymed & TYMED_HGLOBAL
&& formats.contains(formatetc.cfFormat);
-#endif //QT_NO_DRAGANDDROP
+#endif // QT_CONFIG(draganddrop)
}
bool QLastResortMimes::convertFromMime(const FORMATETC &formatetc, const QMimeData *mimeData, STGMEDIUM * pmedium) const
@@ -1376,7 +1376,7 @@ bool QLastResortMimes::convertFromMime(const FORMATETC &formatetc, const QMimeDa
Q_UNUSED(formatetc);
Q_UNUSED(pmedium);
return false;
-#endif //QT_NO_DRAGANDDROP
+#endif // QT_CONFIG(draganddrop)
}
QVector<FORMATETC> QLastResortMimes::formatsForMime(const QString &mimeType, const QMimeData * /*mimeData*/) const
@@ -1484,7 +1484,7 @@ QString QLastResortMimes::mimeForFormat(const FORMATETC &formatetc) const
format = clipFormat;
}
}
-#endif //QT_NO_DRAGANDDROP
+#endif // QT_CONFIG(draganddrop)
}
return format;
@@ -1559,7 +1559,7 @@ QVector<FORMATETC> QWindowsMimeConverter::allFormatsForMime(const QMimeData *mim
{
ensureInitialized();
QVector<FORMATETC> formatics;
-#ifdef QT_NO_DRAGANDDROP
+#if !QT_CONFIG(draganddrop)
Q_UNUSED(mimeData);
#else
formatics.reserve(20);
@@ -1568,7 +1568,7 @@ QVector<FORMATETC> QWindowsMimeConverter::allFormatsForMime(const QMimeData *mim
for (int i = m_mimes.size() - 1; i >= 0; --i)
formatics += m_mimes.at(i)->formatsForMime(formats.at(f), mimeData);
}
-#endif //QT_NO_DRAGANDDROP
+#endif // QT_CONFIG(draganddrop)
return formatics;
}
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index f8d6ae222e..a2883e2601 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -1248,7 +1248,7 @@ void QWindowsWindow::setDropSiteEnabled(bool dropEnabled)
RevokeDragDrop(m_data.hwnd);
m_dropTarget = 0;
}
-#endif // !QT_NO_CLIPBOARD && !QT_NO_DRAGANDDROP
+#endif // QT_CONFIG(clipboard) && QT_CONFIG(draganddrop)
}
// Returns topmost QWindowsWindow ancestor even if there are embedded windows in the chain.
diff --git a/src/plugins/platforms/winrt/qwinrtdrag.h b/src/plugins/platforms/winrt/qwinrtdrag.h
index 2371201507..3868c9f015 100644
--- a/src/plugins/platforms/winrt/qwinrtdrag.h
+++ b/src/plugins/platforms/winrt/qwinrtdrag.h
@@ -41,7 +41,8 @@
#include <QtCore/QLoggingCategory>
#include <QtCore/QMimeData>
-#include <QtGui/private/qdnd_p.h> // QInternalMime
+#include <QtGui/private/qdnd_p.h>
+#include <QtGui/private/qinternalmimedata_p.h>
#include <wrl.h>
diff --git a/src/plugins/platforms/winrt/qwinrtintegration.cpp b/src/plugins/platforms/winrt/qwinrtintegration.cpp
index 7a30c8d98b..c52207d23b 100644
--- a/src/plugins/platforms/winrt/qwinrtintegration.cpp
+++ b/src/plugins/platforms/winrt/qwinrtintegration.cpp
@@ -47,7 +47,7 @@
#include "qwinrteglcontext.h"
#include "qwinrttheme.h"
#include "qwinrtclipboard.h"
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
#include "qwinrtdrag.h"
#endif
@@ -308,12 +308,12 @@ QPlatformClipboard *QWinRTIntegration::clipboard() const
return d->clipboard;
}
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QPlatformDrag *QWinRTIntegration::drag() const
{
return QWinRTDrag::instance();
}
-#endif // QT_NO_DRAGANDDROP
+#endif // QT_CONFIG(draganddrop)
Qt::KeyboardModifiers QWinRTIntegration::queryKeyboardModifiers() const
{
diff --git a/src/plugins/platforms/winrt/qwinrtintegration.h b/src/plugins/platforms/winrt/qwinrtintegration.h
index e22532a266..d1a9b7edbd 100644
--- a/src/plugins/platforms/winrt/qwinrtintegration.h
+++ b/src/plugins/platforms/winrt/qwinrtintegration.h
@@ -97,7 +97,7 @@ public:
QPlatformInputContext *inputContext() const override;
QPlatformServices *services() const override;
QPlatformClipboard *clipboard() const override;
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QPlatformDrag *drag() const override;
#endif
diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp
index e37aeb0bc5..531e843829 100644
--- a/src/plugins/platforms/winrt/qwinrtscreen.cpp
+++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp
@@ -42,7 +42,7 @@
#include "qwinrtbackingstore.h"
#include "qwinrtinputcontext.h"
#include "qwinrtcursor.h"
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
#include "qwinrtdrag.h"
#endif
#include "qwinrtwindow.h"
@@ -567,7 +567,7 @@ QWinRTScreen::QWinRTScreen()
ComPtr<Xaml::IUIElement> uiElement;
hr = canvas.As(&uiElement);
Q_ASSERT_SUCCEEDED(hr);
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QWinRTDrag::instance()->setUiElement(uiElement);
#endif
hr = window->put_Content(uiElement.Get());
@@ -850,7 +850,7 @@ void QWinRTScreen::addWindow(QWindow *window)
handleExpose();
QWindowSystemInterface::flushWindowSystemEvents(QEventLoop::ExcludeUserInputEvents);
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QWinRTDrag::instance()->setDropTarget(window);
#endif
}
@@ -869,7 +869,7 @@ void QWinRTScreen::removeWindow(QWindow *window)
QWindowSystemInterface::handleWindowActivated(nullptr, Qt::OtherFocusReason);
handleExpose();
QWindowSystemInterface::flushWindowSystemEvents(QEventLoop::ExcludeUserInputEvents);
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
if (wasTopWindow)
QWinRTDrag::instance()->setDropTarget(topWindow());
#endif
diff --git a/src/plugins/platforms/winrt/winrt.pro b/src/plugins/platforms/winrt/winrt.pro
index 042b270cff..46371b4880 100644
--- a/src/plugins/platforms/winrt/winrt.pro
+++ b/src/plugins/platforms/winrt/winrt.pro
@@ -15,7 +15,6 @@ SOURCES = \
qwinrtbackingstore.cpp \
qwinrtclipboard.cpp \
qwinrtcursor.cpp \
- qwinrtdrag.cpp \
qwinrteglcontext.cpp \
qwinrteventdispatcher.cpp \
qwinrtfiledialoghelper.cpp \
@@ -33,7 +32,6 @@ HEADERS = \
qwinrtbackingstore.h \
qwinrtclipboard.h \
qwinrtcursor.h \
- qwinrtdrag.h \
qwinrteglcontext.h \
qwinrteventdispatcher.h \
qwinrtfiledialoghelper.h \
@@ -53,9 +51,9 @@ WINRT_SDK_VERSION = $$member($$list($$split(WINRT_SDK_VERSION_STRING, .)), 2)
lessThan(WINRT_SDK_VERSION, 14322): DEFINES += QT_WINRT_LIMITED_DRAGANDDROP
greaterThan(WINRT_SDK_VERSION, 14393): DEFINES += QT_WINRT_DISABLE_PHONE_COLORS
-contains(DEFINES, QT_NO_DRAGANDDROP) {
- SOURCES -= qwinrtdrag.cpp
- HEADERS -= qwinrtdrag.h
+qtConfig(draganddrop) {
+ SOURCES += qwinrtdrag.cpp
+ HEADERS += qwinrtdrag.h
}
PLUGIN_TYPE = platforms
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
index 444e3a7669..879d31f29a 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
@@ -46,7 +46,9 @@
#include "qxcbscreen.h"
#include "qxcbwindow.h"
#include "qxcbclipboard.h"
+#if QT_CONFIG(draganddrop)
#include "qxcbdrag.h"
+#endif
#include "qxcbwmsupport.h"
#include "qxcbnativeinterface.h"
#include "qxcbintegration.h"
@@ -604,7 +606,7 @@ QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGra
#ifndef QT_NO_CLIPBOARD
m_clipboard = new QXcbClipboard(this);
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
m_drag = new QXcbDrag(this);
#endif
@@ -648,7 +650,7 @@ QXcbConnection::~QXcbConnection()
#ifndef QT_NO_CLIPBOARD
delete m_clipboard;
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
delete m_drag;
#endif
if (m_reader && m_reader->isRunning()) {
@@ -1139,7 +1141,7 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event)
#if QT_CONFIG(draganddrop) || QT_CONFIG(clipboard)
xcb_selection_request_event_t *sr = reinterpret_cast<xcb_selection_request_event_t *>(event);
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
if (sr->selection == atom(QXcbAtom::XdndSelection))
m_drag->handleSelectionRequest(sr);
else
@@ -1802,7 +1804,7 @@ void QXcbConnection::handleClientMessageEvent(const xcb_client_message_event_t *
if (event->format != 32)
return;
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
if (event->type == atom(QXcbAtom::XdndStatus)) {
drag()->handleStatus(event);
} else if (event->type == atom(QXcbAtom::XdndFinished)) {
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h
index d9321d94d0..583659ea81 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.h
+++ b/src/plugins/platforms/xcb/qxcbconnection.h
@@ -424,7 +424,7 @@ public:
#ifndef QT_NO_CLIPBOARD
QXcbClipboard *clipboard() const { return m_clipboard; }
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QXcbDrag *drag() const { return m_drag; }
#endif
@@ -673,7 +673,7 @@ private:
#ifndef QT_NO_CLIPBOARD
QXcbClipboard *m_clipboard = nullptr;
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QXcbDrag *m_drag = nullptr;
#endif
QScopedPointer<QXcbWMSupport> m_wmSupport;
diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp
index 8ea0ebf966..c8ba33edf5 100644
--- a/src/plugins/platforms/xcb/qxcbdrag.cpp
+++ b/src/plugins/platforms/xcb/qxcbdrag.cpp
@@ -63,8 +63,6 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_DRAGANDDROP
-
//#define DND_DEBUG
#ifdef DND_DEBUG
#define DEBUG qDebug
@@ -1312,6 +1310,4 @@ QStringList QXcbDropData::formats_sys() const
return formats;
}
-#endif // QT_NO_DRAGANDDROP
-
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/xcb/qxcbdrag.h b/src/plugins/platforms/xcb/qxcbdrag.h
index 31f1c47d83..60287b717b 100644
--- a/src/plugins/platforms/xcb/qxcbdrag.h
+++ b/src/plugins/platforms/xcb/qxcbdrag.h
@@ -55,9 +55,9 @@
#include <QtCore/QDebug>
-QT_BEGIN_NAMESPACE
+QT_REQUIRE_CONFIG(draganddrop);
-#ifndef QT_NO_DRAGANDDROP
+QT_BEGIN_NAMESPACE
class QWindow;
class QPlatformWindow;
@@ -173,8 +173,6 @@ private:
};
Q_DECLARE_TYPEINFO(QXcbDrag::Transaction, Q_MOVABLE_TYPE);
-#endif // QT_NO_DRAGANDDROP
-
QT_END_NAMESPACE
#endif
diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
index 471287eb44..7b6fd844e0 100644
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
@@ -46,7 +46,9 @@
#include "qxcbbackingstore.h"
#include "qxcbnativeinterface.h"
#include "qxcbclipboard.h"
+#if QT_CONFIG(draganddrop)
#include "qxcbdrag.h"
+#endif
#include "qxcbglintegration.h"
#ifndef QT_NO_SESSIONMANAGER
@@ -376,7 +378,7 @@ QPlatformClipboard *QXcbIntegration::clipboard() const
}
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QPlatformDrag *QXcbIntegration::drag() const
{
return m_connections.at(0)->drag();
diff --git a/src/plugins/platforms/xcb/qxcbintegration.h b/src/plugins/platforms/xcb/qxcbintegration.h
index 186b6c5ddd..69e49cb7f6 100644
--- a/src/plugins/platforms/xcb/qxcbintegration.h
+++ b/src/plugins/platforms/xcb/qxcbintegration.h
@@ -84,7 +84,7 @@ public:
#ifndef QT_NO_CLIPBOARD
QPlatformClipboard *clipboard() const override;
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
QPlatformDrag *drag() const override;
#endif
diff --git a/src/plugins/platforms/xcb/qxcbmime.cpp b/src/plugins/platforms/xcb/qxcbmime.cpp
index 58e2e8c0e6..7170d259fd 100644
--- a/src/plugins/platforms/xcb/qxcbmime.cpp
+++ b/src/plugins/platforms/xcb/qxcbmime.cpp
@@ -46,8 +46,6 @@
QT_BEGIN_NAMESPACE
-#if !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-
QXcbMime::QXcbMime()
: QInternalMimeData()
{ }
@@ -320,6 +318,4 @@ xcb_atom_t QXcbMime::mimeAtomForFormat(QXcbConnection *connection, const QString
return 0;
}
-#endif // !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/xcb/qxcbmime.h b/src/plugins/platforms/xcb/qxcbmime.h
index 561631a377..f2136ec9f4 100644
--- a/src/plugins/platforms/xcb/qxcbmime.h
+++ b/src/plugins/platforms/xcb/qxcbmime.h
@@ -40,7 +40,7 @@
#ifndef QXCBMIME_H
#define QXCBMIME_H
-#include <private/qdnd_p.h>
+#include <QtGui/private/qinternalmimedata_p.h>
#include <QtGui/QClipboard>
@@ -49,8 +49,6 @@
QT_BEGIN_NAMESPACE
-#if !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-
class QXcbMime : public QInternalMimeData {
Q_OBJECT
public:
@@ -67,9 +65,6 @@ public:
const QVector<xcb_atom_t> &atoms, QByteArray *requestedEncoding);
};
-#endif // !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD))
-
-
QT_END_NAMESPACE
#endif // QXCBMIME_H
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index f87da28ee0..731b00f8fd 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -49,7 +49,9 @@
#include "qxcbintegration.h"
#include "qxcbconnection.h"
#include "qxcbscreen.h"
+#if QT_CONFIG(draganddrop)
#include "qxcbdrag.h"
+#endif
#include "qxcbkeyboard.h"
#include "qxcbimage.h"
#include "qxcbwmsupport.h"
@@ -541,7 +543,7 @@ void QXcbWindow::create()
XSync(static_cast<Display*>(platformScreen->connection()->xlib_display()), false);
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
connection()->drag()->dndEnable(this, true);
#endif
@@ -1983,7 +1985,7 @@ void QXcbWindow::handleClientMessageEvent(const xcb_client_message_event_t *even
qCWarning(lcQpaXcb, "Unhandled WM_PROTOCOLS (%s)",
connection()->atomName(protocolAtom).constData());
}
-#ifndef QT_NO_DRAGANDDROP
+#if QT_CONFIG(draganddrop)
} else if (event->type == atom(QXcbAtom::XdndEnter)) {
connection()->drag()->handleEnter(this, event);
} else if (event->type == atom(QXcbAtom::XdndPosition)) {
diff --git a/src/plugins/platforms/xcb/xcb_qpa_lib.pro b/src/plugins/platforms/xcb/xcb_qpa_lib.pro
index ffc8a29116..9c4797ac26 100644
--- a/src/plugins/platforms/xcb/xcb_qpa_lib.pro
+++ b/src/plugins/platforms/xcb/xcb_qpa_lib.pro
@@ -19,7 +19,6 @@ SOURCES = \
qxcbintegration.cpp \
qxcbkeyboard.cpp \
qxcbmime.cpp \
- qxcbdrag.cpp \
qxcbscreen.cpp \
qxcbwindow.cpp \
qxcbbackingstore.cpp \
@@ -35,7 +34,6 @@ HEADERS = \
qxcbconnection.h \
qxcbintegration.h \
qxcbkeyboard.h \
- qxcbdrag.h \
qxcbmime.h \
qxcbobject.h \
qxcbscreen.h \
@@ -49,6 +47,11 @@ HEADERS = \
qxcbsystemtraytracker.h \
qxcbxkbcommon.h
+qtConfig(draganddrop) {
+ SOURCES += qxcbdrag.cpp
+ HEADERS += qxcbdrag.h
+}
+
load(qt_build_paths)
DEFINES += QT_BUILD_XCB_PLUGIN