35 Q_DECLARE_PUBLIC(QWaylandQuickShellSurfaceItem)
37 QWaylandQuickShellSurfaceItemPrivate() {}
39 void setShellSurface(QWaylandShellSurface *shellSurface);
40 QWaylandQuickShellSurfaceItem *maybeCreateAutoPopup(QWaylandShellSurface* shellSurface);
41 static QWaylandQuickShellSurfaceItemPrivate *get(QWaylandQuickShellSurfaceItem *item) {
return item->d_func(); }
43 void raise() override;
44 void lower() override;
46 QWaylandQuickShellIntegration *m_shellIntegration =
nullptr;
47 QPointer<QWaylandShellSurface> m_shellSurface;
48 QQuickItem *m_moveItem =
nullptr;
49 bool m_autoCreatePopupItems =
true;
50 bool staysOnTop =
false;
51 bool staysOnBottom =
false;
58 typedef std::function<
void()> CallbackFunction;
59 static void startFilter(QWaylandClient *client, CallbackFunction closePopupCallback);
60 static void cancelFilter();
63 void timerEvent(QTimerEvent *event) override;
68 QWaylandQuickShellEventFilter(QObject *parent =
nullptr);
69 bool eventFilter(QObject *, QEvent *) override;
70 bool eventFilterInstalled =
false;
71 bool waitForRelease =
false;
72 QPointer<QWaylandClient> client;
73 CallbackFunction closePopups =
nullptr;
74 QBasicTimer mousePressTimeout;
75 static QWaylandQuickShellEventFilter *self;