mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2026-02-27 16:11:09 +00:00
wip: theme system
- Add theme id - WIP theme cache key - Force scheme (light/dark) for dynamic theme - でびるんちゃんかわいい
This commit is contained in:
@ -9,30 +9,43 @@ class _TCustomPalette(TypedDict):
|
||||
success: QColor
|
||||
error: QColor
|
||||
|
||||
toolTipBase: QColor
|
||||
toolTipText: QColor
|
||||
|
||||
|
||||
_TScheme = Literal["light", "dark"]
|
||||
|
||||
TThemeInfoCacheKey = tuple[str, str, _TScheme]
|
||||
|
||||
|
||||
@dataclass
|
||||
class ThemeInfo:
|
||||
series: str
|
||||
id: str
|
||||
name: str
|
||||
scheme: _TScheme
|
||||
|
||||
def __hash__(self) -> int:
|
||||
return hash((self.series, self.name, self.scheme))
|
||||
def cacheKey(self) -> TThemeInfoCacheKey:
|
||||
return (self.series, self.id, self.scheme)
|
||||
|
||||
|
||||
class ThemeImpl:
|
||||
DEFAULT_CUSTOM_PALETTE = {
|
||||
DEFAULT_CUSTOM_PALETTE: _TCustomPalette = {
|
||||
"primary": QColor.fromString("#616161"),
|
||||
"success": QColor.fromString("#616161"),
|
||||
"error": QColor.fromString("#616161"),
|
||||
"toolTipBase": QColor.fromString("#616161"),
|
||||
"toolTipText": QColor.fromString("#616161"),
|
||||
}
|
||||
|
||||
@property
|
||||
def info(self) -> ThemeInfo:
|
||||
return ThemeInfo(series="placeholder", name="placeholder", scheme="dark")
|
||||
return ThemeInfo(
|
||||
series="placeholder",
|
||||
id="placeholder",
|
||||
name="placeholder",
|
||||
scheme="dark",
|
||||
)
|
||||
|
||||
@property
|
||||
def qPalette(self) -> QPalette:
|
||||
|
||||
Reference in New Issue
Block a user