9#include <QtGui/private/qguiapplication_p.h>
11#include <qpa/qplatformclipboard.h>
25 return new QWaylandDataControlDeviceV1(
this, seat);
36 receive(mimeType, fd);
37 wl_display_flush(m_display->wl_display());
42 m_mimeData->appendFormat(mime_type);
47 : QtWayland::zwlr_data_control_device_v1(manager->get_data_device(seat->wl_seat()))
48 , m_display(manager->display())
60 if (!m_selectionOffer)
63 m_selectionOffer.reset();
64 QGuiApplicationPrivate::platformIntegration()->clipboard()->emitChanged(QClipboard::Selection);
93 new QWaylandDataControlOfferV1(m_display, offer);
99 m_selectionOffer.reset();
101 m_selectionOffer.reset(
static_cast<QWaylandDataControlOfferV1 *>(zwlr_data_control_offer_v1_get_user_data(id)));
104 if (
auto* integration = QGuiApplicationPrivate::platformIntegration())
105 integration->clipboard()->emitChanged(QClipboard::Selection);
110 m_selectionOffer.reset();
111 m_primarySelectionOffer.reset();
112 QGuiApplicationPrivate::platformIntegration()->clipboard()->emitChanged(QClipboard::Selection);
118 m_primarySelectionOffer.reset();
120 m_primarySelectionOffer.reset(
static_cast<QWaylandDataControlOfferV1 *>(zwlr_data_control_offer_v1_get_user_data(id)));
123 if (
auto* integration = QGuiApplicationPrivate::platformIntegration())
124 integration->clipboard()->emitChanged(QClipboard::Selection);
void invalidateSelectionOffer()
~QWaylandDataControlDeviceV1() override
void zwlr_data_control_device_v1_finished() override
QWaylandDataControlManagerV1(QWaylandDisplay *display, uint id, uint version)
QWaylandDataControlDeviceV1 * createDevice(QWaylandInputDevice *seat)
QWaylandDataControlOfferV1(QWaylandDisplay *display, ::zwlr_data_control_offer_v1 *offer)
void startReceiving(const QString &mimeType, int fd) override
void zwlr_data_control_offer_v1_offer(const QString &mime_type) override
Combined button and popup list for selecting options.