File indexing completed on 2024-05-12 05:36:49
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef COLOREDITOR_H 0008 #define COLOREDITOR_H 0009 0010 #include <QColor> 0011 #include <QObject> 0012 0013 class ColorEditor : public QObject 0014 { 0015 Q_OBJECT 0016 // Q_PROPERTY(QString theme READ theme WRITE setTheme NOTIFY themeChanged) 0017 0018 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor NOTIFY colorsChanged) 0019 Q_PROPERTY(QColor highlightColor READ highlightColor WRITE setHighlightColor NOTIFY colorsChanged) 0020 Q_PROPERTY(QColor backgroundColor READ backgroundColor WRITE setBackgroundColor NOTIFY colorsChanged) 0021 Q_PROPERTY(QColor linkColor READ linkColor WRITE setLinkColor NOTIFY colorsChanged) 0022 Q_PROPERTY(QColor visitedLinkColor READ visitedLinkColor WRITE setVisitedLinkColor NOTIFY colorsChanged) 0023 0024 Q_PROPERTY(QColor buttonTextColor READ buttonTextColor WRITE setButtonTextColor NOTIFY colorsChanged) 0025 Q_PROPERTY(QColor buttonBackgroundColor READ buttonBackgroundColor WRITE setButtonBackgroundColor NOTIFY colorsChanged) 0026 Q_PROPERTY(QColor buttonHoverColor READ buttonHoverColor WRITE setButtonHoverColor NOTIFY colorsChanged) 0027 Q_PROPERTY(QColor buttonFocusColor READ buttonFocusColor WRITE setButtonFocusColor NOTIFY colorsChanged) 0028 0029 Q_PROPERTY(QColor viewTextColor READ viewTextColor WRITE setViewTextColor NOTIFY colorsChanged) 0030 Q_PROPERTY(QColor viewBackgroundColor READ viewBackgroundColor WRITE setViewBackgroundColor NOTIFY colorsChanged) 0031 Q_PROPERTY(QColor viewHoverColor READ viewHoverColor WRITE setViewHoverColor NOTIFY colorsChanged) 0032 Q_PROPERTY(QColor viewFocusColor READ viewFocusColor WRITE setViewFocusColor NOTIFY colorsChanged) 0033 0034 Q_PROPERTY(QColor complementaryTextColor READ complementaryTextColor WRITE setComplementaryTextColor NOTIFY colorsChanged) 0035 Q_PROPERTY(QColor complementaryBackgroundColor READ complementaryBackgroundColor WRITE setComplementaryBackgroundColor NOTIFY colorsChanged) 0036 Q_PROPERTY(QColor complementaryHoverColor READ complementaryHoverColor WRITE setComplementaryHoverColor NOTIFY colorsChanged) 0037 Q_PROPERTY(QColor complementaryFocusColor READ complementaryFocusColor WRITE setComplementaryFocusColor NOTIFY colorsChanged) 0038 public: 0039 explicit ColorEditor(QObject *parent = nullptr); 0040 ~ColorEditor() override; 0041 0042 QString theme() const; 0043 void setTheme(const QString &theme); 0044 0045 QColor textColor() const; 0046 void setTextColor(const QColor &color); 0047 0048 QColor highlightColor() const; 0049 void setHighlightColor(const QColor &color); 0050 0051 QColor backgroundColor() const; 0052 void setBackgroundColor(const QColor &color); 0053 0054 QColor buttonTextColor() const; 0055 void setButtonTextColor(const QColor &color); 0056 0057 QColor buttonBackgroundColor() const; 0058 void setButtonBackgroundColor(const QColor &color); 0059 0060 QColor linkColor() const; 0061 void setLinkColor(const QColor &color); 0062 0063 QColor visitedLinkColor() const; 0064 void setVisitedLinkColor(const QColor &color); 0065 0066 QColor buttonHoverColor() const; 0067 void setButtonHoverColor(const QColor &color); 0068 0069 QColor buttonFocusColor() const; 0070 void setButtonFocusColor(const QColor &color); 0071 0072 QColor viewTextColor() const; 0073 void setViewTextColor(const QColor &color); 0074 0075 QColor viewBackgroundColor() const; 0076 void setViewBackgroundColor(const QColor &color); 0077 0078 QColor viewHoverColor() const; 0079 void setViewHoverColor(const QColor &color); 0080 0081 QColor viewFocusColor() const; 0082 void setViewFocusColor(const QColor &color); 0083 0084 QColor complementaryTextColor() const; 0085 void setComplementaryTextColor(const QColor &color); 0086 0087 QColor complementaryBackgroundColor() const; 0088 void setComplementaryBackgroundColor(const QColor &color); 0089 0090 QColor complementaryHoverColor() const; 0091 void setComplementaryHoverColor(const QColor &color); 0092 0093 QColor complementaryFocusColor() const; 0094 void setComplementaryFocusColor(const QColor &color); 0095 0096 void load(); 0097 Q_INVOKABLE void save(); 0098 0099 Q_SIGNALS: 0100 void colorsChanged(); 0101 void themeChanged(); 0102 0103 private: 0104 QString m_theme; 0105 0106 QColor m_textColor; 0107 QColor m_highlightColor; 0108 QColor m_backgroundColor; 0109 QColor m_linkColor; 0110 QColor m_visitedLinkColor; 0111 0112 QColor m_buttonTextColor; 0113 QColor m_buttonBackgroundColor; 0114 QColor m_buttonHoverColor; 0115 QColor m_buttonFocusColor; 0116 0117 QColor m_viewTextColor; 0118 QColor m_viewBackgroundColor; 0119 QColor m_viewHoverColor; 0120 QColor m_viewFocusColor; 0121 0122 QColor m_complementaryTextColor; 0123 QColor m_complementaryBackgroundColor; 0124 QColor m_complementaryHoverColor; 0125 QColor m_complementaryFocusColor; 0126 }; 0127 0128 #endif // COLOREDITOR_H