diff options
Diffstat (limited to 'bootstrap.hxx')
| -rw-r--r-- | bootstrap.hxx | 54 | 
1 files changed, 54 insertions, 0 deletions
| diff --git a/bootstrap.hxx b/bootstrap.hxx new file mode 100644 index 0000000..a0eccc3 --- /dev/null +++ b/bootstrap.hxx @@ -0,0 +1,54 @@ +#ifndef BOOTSTRAP_HXX +#define BOOTSTRAP_HXX + +#include <QObject> +#include <QtQml> + +class Bootstrap : public QObject +{ +	Q_OBJECT +	Q_PROPERTY(Theme theme READ theme WRITE setTheme NOTIFY themeChanged) +	Q_PROPERTY(Purpose purpose READ purpose WRITE setPurpose NOTIFY purposeChanged) + +	public: +		explicit Bootstrap(QObject *parent = nullptr); +		static Bootstrap *qmlAttachedProperties(QObject *object); + +		enum class Theme { +			Light, +			Dark +		}; + +		enum class Purpose { +			None, +			Primary, +			Secondary, +			Success, +			Danger, +			Warning, +			Info, +			Light, +			Dark, +			Link +		}; + +		Q_ENUM(Theme) +		Q_ENUM(Purpose) + +		Theme theme() const; +		void setTheme(Theme theme); +		Purpose purpose() const; +		void setPurpose(Purpose purpose); + +	signals: +		void themeChanged(); +		void purposeChanged(); + +	private: +		Theme m_theme; +		Purpose m_purpose; +}; + +QML_DECLARE_TYPEINFO(Bootstrap, QML_HAS_ATTACHED_PROPERTIES) + +#endif |