aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/solutions/spinner/spinner.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/solutions/spinner/spinner.h')
-rw-r--r--src/libs/solutions/spinner/spinner.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/libs/solutions/spinner/spinner.h b/src/libs/solutions/spinner/spinner.h
new file mode 100644
index 0000000000..567acb3763
--- /dev/null
+++ b/src/libs/solutions/spinner/spinner.h
@@ -0,0 +1,36 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#ifndef SPINNER_H
+#define SPINNER_H
+
+#include "spinner_global.h"
+
+#include <QObject>
+
+namespace SpinnerSolution {
+
+Q_NAMESPACE_EXPORT(SPINNER_EXPORT)
+
+enum class SpinnerSize { Small, Medium, Large };
+Q_ENUM_NS(SpinnerSize);
+
+// TODO: SpinnerOverlay and SpinnerWidget?
+
+class SPINNER_EXPORT Spinner : public QObject
+{
+public:
+ Spinner(SpinnerSize size, QWidget *parent = nullptr);
+ void setSize(SpinnerSize size);
+ void show();
+ void hide();
+ bool isVisible() const;
+ void setVisible(bool visible);
+
+private:
+ class SpinnerWidget *m_widget = nullptr;
+};
+
+} // namespace SpinnerSolution
+
+#endif // SPINNER_H