- save
This commit is contained in:
parent
ac22ea5e75
commit
a27c62f062
49 changed files with 1171 additions and 385 deletions
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include "Theme.h"
|
||||
#include "ThemePresets.cpp"
|
||||
#include "../../Core/Config.h"
|
||||
|
||||
Theme::Theme (std::shared_ptr<PropertiesFile> file)
|
||||
{
|
||||
|
|
@ -12,8 +13,8 @@ Theme::Theme (std::shared_ptr<PropertiesFile> file)
|
|||
|
||||
Theme::~Theme ()
|
||||
{
|
||||
m_colours.clear ();
|
||||
m_configFile.reset ();
|
||||
m_colours.clear();
|
||||
m_configFile.reset();
|
||||
}
|
||||
|
||||
void Theme::setColour (ThemeColour index, Colour* colour)
|
||||
|
|
@ -28,37 +29,37 @@ void Theme::setColour (ThemeColour index, Colour* colour)
|
|||
{
|
||||
m_colours[index] = colour;
|
||||
}
|
||||
m_configFile->setValue (ThemeColourToString (index), colour->toString ());
|
||||
m_configFile->save ();
|
||||
m_configFile->setValue(ThemeColourToString(index), colour->toString());
|
||||
m_configFile->setNeedsToBeSaved(true);
|
||||
|
||||
}
|
||||
|
||||
void Theme::init ()
|
||||
{
|
||||
getColourFromConfig (ThemeColour::bg);
|
||||
getColourFromConfig (ThemeColour::bg_two);
|
||||
getColourFromConfig (ThemeColour::accent);
|
||||
getColourFromConfig (ThemeColour::accent_two);
|
||||
getColourFromConfig (ThemeColour::warning);
|
||||
getColourFromConfig (ThemeColour::clip);
|
||||
getColourFromConfig (ThemeColour::lcd_bg);
|
||||
getColourFromConfig (ThemeColour::lcd);
|
||||
getColourFromConfig(ThemeColour::bg);
|
||||
getColourFromConfig(ThemeColour::bg_two);
|
||||
getColourFromConfig(ThemeColour::accent);
|
||||
getColourFromConfig(ThemeColour::accent_two);
|
||||
getColourFromConfig(ThemeColour::warning);
|
||||
getColourFromConfig(ThemeColour::clip);
|
||||
getColourFromConfig(ThemeColour::lcd_bg);
|
||||
getColourFromConfig(ThemeColour::lcd);
|
||||
}
|
||||
|
||||
void Theme::getColourFromConfig (ThemeColour index)
|
||||
{
|
||||
std::string key = ThemeColourToString (index);
|
||||
if (m_configFile->containsKey (key))
|
||||
std::string key = ThemeColourToString(index);
|
||||
if (m_configFile->containsKey(key))
|
||||
{
|
||||
auto baseColour = Colour::fromString (m_configFile->getValue (key));
|
||||
auto* colour = new Colour (baseColour.getRed (), baseColour.getGreen (), baseColour.getBlue ());
|
||||
auto baseColour = Colour::fromString(m_configFile->getValue(key));
|
||||
auto* colour = new Colour(baseColour.getRed(), baseColour.getGreen(), baseColour.getBlue());
|
||||
delete m_colours[index];
|
||||
m_colours[index] = colour;
|
||||
}
|
||||
else
|
||||
{
|
||||
// should only trigger if config is broken or empty :)
|
||||
setLEDTheme (this);
|
||||
setLEDTheme(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -68,7 +69,7 @@ Colour Theme::getColour (ThemeColour index)
|
|||
{
|
||||
return *m_colours[index];
|
||||
}
|
||||
return Colour (255, 255, 255);
|
||||
return Colour(255, 255, 255);
|
||||
}
|
||||
|
||||
void Theme::setColourThemeById (int id)
|
||||
|
|
@ -76,17 +77,38 @@ void Theme::setColourThemeById (int id)
|
|||
switch (id)
|
||||
{
|
||||
case 1:
|
||||
setLEDTheme (this);
|
||||
setLEDTheme(this);
|
||||
break;
|
||||
case 2:
|
||||
setOrangeDreamTheme (this);
|
||||
setOrangeDreamTheme(this);
|
||||
break;
|
||||
case 3:
|
||||
setBloodTheme (this);
|
||||
setBloodTheme(this);
|
||||
break;
|
||||
case 4:
|
||||
setOceanTheme (this);
|
||||
setOceanTheme(this);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Theme::setDefault (const std::string& value)
|
||||
{
|
||||
if (value == "LED")
|
||||
{
|
||||
setLEDTheme(this);
|
||||
}
|
||||
if (value == "Blood")
|
||||
{
|
||||
setBloodTheme(this);
|
||||
}
|
||||
if (value == "Orange Dream")
|
||||
{
|
||||
setOrangeDreamTheme(this);
|
||||
}
|
||||
if (value == "Ocean")
|
||||
{
|
||||
setOceanTheme(this);
|
||||
}
|
||||
Config::getInstance()->repaintAll();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public:
|
|||
void setColour (ThemeColour index, Colour* colour);
|
||||
void setColourThemeById (int id);
|
||||
void init ();
|
||||
void setDefault(const std::string& value);
|
||||
void getColourFromConfig (ThemeColour index);
|
||||
Colour getColour (ThemeColour index);
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#include "Theme.h"
|
||||
|
||||
#ifndef VENO_THEME_PRESETS
|
||||
#define VENO_THEME_PRESETS
|
||||
/*
|
||||
* this file holds function that read some presets
|
||||
* in the current Theme class
|
||||
|
|
@ -11,50 +13,50 @@
|
|||
|
||||
void setLEDTheme (Theme* theme)
|
||||
{
|
||||
theme->setColour (ThemeColour::bg, new Colour (41, 47, 54));
|
||||
theme->setColour (ThemeColour::bg_two, new Colour (217, 217, 217));
|
||||
theme->setColour (ThemeColour::accent, new Colour (169, 208, 142));
|
||||
theme->setColour (ThemeColour::accent_two, new Colour (139, 171, 117));
|
||||
theme->setColour (ThemeColour::clip, new Colour (255, 23, 68));
|
||||
theme->setColour (ThemeColour::warning, new Colour (255, 143, 0));
|
||||
theme->setColour (ThemeColour::lcd_bg, new Colour (21, 21, 21));
|
||||
theme->setColour (ThemeColour::lcd, new Colour (169, 208, 142));
|
||||
theme->setColour(ThemeColour::bg, new Colour(41, 47, 54));
|
||||
theme->setColour(ThemeColour::bg_two, new Colour(217, 217, 217));
|
||||
theme->setColour(ThemeColour::accent, new Colour(169, 208, 142));
|
||||
theme->setColour(ThemeColour::accent_two, new Colour(139, 171, 117));
|
||||
theme->setColour(ThemeColour::clip, new Colour(255, 23, 68));
|
||||
theme->setColour(ThemeColour::warning, new Colour(255, 143, 0));
|
||||
theme->setColour(ThemeColour::lcd_bg, new Colour(21, 21, 21));
|
||||
theme->setColour(ThemeColour::lcd, new Colour(169, 208, 142));
|
||||
}
|
||||
|
||||
void setBloodTheme (Theme* theme)
|
||||
{
|
||||
theme->setColour (ThemeColour::bg, new Colour (41, 47, 54));
|
||||
theme->setColour (ThemeColour::bg_two, new Colour (64, 67, 78));
|
||||
theme->setColour (ThemeColour::accent, new Colour (180, 38, 50));
|
||||
theme->setColour (ThemeColour::accent_two, new Colour (115, 47, 64));
|
||||
theme->setColour (ThemeColour::clip, new Colour (255, 23, 68));
|
||||
theme->setColour (ThemeColour::warning, new Colour (255, 143, 0));
|
||||
theme->setColour (ThemeColour::lcd_bg, new Colour (0, 0, 0));
|
||||
theme->setColour (ThemeColour::lcd, new Colour (180, 38, 78));
|
||||
theme->setColour(ThemeColour::bg, new Colour(41, 47, 54));
|
||||
theme->setColour(ThemeColour::bg_two, new Colour(64, 67, 78));
|
||||
theme->setColour(ThemeColour::accent, new Colour(180, 38, 50));
|
||||
theme->setColour(ThemeColour::accent_two, new Colour(115, 47, 64));
|
||||
theme->setColour(ThemeColour::clip, new Colour(255, 23, 68));
|
||||
theme->setColour(ThemeColour::warning, new Colour(255, 143, 0));
|
||||
theme->setColour(ThemeColour::lcd_bg, new Colour(0, 0, 0));
|
||||
theme->setColour(ThemeColour::lcd, new Colour(180, 38, 78));
|
||||
}
|
||||
|
||||
void setOrangeDreamTheme (Theme* theme)
|
||||
{
|
||||
theme->setColour (ThemeColour::bg, new Colour (21, 21, 21));
|
||||
theme->setColour (ThemeColour::bg_two, new Colour (42, 42, 42));
|
||||
theme->setColour (ThemeColour::accent, new Colour (255, 160, 0));
|
||||
theme->setColour (ThemeColour::accent_two, new Colour (255, 11, 0));
|
||||
theme->setColour (ThemeColour::clip, new Colour (255, 23, 68));
|
||||
theme->setColour (ThemeColour::warning, new Colour (255, 143, 0));
|
||||
theme->setColour (ThemeColour::lcd_bg, new Colour (33, 33, 33));
|
||||
theme->setColour (ThemeColour::lcd, new Colour (255, 160, 0));
|
||||
theme->setColour(ThemeColour::bg, new Colour(21, 21, 21));
|
||||
theme->setColour(ThemeColour::bg_two, new Colour(42, 42, 42));
|
||||
theme->setColour(ThemeColour::accent, new Colour(255, 160, 0));
|
||||
theme->setColour(ThemeColour::accent_two, new Colour(255, 11, 0));
|
||||
theme->setColour(ThemeColour::clip, new Colour(255, 23, 68));
|
||||
theme->setColour(ThemeColour::warning, new Colour(255, 143, 0));
|
||||
theme->setColour(ThemeColour::lcd_bg, new Colour(33, 33, 33));
|
||||
theme->setColour(ThemeColour::lcd, new Colour(255, 160, 0));
|
||||
}
|
||||
|
||||
void setOceanTheme (Theme* theme)
|
||||
{
|
||||
theme->setColour (ThemeColour::bg, new Colour (55, 63, 81));
|
||||
theme->setColour (ThemeColour::bg_two, new Colour (64, 67, 78));
|
||||
theme->setColour (ThemeColour::accent, new Colour (0, 141, 213));
|
||||
theme->setColour (ThemeColour::accent_two, new Colour (0, 129, 194));
|
||||
theme->setColour (ThemeColour::clip, new Colour (255, 23, 68));
|
||||
theme->setColour (ThemeColour::warning, new Colour (255, 143, 0));
|
||||
theme->setColour (ThemeColour::lcd_bg, new Colour (21, 21, 21));
|
||||
theme->setColour (ThemeColour::lcd, new Colour (0, 129, 194));
|
||||
theme->setColour(ThemeColour::bg, new Colour(55, 63, 81));
|
||||
theme->setColour(ThemeColour::bg_two, new Colour(64, 67, 78));
|
||||
theme->setColour(ThemeColour::accent, new Colour(0, 141, 213));
|
||||
theme->setColour(ThemeColour::accent_two, new Colour(0, 129, 194));
|
||||
theme->setColour(ThemeColour::clip, new Colour(255, 23, 68));
|
||||
theme->setColour(ThemeColour::warning, new Colour(255, 143, 0));
|
||||
theme->setColour(ThemeColour::lcd_bg, new Colour(21, 21, 21));
|
||||
theme->setColour(ThemeColour::lcd, new Colour(0, 129, 194));
|
||||
}
|
||||
|
||||
std::string ThemeColourToString (ThemeColour index)
|
||||
|
|
@ -80,4 +82,6 @@ std::string ThemeColourToString (ThemeColour index)
|
|||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue