Add Dark Native Colors

This commit is contained in:
Florian Märkl 2018-12-21 17:30:46 +01:00
parent 99b1fde47d
commit e57c2fb941
2 changed files with 32 additions and 16 deletions

View File

@ -9,7 +9,7 @@
#include "common/ColorSchemeFileSaver.h" #include "common/ColorSchemeFileSaver.h"
const QList<CutterQtTheme> kCutterQtThemesList = { const QList<CutterQtTheme> kCutterQtThemesList = {
{ "Default", LightFlag }, { "Default", static_cast<ColorFlags>(LightFlag | DarkFlag) },
{ "Dark", DarkFlag } { "Dark", DarkFlag }
}; };
@ -125,7 +125,7 @@ void Configuration::setLocale(const QLocale &l)
s.setValue("locale", l); s.setValue("locale", l);
} }
void Configuration::loadDefaultTheme() void Configuration::loadBaseThemeNative()
{ {
/* Load Qt Theme */ /* Load Qt Theme */
qApp->setStyleSheet(""); qApp->setStyleSheet("");
@ -137,16 +137,8 @@ void Configuration::loadDefaultTheme()
// GUI // GUI
setColor("gui.cflow", QColor(0, 0, 0)); setColor("gui.cflow", QColor(0, 0, 0));
setColor("gui.dataoffset", QColor(0, 0, 0)); setColor("gui.dataoffset", QColor(0, 0, 0));
setColor("gui.border", QColor(0, 0, 0));
setColor("highlight", QColor(210, 210, 255, 150));
setColor("highlightWord", QColor(179, 119, 214, 60));
// RIP line selection in debug // RIP line selection in debug
setColor("highlightPC", QColor(214, 255, 210)); setColor("highlightPC", QColor(214, 255, 210));
// Windows background
setColor("gui.background", QColor(255, 255, 255));
setColor("gui.disass_selected", QColor(255, 255, 255));
// Disassembly nodes background
setColor("gui.alt_background", QColor(245, 250, 255));
// Custom // Custom
setColor("gui.imports", QColor(50, 140, 255)); setColor("gui.imports", QColor(50, 140, 255));
setColor("gui.main", QColor(0, 128, 0)); setColor("gui.main", QColor(0, 128, 0));
@ -159,8 +151,31 @@ void Configuration::loadDefaultTheme()
setColor("gui.item_invalid", QColor(155, 155, 155)); setColor("gui.item_invalid", QColor(155, 155, 155));
setColor("gui.item_unsafe", QColor(255, 129, 123)); setColor("gui.item_unsafe", QColor(255, 129, 123));
} }
void Configuration::loadNativeTheme(bool dark)
{
loadBaseThemeNative();
void Configuration::loadBaseDark() if(dark)
{
setColor("gui.border", QColor(0, 0, 0));
setColor("gui.background", QColor(30, 30, 30));
setColor("gui.alt_background", QColor(42, 42, 42));
setColor("gui.disass_selected", QColor(35, 35, 35));
setColor("highlight", QColor(255, 255, 255, 15));
setColor("highlightWord", QColor(20, 20, 20, 255));
}
else
{
setColor("gui.border", QColor(0, 0, 0));
setColor("gui.background", QColor(255, 255, 255));
setColor("gui.alt_background", QColor(245, 250, 255));
setColor("gui.disass_selected", QColor(255, 255, 255));
setColor("highlight", QColor(210, 210, 255, 150));
setColor("highlightWord", QColor(179, 119, 214, 60));
}
}
void Configuration::loadBaseThemeDark()
{ {
/* Load Qt Theme */ /* Load Qt Theme */
QFile f(":qdarkstyle/style.qss"); QFile f(":qdarkstyle/style.qss");
@ -209,7 +224,7 @@ void Configuration::loadBaseDark()
void Configuration::loadDarkTheme() void Configuration::loadDarkTheme()
{ {
loadBaseDark(); loadBaseThemeDark();
setColor("gui.border", QColor(100, 100, 100)); setColor("gui.border", QColor(100, 100, 100));
// Windows background // Windows background
setColor("gui.background", QColor(37, 40, 43)); setColor("gui.background", QColor(37, 40, 43));
@ -251,11 +266,11 @@ void Configuration::setTheme(int theme)
QString themeName = kCutterQtThemesList[theme].name; QString themeName = kCutterQtThemesList[theme].name;
if (themeName == "Default") { if (themeName == "Default") {
loadDefaultTheme(); loadNativeTheme();
} else if (themeName == "Dark") { } else if (themeName == "Dark") {
loadDarkTheme(); loadDarkTheme();
} else { } else {
loadDefaultTheme(); loadNativeTheme();
} }
emit colorsUpdated(); emit colorsUpdated();

View File

@ -30,8 +30,9 @@ private:
void loadInitial(); void loadInitial();
// Colors // Colors
void loadBaseDark(); void loadBaseThemeNative();
void loadDefaultTheme(); void loadBaseThemeDark();
void loadNativeTheme(bool dark = false);
void loadDarkTheme(); void loadDarkTheme();
void setColor(const QString &name, const QColor &color); void setColor(const QString &name, const QColor &color);