summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qdnd_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2011-05-31 20:45:27 +0200
committerLars Knoll <lars.knoll@nokia.com>2011-06-01 09:55:39 +0200
commit38745b341c5c4d49fdb0e87f79f2714f105f63fe (patch)
tree50b9d0dc446758258f034e1d7ec188a16c2b8217 /src/gui/kernel/qdnd_p.h
parent07f8aecb52571d6a2d04133c24d8b8cd68769470 (diff)
add a platform interface for DnD
Use the simple in process DnD implementation for xcb.
Diffstat (limited to 'src/gui/kernel/qdnd_p.h')
-rw-r--r--src/gui/kernel/qdnd_p.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/gui/kernel/qdnd_p.h b/src/gui/kernel/qdnd_p.h
index 04c5139fbb..3ba2869a8f 100644
--- a/src/gui/kernel/qdnd_p.h
+++ b/src/gui/kernel/qdnd_p.h
@@ -66,6 +66,7 @@ QT_BEGIN_NAMESPACE
class QEventLoop;
class QMouseEvent;
+class QPlatformDrag;
#ifndef QT_NO_DRAGANDDROP
@@ -142,32 +143,35 @@ public:
inline QMimeData *dropData()
{ return object ? dragPrivate()->data : platformDropData; }
+ void emitActionChanged(Qt::DropAction newAction) { if (object) emit object->actionChanged(newAction); }
+
+ void setCurrentTarget(QObject *target, bool dropped = false);
+ QObject *currentTarget();
+
QDrag *object;
- QMimeData *platformDropData;
bool beingCancelled;
bool restoreCursor;
bool willDrop;
QEventLoop *eventLoop;
- void emitActionChanged(Qt::DropAction newAction) { if (object) emit object->actionChanged(newAction); }
-
- void setCurrentTarget(QObject *target, bool dropped = false);
- QObject *currentTarget();
- QWindow *currentWindow;
-
Qt::DropActions possible_actions;
+ // Shift/Ctrl handling, and final drop status
+ Qt::DropAction global_accepted_action;
private:
+ QMimeData *platformDropData;
+
Qt::DropAction currentActionForOverrideCursor;
QObject *currentDropTarget;
+ QPlatformDrag *platformDrag;
+
static QDragManager *instance;
Q_DISABLE_COPY(QDragManager)
};
-
#endif // !QT_NO_DRAGANDDROP