微调QSS支持被关闭的按键

This commit is contained in:
RigoLigoRLC
2021-09-07 00:09:54 +08:00
parent f96aa8150a
commit 91292f6550
5 changed files with 104 additions and 70 deletions

View File

@@ -54,7 +54,7 @@ set(SOURCE_FILES
inc/dtk/spkdtkplugin.h inc/dtk/spkdtkplugin.h
inc/spkutils.h src/spkutils.cpp inc/spkutils.h src/spkutils.cpp
inc/telemetry/collectid.h inc/telemetry/collectid.h
inc/spkqsshelper.h inc/spkqsshelper.h gui/spkqsshelper.cpp
inc/qt/elidedlabel.h gui/qt/elidedlabel.cpp inc/qt/elidedlabel.h gui/qt/elidedlabel.cpp

81
gui/spkqsshelper.cpp Normal file
View File

@@ -0,0 +1,81 @@
#include "spkqsshelper.h"
const std::list<SpkUi::Qss::ColorSetIndex> SpkUi::Qss::AccentColorExceptions
{
AccentColor,
AccentColorHighlighted,
TextOnAccentColor,
};
const std::map<SpkUi::Qss::ColorSetIndex, const char *> SpkUi::Qss::ColorSet2Token
{
{ GlobalBgnd, "GBG_" },
{ ControlsBgnd, "CBG_" },
{ ControlsBgndHighlighted, "CBGH" },
{ SelectionBgnd, "ACC_" },
{ SelectionBgndHighlighted, "ACCH" },
{ LightCtrlsGradLight, "LCTL1" },
{ LightCtrlsGradDark, "LCTL2" },
{ LightCtrlsGradDarker, "LCTL3" },
{ LightCtrlsDisabledBackground, "LCTLD" },
{ DarkCtrlsGradLight, "DCTL1" },
{ DarkCtrlsGradDark, "DCTL2" },
{ DarkCtrlsGradDarker, "DCTL3" },
{ DarkCtrlsDisabledBackground, "DCTLD" },
{ TextOnSelection, "TXACC" },
{ TextOnGlobalBgnd, "TXGBG" },
{ TextOnControlsBgnd, "TXCBG" },
{ TextLighter, "TXL" },
{ TextDisabled, "TXD" },
{ GlossyEdge, "GLS" },
{ ShadesEdge, "SHD" }
};
const std::map<SpkUi::Qss::ColorSetIndex, QColor> SpkUi::Qss::DarkColorSet
{
{ GlobalBgnd, 0x282828 },
{ ControlsBgnd, 0x323232 },
{ ControlsBgndHighlighted, 0xff0000 },
{ SelectionBgnd, 0x0070ff },
{ SelectionBgndHighlighted, QColor(0x0070ff).lighter(120) },
{ LightCtrlsGradLight, 0x6b6b6b },
{ LightCtrlsGradDark, 0x656565 },
{ LightCtrlsGradDarker, 0x606060 },
{ LightCtrlsDisabledBackground, 0x808080 },
{ DarkCtrlsGradLight, 0x404040 },
{ DarkCtrlsGradDark, 0x383838 },
{ DarkCtrlsGradDarker, 0x323232 },
{ DarkCtrlsDisabledBackground, 0x525252 },
{ TextOnSelection, ColorTextOnBackground(0x0070ff) },
{ TextOnGlobalBgnd, ColorTextOnBackground(0x282828) },
{ TextOnControlsBgnd, ColorTextOnBackground(0x282828) },
{ TextLighter, 0xd5d5d5 },
{ TextDisabled, 0xbebebe },
{ GlossyEdge, 0x656565 },
{ ShadesEdge, 0x7b7b7b }
};
const std::map<SpkUi::Qss::ColorSetIndex, QColor> SpkUi::Qss::LightColorSet
{
{ GlobalBgnd, 0xf8f8f8 },
{ ControlsBgnd, 0xf8f8f8 },
{ ControlsBgndHighlighted, 0xff0000 },
{ SelectionBgnd, 0x0070ff },
{ SelectionBgndHighlighted, QColor(0x0070ff).lighter(120) },
{ LightCtrlsGradLight, 0xfbfbfb },
{ LightCtrlsGradDark, 0xf2f2f2 },
{ LightCtrlsGradDarker, 0xebebeb },
{ LightCtrlsDisabledBackground, 0xe0e0e0 },
{ DarkCtrlsGradLight, 0xe4e4e4 },
{ DarkCtrlsGradDark, 0xcecece },
{ DarkCtrlsGradDarker, 0xb8b8b8 },
{ DarkCtrlsDisabledBackground, 0xababab },
{ TextOnSelection, ColorTextOnBackground(0x0070ff) },
{ TextOnGlobalBgnd, ColorTextOnBackground(0xf8f8f8) },
{ TextOnControlsBgnd, ColorTextOnBackground(0xf8f8f8) },
{ TextLighter, 0x2a2a2a },
{ TextDisabled, 0x8a8a8a },
{ GlossyEdge, 0xc5c5c5 },
{ ShadesEdge, 0x9d9d9d }
};

View File

@@ -55,7 +55,12 @@ namespace SpkUi
ObtainStylesheet.close(); ObtainStylesheet.close();
CurrentStyle = SpkUiStyle::Invalid; CurrentStyle = SpkUiStyle::Invalid;
#ifdef NDEBUG
SetGlobalStyle(Light, false); SetGlobalStyle(Light, false);
#else
SetGlobalStyle(qgetenv("SPK_FORCE_DARK").toInt() ? Dark : Light, false);
#endif
// Initalize crash handler // Initalize crash handler
signal(SIGSEGV, SpkUi::CrashSignalHandler); signal(SIGSEGV, SpkUi::CrashSignalHandler);

View File

@@ -21,87 +21,26 @@ namespace SpkUi
LightCtrlsGradLight, LightCtrlsGradLight,
LightCtrlsGradDark, LightCtrlsGradDark,
LightCtrlsGradDarker, LightCtrlsGradDarker,
LightCtrlsDisabledBackground,
DarkCtrlsGradLight, DarkCtrlsGradLight,
DarkCtrlsGradDark, DarkCtrlsGradDark,
DarkCtrlsGradDarker, DarkCtrlsGradDarker,
DarkCtrlsDisabledBackground,
TextOnSelection, TextOnAccentColor = TextOnSelection, TextOnSelection, TextOnAccentColor = TextOnSelection,
TextOnGlobalBgnd, TextOnGlobalBgnd,
TextOnControlsBgnd, TextOnControlsBgnd,
TextLighter, TextLighter,
TextDisabled,
GlossyEdge, GlossyEdge,
ShadesEdge, ShadesEdge,
}; };
const std::list<ColorSetIndex> AccentColorExceptions extern const std::list<ColorSetIndex> AccentColorExceptions;
{
AccentColor,
AccentColorHighlighted,
TextOnAccentColor,
};
const std::map<ColorSetIndex, const char *> ColorSet2Token extern const std::map<ColorSetIndex, const char *> ColorSet2Token;
{
{ GlobalBgnd, "GBG_" },
{ ControlsBgnd, "CBG_" },
{ ControlsBgndHighlighted, "CBGH" },
{ SelectionBgnd, "ACC_" },
{ SelectionBgndHighlighted, "ACCH" },
{ LightCtrlsGradLight, "LCTL1" },
{ LightCtrlsGradDark, "LCTL2" },
{ LightCtrlsGradDarker, "LCTL3" },
{ DarkCtrlsGradLight, "DCTL1" },
{ DarkCtrlsGradDark, "DCTL2" },
{ DarkCtrlsGradDarker, "DCTL3" },
{ TextOnSelection, "TXACC" },
{ TextOnGlobalBgnd, "TXGBG" },
{ TextOnControlsBgnd, "TXCBG" },
{ TextLighter, "TXL" },
{ GlossyEdge, "GLS" },
{ ShadesEdge, "SHD" }
};
const std::map<ColorSetIndex, QColor> extern const std::map<ColorSetIndex, QColor>
DarkColorSet DarkColorSet, LightColorSet;
{
{ GlobalBgnd, 0x282828 },
{ ControlsBgnd, 0x323232 },
{ ControlsBgndHighlighted, 0xff0000 },
{ SelectionBgnd, 0x0070ff },
{ SelectionBgndHighlighted, QColor(0x0070ff).lighter(120) },
{ LightCtrlsGradLight, 0x6b6b6b },
{ LightCtrlsGradDark, 0x656565 },
{ LightCtrlsGradDarker, 0x606060 },
{ DarkCtrlsGradLight, 0x404040 },
{ DarkCtrlsGradDark, 0x383838 },
{ DarkCtrlsGradDarker, 0x323232 },
{ TextOnSelection, ColorTextOnBackground(0x0070ff) },
{ TextOnGlobalBgnd, ColorTextOnBackground(0x282828) },
{ TextOnControlsBgnd, ColorTextOnBackground(0x282828) },
{ TextLighter, 0xd5d5d5 },
{ GlossyEdge, 0x656565 },
{ ShadesEdge, 0x7b7b7b }
},
LightColorSet // TODO: Use real light color set
{
{ GlobalBgnd, 0xf8f8f8 },
{ ControlsBgnd, 0xf8f8f8 },
{ ControlsBgndHighlighted, 0xff0000 },
{ SelectionBgnd, 0x0070ff },
{ SelectionBgndHighlighted, QColor(0x0070ff).lighter(120) },
{ LightCtrlsGradLight, 0xfbfbfb },
{ LightCtrlsGradDark, 0xf2f2f2 },
{ LightCtrlsGradDarker, 0xebebeb },
{ DarkCtrlsGradLight, 0xe4e4e4 },
{ DarkCtrlsGradDark, 0xcecece },
{ DarkCtrlsGradDarker, 0xb8b8b8 },
{ TextOnSelection, ColorTextOnBackground(0x0070ff) },
{ TextOnGlobalBgnd, ColorTextOnBackground(0xf8f8f8) },
{ TextOnControlsBgnd, ColorTextOnBackground(0xf8f8f8) },
{ TextLighter, 0x2a2a2a },
{ GlossyEdge, 0xc5c5c5 },
{ ShadesEdge, 0x9d9d9d }
};
using ColorSet = std::map<Qss::ColorSetIndex, QColor>; using ColorSet = std::map<Qss::ColorSetIndex, QColor>;
} }

View File

@@ -7,12 +7,15 @@
LCTL1 : Light controls gradient light LCTL1 : Light controls gradient light
LCTL2 : Light controls gradient dark LCTL2 : Light controls gradient dark
LCTL3 : Light controls gradient darker LCTL3 : Light controls gradient darker
LCTLD : Light controls disabled background
DCTL1 : Dark controls gradient light DCTL1 : Dark controls gradient light
DCTL2: Dark controls gradient dark DCTL2: Dark controls gradient dark
DCTLD: Dark controls disabled background
TXACC: Text on Selection/Activation TXACC: Text on Selection/Activation
TXGBG: Text on Global background TXGBG: Text on Global background
TXCBG: Text on controls background TXCBG: Text on controls background
TXL: Text slightly lighter TXL: Text slightly lighter
TXD: Text disabled
GLS: Glossy edge on controls GLS: Glossy edge on controls
SHD: Shades edge on controls SHD: Shades edge on controls
*/ */
@@ -62,13 +65,19 @@ QPushButton
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 LCTL1, stop:1 LCTL2) background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 LCTL1, stop:1 LCTL2)
} }
QPushButton::pressed QPushButton:pressed
{ {
border-top-color: GLS; border-top-color: GLS;
border-bottom-color: SHD; border-bottom-color: SHD;
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 LCTL3, stop:1 LCTL1) background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 LCTL3, stop:1 LCTL1)
} }
QPushButton:disabled
{
background-color: LCTLD;
color: TXD;
}
QScrollBar::handle QScrollBar::handle
{ {
border: 0px; border: 0px;