34 Q_DECLARE_PUBLIC(QWaylandQuickShellSurfaceItem)
36 QWaylandQuickShellSurfaceItemPrivate() {}
37 QWaylandQuickShellSurfaceItem *maybeCreateAutoPopup(QWaylandShellSurface* shellSurface);
38 static QWaylandQuickShellSurfaceItemPrivate *get(QWaylandQuickShellSurfaceItem *item) {
return item->d_func(); }
40 void raise() override;
41 void lower() override;
43 QWaylandQuickShellIntegration *m_shellIntegration =
nullptr;
44 QPointer<QWaylandShellSurface> m_shellSurface =
nullptr;
45 QQuickItem *m_moveItem =
nullptr;
46 bool m_autoCreatePopupItems =
true;
47 bool staysOnTop =
false;
48 bool staysOnBottom =
false;
55 typedef std::function<
void()> CallbackFunction;
56 static void startFilter(QWaylandClient *client, CallbackFunction closePopupCallback);
57 static void cancelFilter();
60 void timerEvent(QTimerEvent *event) override;
65 QWaylandQuickShellEventFilter(QObject *parent =
nullptr);
66 bool eventFilter(QObject *, QEvent *) override;
67 bool eventFilterInstalled =
false;
68 bool waitForRelease =
false;
69 QPointer<QWaylandClient> client;
70 CallbackFunction closePopups =
nullptr;
71 QBasicTimer mousePressTimeout;
72 static QWaylandQuickShellEventFilter *self;