Open-Typer
Open source typewriting tutor program
Loading...
Searching...
No Matches
ThemeEngine Class Reference

The ThemeEngine class provides theme functions. More...

#include "framework/ui/internal/ThemeEngine.h"

Inheritance diagram for ThemeEngine:
Collaboration diagram for ThemeEngine:

Public Member Functions

 ThemeEngine ()
 
void init ()
 
QFont font (void) override
 
void setFont (QFont newFont) override
 
QString fontFamily (void) override
 
void setFontFamily (QString family) override
 
int fontSize (void) override
 
void setFontSize (int size) override
 
Q_INVOKABLE void increaseFontSize (int delta) override
 
Q_INVOKABLE int maxFontSize (void) override
 
Q_INVOKABLE bool customExerciseTextColor (void) override
 
QColor exerciseTextColor (void) override
 
void setExerciseTextColor (QColor color) override
 
Q_INVOKABLE void resetExerciseTextColor (void) override
 
Q_INVOKABLE QColor defaultExerciseTextColor (void) override
 
Q_INVOKABLE QColor defaultExerciseTextColor (bool dark) override
 
Q_INVOKABLE QColor defaultExerciseTextColor (QColor accent) override
 
Q_INVOKABLE QColor defaultExerciseTextColor (QColor accent, bool dark) override
 
Q_INVOKABLE bool customInputTextColor (void) override
 
QColor inputTextColor (void) override
 
void setInputTextColor (QColor color) override
 
Q_INVOKABLE void resetInputTextColor (void) override
 
Q_INVOKABLE QColor defaultInputTextColor (bool dark=false) override
 
Q_INVOKABLE bool customBgColor (void) override
 
QColor bgColor (void) override
 
void setBgColor (QColor color) override
 
Q_INVOKABLE void resetBgColor (void) override
 
Q_INVOKABLE QColor defaultBgColor (bool dark=false) override
 
Q_INVOKABLE bool customPaperColor (void) override
 
QColor paperColor (void) override
 
void setPaperColor (QColor color) override
 
Q_INVOKABLE void resetPaperColor (void) override
 
Q_INVOKABLE QColor defaultPaperColor (bool dark=false) override
 
Q_INVOKABLE bool customPanelColor (void) override
 
QColor panelColor (void) override
 
void setPanelColor (QColor color) override
 
Q_INVOKABLE void resetPanelColor (void) override
 
Q_INVOKABLE QColor defaultPanelColor (bool dark=false) override
 
AccentColor accentColor (void) override
 
void setAccentColor (AccentColor color) override
 
Q_INVOKABLE QColor getAccentColor (AccentColor colorId) override
 
QColor currentAccentColor (void) override
 
Theme theme (void) const override
 
void setTheme (ThemeEngine::Theme newTheme) override
 
Q_INVOKABLE void updateTheme (void) override
 
Q_INVOKABLE void setDefaultTheme (void) override
 
QColor borderColor () const override
 
QColor foregroundColor () const override
 

Static Public Member Functions

static std::shared_ptr< ThemeEngineinstance ()
 

Properties

QFont font
 
QString fontFamily
 
int fontSize
 
QColor exerciseTextColor
 
QColor inputTextColor
 
QColor bgColor
 
QColor paperColor
 
QColor panelColor
 
AccentColor accentColor
 
QColor currentAccentColor
 
QColor borderColor
 
QColor foregroundColor
 
Theme theme
 

Private Member Functions

void updateStyleSheet ()
 
void applyStyleSheetFromFile (const QString &stylePath)
 

Static Private Attributes

static std::shared_ptr< ThemeEnginem_instance = std::make_shared<ThemeEngine>()
 

Additional Inherited Members

- Public Types inherited from IThemeEngine
enum  AccentColor {
  Accent_Red = 0 , Accent_Orange = 1 , Accent_Yellow = 2 , Accent_Green = 3 ,
  Accent_LightBlue = 4 , Accent_Purple = 5 , Accent_Pink = 6
}
 
enum class  Theme { LightTheme = 1 , DarkTheme = 0 }
 
- Signals inherited from IThemeEngine
void fontChanged ()
 
void fontFamilyChanged ()
 
void fontSizeChanged ()
 
void colorChanged ()
 
void exerciseTextColorChanged ()
 
void inputTextColorChanged ()
 
void bgColorChanged ()
 
void paperColorChanged ()
 
void panelColorChanged ()
 
void accentColorChanged ()
 
void currentAccentColorChanged ()
 
void themeChanged ()
 
void borderColorChanged ()
 
void foregroundColorChanged ()
 

Detailed Description

The ThemeEngine class provides theme functions.

Constructor & Destructor Documentation

◆ ThemeEngine()

ThemeEngine::ThemeEngine ( )

Constructs ThemeEngine.

Member Function Documentation

◆ accentColor()

AccentColor ThemeEngine::accentColor ( void  )
overridevirtual

Implements IThemeEngine.

◆ bgColor()

QColor ThemeEngine::bgColor ( void  )
overridevirtual

Implements IThemeEngine.

◆ borderColor()

QColor ThemeEngine::borderColor ( ) const
overridevirtual

Implements IThemeEngine.

◆ currentAccentColor()

QColor ThemeEngine::currentAccentColor ( void  )
overridevirtual

Implements IThemeEngine.

◆ customBgColor()

bool ThemeEngine::customBgColor ( void  )
overridevirtual

Returns true if there's a custom background color set.

Implements IThemeEngine.

◆ customExerciseTextColor()

bool ThemeEngine::customExerciseTextColor ( void  )
overridevirtual

Returns true if there's a custom exercise text color set.

Implements IThemeEngine.

◆ customInputTextColor()

bool ThemeEngine::customInputTextColor ( void  )
overridevirtual

Returns true if there's a custom input text color set.

Implements IThemeEngine.

◆ customPanelColor()

bool ThemeEngine::customPanelColor ( void  )
overridevirtual

Returns true if there's a custom panel color set.

Implements IThemeEngine.

◆ customPaperColor()

bool ThemeEngine::customPaperColor ( void  )
overridevirtual

Returns true if there's a custom paper color set.

Implements IThemeEngine.

◆ defaultBgColor()

QColor ThemeEngine::defaultBgColor ( bool  dark = false)
overridevirtual

Returns default background color.

Implements IThemeEngine.

◆ defaultExerciseTextColor() [1/4]

QColor ThemeEngine::defaultExerciseTextColor ( bool  dark)
overridevirtual

Returns default exercise text color for light or dark theme.

Implements IThemeEngine.

◆ defaultExerciseTextColor() [2/4]

QColor ThemeEngine::defaultExerciseTextColor ( QColor  accent)
overridevirtual

Returns default exercise text color for the given accent color.

Implements IThemeEngine.

◆ defaultExerciseTextColor() [3/4]

QColor ThemeEngine::defaultExerciseTextColor ( QColor  accent,
bool  dark 
)
overridevirtual

Returns default exercise text color for the given accent color and light or dark theme.

Implements IThemeEngine.

◆ defaultExerciseTextColor() [4/4]

QColor ThemeEngine::defaultExerciseTextColor ( void  )
overridevirtual

Returns default exercise text color.

Implements IThemeEngine.

◆ defaultInputTextColor()

QColor ThemeEngine::defaultInputTextColor ( bool  dark = false)
overridevirtual

Returns default input text color.

Implements IThemeEngine.

◆ defaultPanelColor()

QColor ThemeEngine::defaultPanelColor ( bool  dark = false)
overridevirtual

Returns default panel color.

Implements IThemeEngine.

◆ defaultPaperColor()

QColor ThemeEngine::defaultPaperColor ( bool  dark = false)
overridevirtual

Returns default paper color.

Implements IThemeEngine.

◆ exerciseTextColor()

QColor ThemeEngine::exerciseTextColor ( void  )
overridevirtual

Implements IThemeEngine.

◆ font()

QFont ThemeEngine::font ( void  )
overridevirtual

Implements IThemeEngine.

◆ fontFamily()

QString ThemeEngine::fontFamily ( void  )
overridevirtual

Implements IThemeEngine.

◆ fontSize()

int ThemeEngine::fontSize ( void  )
overridevirtual

Implements IThemeEngine.

◆ foregroundColor()

QColor ThemeEngine::foregroundColor ( ) const
overridevirtual

Implements IThemeEngine.

◆ getAccentColor()

QColor ThemeEngine::getAccentColor ( AccentColor  colorId)
overridevirtual

Returns the accent color of the given ID.

Implements IThemeEngine.

◆ increaseFontSize()

void ThemeEngine::increaseFontSize ( int  delta)
overridevirtual

Increases (or decreases) font point size.

Implements IThemeEngine.

◆ init()

void ThemeEngine::init ( )

Initializes the ThemeEngine.

◆ inputTextColor()

QColor ThemeEngine::inputTextColor ( void  )
overridevirtual

Implements IThemeEngine.

◆ instance()

std::shared_ptr< ThemeEngine > ThemeEngine::instance ( )
static

Returns the static instance of ThemeEngine.

◆ maxFontSize()

int ThemeEngine::maxFontSize ( void  )
overridevirtual

Returns maximum font point size.

Implements IThemeEngine.

◆ panelColor()

QColor ThemeEngine::panelColor ( void  )
overridevirtual

Implements IThemeEngine.

◆ paperColor()

QColor ThemeEngine::paperColor ( void  )
overridevirtual

Implements IThemeEngine.

◆ resetBgColor()

void ThemeEngine::resetBgColor ( void  )
overridevirtual

Resets background color.

Implements IThemeEngine.

◆ resetExerciseTextColor()

void ThemeEngine::resetExerciseTextColor ( void  )
overridevirtual

Resets exercise text color.

Implements IThemeEngine.

◆ resetInputTextColor()

void ThemeEngine::resetInputTextColor ( void  )
overridevirtual

Resets input text color.

Implements IThemeEngine.

◆ resetPanelColor()

void ThemeEngine::resetPanelColor ( void  )
overridevirtual

Resets panel color.

Implements IThemeEngine.

◆ resetPaperColor()

void ThemeEngine::resetPaperColor ( void  )
overridevirtual

Resets paper color.

Implements IThemeEngine.

◆ setAccentColor()

void ThemeEngine::setAccentColor ( ThemeEngine::AccentColor  color)
overridevirtual

Implements IThemeEngine.

◆ setBgColor()

void ThemeEngine::setBgColor ( QColor  color)
overridevirtual

Implements IThemeEngine.

◆ setDefaultTheme()

void ThemeEngine::setDefaultTheme ( void  )
overridevirtual

Sets theme based on system theme.

Implements IThemeEngine.

◆ setExerciseTextColor()

void ThemeEngine::setExerciseTextColor ( QColor  color)
overridevirtual

Implements IThemeEngine.

◆ setFont()

void ThemeEngine::setFont ( QFont  newFont)
overridevirtual

Implements IThemeEngine.

◆ setFontFamily()

void ThemeEngine::setFontFamily ( QString  family)
overridevirtual

Implements IThemeEngine.

◆ setFontSize()

void ThemeEngine::setFontSize ( int  size)
overridevirtual

Implements IThemeEngine.

◆ setInputTextColor()

void ThemeEngine::setInputTextColor ( QColor  color)
overridevirtual

Implements IThemeEngine.

◆ setPanelColor()

void ThemeEngine::setPanelColor ( QColor  color)
overridevirtual

Implements IThemeEngine.

◆ setPaperColor()

void ThemeEngine::setPaperColor ( QColor  color)
overridevirtual

Implements IThemeEngine.

◆ setTheme()

void ThemeEngine::setTheme ( ThemeEngine::Theme  newTheme)
overridevirtual

Implements IThemeEngine.

◆ theme()

Theme ThemeEngine::theme ( void  ) const
overridevirtual

Implements IThemeEngine.

◆ updateTheme()

void ThemeEngine::updateTheme ( void  )
overridevirtual

Loads and sets application style.

Implements IThemeEngine.

Property Documentation

◆ accentColor

ThemeEngine::AccentColor ThemeEngine::accentColor
readwrite

Current accent color ID.

◆ bgColor

QColor ThemeEngine::bgColor
readwrite

Background color.

◆ currentAccentColor

QColor ThemeEngine::currentAccentColor
read

Current accent color.

◆ exerciseTextColor

QColor ThemeEngine::exerciseTextColor
readwrite

Exercise text color.

◆ font

QFont ThemeEngine::font
readwrite

The selected font.
Note: Font style such as bold, italic or underlined is not supported.

◆ fontFamily

QString ThemeEngine::fontFamily
readwrite

Font family of the selected font.

◆ fontSize

int ThemeEngine::fontSize
readwrite

Point size of the selected font.

◆ inputTextColor

QColor ThemeEngine::inputTextColor
readwrite

Input text color.

◆ panelColor

QColor ThemeEngine::panelColor
readwrite

Panel color.

◆ paperColor

QColor ThemeEngine::paperColor
readwrite

Paper color.

◆ theme

ThemeEngine::Theme ThemeEngine::theme
readwrite

Current application theme.


The documentation for this class was generated from the following files: