Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
theme_manager.h
1// SPDX-FileCopyrightText: © 2024 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __SETTINGS_THEME_MANAGER_H__
5#define __SETTINGS_THEME_MANAGER_H__
6
7#include "zrythm-config.h"
8
9#include <QObject>
10#include <QPalette>
11#include <qqmlintegration.h>
12
13namespace zrythm::gui
14{
15
21class ThemeManager : public QObject
22{
23 Q_OBJECT
24 QML_ELEMENT
25
26 // active
27
28 // disabled
29
30 // inactive
31
32 // zrythm color variant (accent | accent lighter | accent darker):
33 // F79616 | FFA533 | D68A0C
34 // more prominent: FF9F00 | FFB300 | F79616
35
36 Q_PROPERTY (QColor accent MEMBER accent_ NOTIFY accent_changed FINAL)
37 Q_PROPERTY (QColor base MEMBER base_ NOTIFY accent_changed FINAL)
38
39 Q_PROPERTY (QPalette palette MEMBER palette_ NOTIFY palette_changed FINAL)
40
41public:
42 ThemeManager (QObject * parent = nullptr);
43
44 ThemeManager * get_instance ();
45
46 Q_SIGNAL void palette_changed ();
47 Q_SIGNAL void accent_changed ();
48
49public:
50 QColor accent_ = QColor ("#FF9F00");
51 QColor base_ = QColor ("#202020");
52 QPalette palette_;
53};
54
55} // namespace zrythm::gui::glue
56
57#endif // __SETTINGS_THEME_MANAGER_H__