mirror of
https://github.com/zoriya/noctalia-shell.git
synced 2026-06-04 11:16:03 +00:00
AppThemeService: added a "generate" method that centralize updates.
This commit is contained in:
@@ -79,7 +79,7 @@ ColumnLayout {
|
||||
if (exitCode === 0) {
|
||||
// Matugen exists, enable it
|
||||
Settings.data.colorSchemes.useWallpaperColors = true
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
ToastService.showNotice(I18n.tr("settings.color-scheme.color-source.use-wallpaper-colors.label"), I18n.tr("toast.wallpaper-colors.enabled"))
|
||||
} else {
|
||||
// Matugen not found
|
||||
@@ -195,9 +195,8 @@ ColumnLayout {
|
||||
|
||||
onSelected: key => {
|
||||
Settings.data.colorSchemes.matugenSchemeType = key
|
||||
if (Settings.data.colorSchemes.useWallpaperColors) {
|
||||
AppThemeService.generateFromWallpaper()
|
||||
}
|
||||
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -391,8 +390,7 @@ ColumnLayout {
|
||||
checked: Settings.data.templates.gtk
|
||||
onToggled: checked => {
|
||||
Settings.data.templates.gtk = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -404,8 +402,7 @@ ColumnLayout {
|
||||
checked: Settings.data.templates.qt
|
||||
onToggled: checked => {
|
||||
Settings.data.templates.qt = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -430,8 +427,7 @@ ColumnLayout {
|
||||
onToggled: checked => {
|
||||
if (ProgramCheckerService.kittyAvailable) {
|
||||
Settings.data.templates.kitty = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -449,8 +445,7 @@ ColumnLayout {
|
||||
onToggled: checked => {
|
||||
if (ProgramCheckerService.ghosttyAvailable) {
|
||||
Settings.data.templates.ghostty = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -468,8 +463,7 @@ ColumnLayout {
|
||||
onToggled: checked => {
|
||||
if (ProgramCheckerService.footAvailable) {
|
||||
Settings.data.templates.foot = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -495,8 +489,7 @@ ColumnLayout {
|
||||
onToggled: checked => {
|
||||
if (ProgramCheckerService.fuzzelAvailable) {
|
||||
Settings.data.templates.fuzzel = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -514,8 +507,7 @@ ColumnLayout {
|
||||
onToggled: checked => {
|
||||
if (ProgramCheckerService.vesktopAvailable) {
|
||||
Settings.data.templates.vesktop = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -533,8 +525,7 @@ ColumnLayout {
|
||||
onToggled: checked => {
|
||||
if (ProgramCheckerService.pywalfoxAvailable) {
|
||||
Settings.data.templates.pywalfox = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -553,8 +544,7 @@ ColumnLayout {
|
||||
checked: Settings.data.templates.enableUserTemplates
|
||||
onToggled: checked => {
|
||||
Settings.data.templates.enableUserTemplates = checked
|
||||
if (Settings.data.colorSchemes.useWallpaperColors)
|
||||
AppThemeService.generateFromWallpaper()
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,10 +63,6 @@ Singleton {
|
||||
}
|
||||
})
|
||||
|
||||
function init() {
|
||||
Logger.log("AppThemeService", "Service started")
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: WallpaperService
|
||||
function onWallpaperChanged(screenName, path) {
|
||||
@@ -80,9 +76,20 @@ Singleton {
|
||||
target: Settings.data.colorSchemes
|
||||
function onDarkModeChanged() {
|
||||
Logger.log("AppThemeService", "Detected dark mode change")
|
||||
if (Settings.data.colorSchemes.useWallpaperColors) {
|
||||
generateFromWallpaper()
|
||||
}
|
||||
AppThemeService.generate()
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------
|
||||
function init() {
|
||||
Logger.log("AppThemeService", "Service started")
|
||||
}
|
||||
|
||||
function generate() {
|
||||
if (Settings.data.colorSchemes.useWallpaperColors) {
|
||||
generateFromWallpaper()
|
||||
} else {
|
||||
generateFromPredefinedScheme()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,11 +138,10 @@ Singleton {
|
||||
handleTerminalThemes()
|
||||
|
||||
const isDarkMode = Settings.data.colorSchemes.darkMode
|
||||
const colors = schemeData[isDarkMode ? "dark" : "light"]
|
||||
const mode = isDarkMode ? "dark" : "light"
|
||||
const colors = schemeData[mode]
|
||||
|
||||
const matugenColors = generatePalette(colors.mPrimary, colors.mSecondary, colors.mTertiary, colors.mError, colors.mSurface, isDarkMode)
|
||||
|
||||
const mode = isDarkMode ? "dark" : "light"
|
||||
const script = processAllTemplates(matugenColors, mode)
|
||||
|
||||
generateProcess.command = ["bash", "-lc", script]
|
||||
|
||||
Reference in New Issue
Block a user