LeechCraft  0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
colorthemeproxy.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <QObject>
12 #include <QColor>
13 #include "qmlconfig.h"
14 
15 class IColorThemeManager;
16 
17 namespace LC::Util
18 {
105  class UTIL_QML_API ColorThemeProxy : public QObject
106  {
107  Q_OBJECT
108 
109  IColorThemeManager *Manager_;
110  public:
117  ColorThemeProxy (IColorThemeManager *manager, QObject *parent);
118 
119 #ifdef GEN_RUN
120 #define DECL_PROP(group,col) \
121  Q_PROPERTY(QColor color_##group##_##col READ Get##group##col NOTIFY colorsChanged) \
122  QColor Get##group##col () const { return GetColor (#group, #col); }
123 
124  DECL_PROP(TextView, TopColor)
125  DECL_PROP(TextView, BottomColor)
126  DECL_PROP(TextView, TitleTextColor)
127  DECL_PROP(TextView, TextColor)
128  DECL_PROP(TextView, Aux1TextColor)
129  DECL_PROP(TextView, Aux2TextColor)
130  DECL_PROP(TextView, Aux3TextColor)
131 
132  DECL_PROP(TextBox, TopColor)
133  DECL_PROP(TextBox, BottomColor)
134  DECL_PROP(TextBox, BorderColor)
135  DECL_PROP(TextBox, HighlightTopColor)
136  DECL_PROP(TextBox, HighlightBottomColor)
137  DECL_PROP(TextBox, HighlightBorderColor)
138  DECL_PROP(TextBox, TitleTextColor)
139  DECL_PROP(TextBox, TextColor)
140  DECL_PROP(TextBox, Aux1TextColor)
141  DECL_PROP(TextBox, Aux2TextColor)
142  DECL_PROP(TextBox, Aux3TextColor)
143 
144  DECL_PROP(ToolButton, TopColor)
145  DECL_PROP(ToolButton, BottomColor)
146  DECL_PROP(ToolButton, BorderColor)
147  DECL_PROP(ToolButton, SelectedTopColor)
148  DECL_PROP(ToolButton, SelectedBottomColor)
149  DECL_PROP(ToolButton, SelectedBorderColor)
150  DECL_PROP(ToolButton, HoveredTopColor)
151  DECL_PROP(ToolButton, HoveredBottomColor)
152  DECL_PROP(ToolButton, HoveredBorderColor)
153  DECL_PROP(ToolButton, PressedBorderColor)
154  DECL_PROP(ToolButton, TextColor)
155 
156  DECL_PROP(Panel, TopColor)
157  DECL_PROP(Panel, BottomColor)
158  DECL_PROP(Panel, TextColor)
159 #else
160  Q_PROPERTY(QColor color_TextView_TopColor READ GetTextViewTopColor NOTIFY colorsChanged) QColor GetTextViewTopColor () const { return GetColor ("TextView", "TopColor"); }
161  Q_PROPERTY(QColor color_TextView_BottomColor READ GetTextViewBottomColor NOTIFY colorsChanged) QColor GetTextViewBottomColor () const { return GetColor ("TextView", "BottomColor"); }
162  Q_PROPERTY(QColor color_TextView_TitleTextColor READ GetTextViewTitleTextColor NOTIFY colorsChanged) QColor GetTextViewTitleTextColor () const { return GetColor ("TextView", "TitleTextColor"); }
163  Q_PROPERTY(QColor color_TextView_TextColor READ GetTextViewTextColor NOTIFY colorsChanged) QColor GetTextViewTextColor () const { return GetColor ("TextView", "TextColor"); }
164  Q_PROPERTY(QColor color_TextView_Aux1TextColor READ GetTextViewAux1TextColor NOTIFY colorsChanged) QColor GetTextViewAux1TextColor () const { return GetColor ("TextView", "Aux1TextColor"); }
165  Q_PROPERTY(QColor color_TextView_Aux2TextColor READ GetTextViewAux2TextColor NOTIFY colorsChanged) QColor GetTextViewAux2TextColor () const { return GetColor ("TextView", "Aux2TextColor"); }
166  Q_PROPERTY(QColor color_TextView_Aux3TextColor READ GetTextViewAux3TextColor NOTIFY colorsChanged) QColor GetTextViewAux3TextColor () const { return GetColor ("TextView", "Aux3TextColor"); }
167 
168  Q_PROPERTY(QColor color_TextBox_TopColor READ GetTextBoxTopColor NOTIFY colorsChanged) QColor GetTextBoxTopColor () const { return GetColor ("TextBox", "TopColor"); }
169  Q_PROPERTY(QColor color_TextBox_BottomColor READ GetTextBoxBottomColor NOTIFY colorsChanged) QColor GetTextBoxBottomColor () const { return GetColor ("TextBox", "BottomColor"); }
170  Q_PROPERTY(QColor color_TextBox_BorderColor READ GetTextBoxBorderColor NOTIFY colorsChanged) QColor GetTextBoxBorderColor () const { return GetColor ("TextBox", "BorderColor"); }
171  Q_PROPERTY(QColor color_TextBox_HighlightTopColor READ GetTextBoxHighlightTopColor NOTIFY colorsChanged) QColor GetTextBoxHighlightTopColor () const { return GetColor ("TextBox", "HighlightTopColor"); }
172  Q_PROPERTY(QColor color_TextBox_HighlightBottomColor READ GetTextBoxHighlightBottomColor NOTIFY colorsChanged) QColor GetTextBoxHighlightBottomColor () const { return GetColor ("TextBox", "HighlightBottomColor"); }
173  Q_PROPERTY(QColor color_TextBox_HighlightBorderColor READ GetTextBoxHighlightBorderColor NOTIFY colorsChanged) QColor GetTextBoxHighlightBorderColor () const { return GetColor ("TextBox", "HighlightBorderColor"); }
174  Q_PROPERTY(QColor color_TextBox_TitleTextColor READ GetTextBoxTitleTextColor NOTIFY colorsChanged) QColor GetTextBoxTitleTextColor () const { return GetColor ("TextBox", "TitleTextColor"); }
175  Q_PROPERTY(QColor color_TextBox_TextColor READ GetTextBoxTextColor NOTIFY colorsChanged) QColor GetTextBoxTextColor () const { return GetColor ("TextBox", "TextColor"); }
176  Q_PROPERTY(QColor color_TextBox_Aux1TextColor READ GetTextBoxAux1TextColor NOTIFY colorsChanged) QColor GetTextBoxAux1TextColor () const { return GetColor ("TextBox", "Aux1TextColor"); }
177  Q_PROPERTY(QColor color_TextBox_Aux2TextColor READ GetTextBoxAux2TextColor NOTIFY colorsChanged) QColor GetTextBoxAux2TextColor () const { return GetColor ("TextBox", "Aux2TextColor"); }
178  Q_PROPERTY(QColor color_TextBox_Aux3TextColor READ GetTextBoxAux3TextColor NOTIFY colorsChanged) QColor GetTextBoxAux3TextColor () const { return GetColor ("TextBox", "Aux3TextColor"); }
179 
180  Q_PROPERTY(QColor color_ToolButton_TopColor READ GetToolButtonTopColor NOTIFY colorsChanged) QColor GetToolButtonTopColor () const { return GetColor ("ToolButton", "TopColor"); }
181  Q_PROPERTY(QColor color_ToolButton_BottomColor READ GetToolButtonBottomColor NOTIFY colorsChanged) QColor GetToolButtonBottomColor () const { return GetColor ("ToolButton", "BottomColor"); }
182  Q_PROPERTY(QColor color_ToolButton_BorderColor READ GetToolButtonBorderColor NOTIFY colorsChanged) QColor GetToolButtonBorderColor () const { return GetColor ("ToolButton", "BorderColor"); }
183  Q_PROPERTY(QColor color_ToolButton_SelectedTopColor READ GetToolButtonSelectedTopColor NOTIFY colorsChanged) QColor GetToolButtonSelectedTopColor () const { return GetColor ("ToolButton", "SelectedTopColor"); }
184  Q_PROPERTY(QColor color_ToolButton_SelectedBottomColor READ GetToolButtonSelectedBottomColor NOTIFY colorsChanged) QColor GetToolButtonSelectedBottomColor () const { return GetColor ("ToolButton", "SelectedBottomColor"); }
185  Q_PROPERTY(QColor color_ToolButton_SelectedBorderColor READ GetToolButtonSelectedBorderColor NOTIFY colorsChanged) QColor GetToolButtonSelectedBorderColor () const { return GetColor ("ToolButton", "SelectedBorderColor"); }
186  Q_PROPERTY(QColor color_ToolButton_HoveredTopColor READ GetToolButtonHoveredTopColor NOTIFY colorsChanged) QColor GetToolButtonHoveredTopColor () const { return GetColor ("ToolButton", "HoveredTopColor"); }
187  Q_PROPERTY(QColor color_ToolButton_HoveredBottomColor READ GetToolButtonHoveredBottomColor NOTIFY colorsChanged) QColor GetToolButtonHoveredBottomColor () const { return GetColor ("ToolButton", "HoveredBottomColor"); }
188  Q_PROPERTY(QColor color_ToolButton_HoveredBorderColor READ GetToolButtonHoveredBorderColor NOTIFY colorsChanged) QColor GetToolButtonHoveredBorderColor () const { return GetColor ("ToolButton", "HoveredBorderColor"); }
189  Q_PROPERTY(QColor color_ToolButton_PressedBorderColor READ GetToolButtonPressedBorderColor NOTIFY colorsChanged) QColor GetToolButtonPressedBorderColor () const { return GetColor ("ToolButton", "PressedBorderColor"); }
190  Q_PROPERTY(QColor color_ToolButton_TextColor READ GetToolButtonTextColor NOTIFY colorsChanged) QColor GetToolButtonTextColor () const { return GetColor ("ToolButton", "TextColor"); }
191 
192  Q_PROPERTY(QColor color_Panel_TopColor READ GetPanelTopColor NOTIFY colorsChanged) QColor GetPanelTopColor () const { return GetColor ("Panel", "TopColor"); }
193  Q_PROPERTY(QColor color_Panel_BottomColor READ GetPanelBottomColor NOTIFY colorsChanged) QColor GetPanelBottomColor () const { return GetColor ("Panel", "BottomColor"); }
194  Q_PROPERTY(QColor color_Panel_TextColor READ GetPanelTextColor NOTIFY colorsChanged) QColor GetPanelTextColor () const { return GetColor ("Panel", "TextColor"); }
195 #endif
196  public slots:
203  QColor setAlpha (QColor color, qreal alpha);
204  private:
205  QColor GetColor (const QByteArray&, const QByteArray&) const;
206  signals:
212  void colorsChanged ();
213  };
214 }
QColor GetToolButtonHoveredBottomColor() const
Proxy for QML files to use colors from current color theme.
QColor GetTextBoxTopColor() const
QColor GetTextBoxAux3TextColor() const
QColor GetToolButtonBorderColor() const
QColor GetPanelTopColor() const
QColor GetTextBoxAux2TextColor() const
QColor GetTextViewTitleTextColor() const
QColor GetToolButtonSelectedTopColor() const
QColor GetPanelBottomColor() const
QColor GetTextViewBottomColor() const
QColor GetTextBoxAux1TextColor() const
QColor GetTextBoxTitleTextColor() const
QColor GetToolButtonTopColor() const
QColor GetTextBoxBorderColor() const
QColor GetTextBoxHighlightBorderColor() const
QColor GetToolButtonPressedBorderColor() const
QColor GetToolButtonSelectedBorderColor() const
QColor GetTextBoxBottomColor() const
QColor GetTextBoxHighlightTopColor() const
#define UTIL_QML_API
Definition: qmlconfig.h:16
QColor GetToolButtonHoveredTopColor() const
QColor GetTextViewTopColor() const
Proxy class to the color theme management engine.
QColor GetTextViewAux2TextColor() const
QColor GetPanelTextColor() const
QColor GetToolButtonBottomColor() const
QColor GetTextBoxTextColor() const
QColor GetTextViewAux1TextColor() const
QColor GetTextViewAux3TextColor() const
QColor GetToolButtonTextColor() const
QColor GetTextViewTextColor() const
QColor GetTextBoxHighlightBottomColor() const
QColor GetToolButtonHoveredBorderColor() const
QColor GetToolButtonSelectedBottomColor() const