44 void move(
const QPoint &globalPos, Qt::MouseButtons
b, Qt::KeyboardModifiers mods)
override;
45 void drop(
const QPoint &globalPos, Qt::MouseButtons
b, Qt::KeyboardModifiers mods)
override;
56 Qt::MouseButtons
b = { }, Qt::KeyboardModifiers mods = { });
79 Qt::MouseButtons
b = { }, Qt::KeyboardModifiers mods = { });
80 void handle_xdnd_status(
const xcb_client_message_event_t *
event);
84 Qt::DropActions toDropActions(
const QList<xcb_atom_t> &atoms)
const;
87 void readActionList();
88 void setActionList(
Qt::DropAction requestedAction, Qt::DropActions supportedActions);
89 void startListeningForActionListChanges();
90 void stopListeningForActionListChanges();
92 QPointer<QWindow> initiatorWindow;
93 QPointer<QWindow> currentWindow;
101 xcb_atom_t xdnd_dragsource;
104 enum { xdnd_max_type = 100 };
105 QList<xcb_atom_t> xdnd_types;
108 xcb_timestamp_t target_time;
109 xcb_timestamp_t source_time;
112 QRect source_sameanswer;
113 bool waiting_for_status;
120 xcb_window_t xdndCollectionWindow = XCB_NONE;
123 xcb_window_t current_target;
125 xcb_window_t current_proxy_target;
130 static constexpr std::chrono::minutes XdndDropTransactionTimeout{10};
133 QList<xcb_atom_t> drag_types;
135 QList<xcb_atom_t> current_actions;
136 QList<xcb_atom_t> drop_actions;
140 xcb_timestamp_t timestamp;
142 xcb_window_t proxy_target;
145 QPointer<QDrag> drag;
149 QList<Transaction> transactions;
151 int transaction_expiry_timer;
152 void restartDropExpiryTimer();
153 int findTransactionByWindow(xcb_window_t
window);
154 int findTransactionByTime(xcb_timestamp_t timestamp);
155 xcb_window_t findRealWindow(
const QPoint &
pos, xcb_window_t
w,
int md,
bool ignoreNonXdndAwareWindows);
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)