31using Mimes = QList<QPair<QString, xcb_atom_t>>;
53 void setOffers(
const Mimes &offers);
56 bool checkForFinished();
64 QList<QPair<xcb_timestamp_t, bool>> m_dataRequests;
67 QList<WlVisit *> m_oldVisits;
69 bool m_performed =
false;
100 return m_dropHandled;
113 bool handleEnter(xcb_client_message_event_t *event);
114 bool handlePosition(xcb_client_message_event_t *event);
115 bool handleDrop(xcb_client_message_event_t *event);
116 bool handleLeave(xcb_client_message_event_t *event);
120 void getMimesFromWinProperty(
Mimes &offers);
122 bool targetAcceptsAction()
const;
125 void unmapProxyWindow();
129 xcb_window_t m_window;
131 xcb_window_t m_srcWindow = XCB_WINDOW_NONE;
134 uint32_t m_version = 0;
136 xcb_atom_t m_actionAtom;
139 bool m_mapped =
false;
140 bool m_entered =
false;
141 bool m_dropHandled =
false;
142 bool m_finished =
false;
WlVisit(Window *target, XToWlDrag *drag, Dnd *dnd)
xcb_window_t window() const
void finish(WlVisit *self)
bool handleClientMessage(xcb_client_message_event_t *event)
void offersReceived(const Mimes &offers)
bool handleClientMessage(xcb_client_message_event_t *event) override
void setDragAndDropAction(DataDeviceManagerInterface::DnDAction action)
DataDeviceManagerInterface::DnDAction selectedDragAndDropAction()
X11Source * x11Source() const
DragEventReply moveFilter(Window *target) override
XToWlDrag(X11Source *source, Dnd *dnd)
QList< QPair< QString, xcb_atom_t > > Mimes