#pragma once #include #include #include #include namespace ZShell::internal { class Cursor : public QObject { Q_OBJECT QML_SINGLETON QML_ELEMENT public: Q_INVOKABLE void setOverride(Qt::CursorShape shape) { if (m_override) QGuiApplication::changeOverrideCursor(QCursor(shape)); else { QGuiApplication::setOverrideCursor(QCursor(shape)); m_override = true; } } Q_INVOKABLE void clearOverride() { if (!m_override) return; QGuiApplication::restoreOverrideCursor(); m_override = false; } private: bool m_override = false; }; } // namespace ZShell::internal