fix(wallpapers): displays not being shown when lacking custom images
This commit is contained in:
parent
20a6554002
commit
17a74a512b
1 changed files with 13 additions and 8 deletions
|
|
@ -434,7 +434,7 @@ impl Page {
|
||||||
|
|
||||||
if self.wallpaper_service_config.same_on_all {
|
if self.wallpaper_service_config.same_on_all {
|
||||||
self.wallpaper_service_config.backgrounds.clear();
|
self.wallpaper_service_config.backgrounds.clear();
|
||||||
self.wallpaper_service_config.outputs.clear();
|
// self.wallpaper_service_config.outputs.clear();
|
||||||
} else if let Some(pos) = self
|
} else if let Some(pos) = self
|
||||||
.wallpaper_service_config
|
.wallpaper_service_config
|
||||||
.backgrounds
|
.backgrounds
|
||||||
|
|
@ -938,14 +938,20 @@ impl Page {
|
||||||
}
|
}
|
||||||
|
|
||||||
// These will need to be loaded before applying the service config.
|
// These will need to be loaded before applying the service config.
|
||||||
let custom_images = self.config.custom_images();
|
let custom_images = self.config.custom_images().len();
|
||||||
|
|
||||||
// Make note of how many images are to be loaded, with the display update for the service config.
|
if custom_images == 0 {
|
||||||
self.update_config = Some((custom_images.len(), update.displays));
|
self.wallpaper_service_config_update(update.displays);
|
||||||
|
self.config_apply();
|
||||||
|
} else {
|
||||||
|
// Make note of how many images are to be loaded, with the display update for the service config.
|
||||||
|
self.update_config = Some((custom_images, update.displays));
|
||||||
|
}
|
||||||
|
|
||||||
// Load preview images concurrently for each custom image stored in the on-disk config.
|
// Load preview images concurrently for each custom image stored in the on-disk config.
|
||||||
return cosmic::command::batch(
|
return cosmic::command::batch(
|
||||||
custom_images
|
self.config
|
||||||
|
.custom_images()
|
||||||
.iter()
|
.iter()
|
||||||
.cloned()
|
.cloned()
|
||||||
.map(|path| {
|
.map(|path| {
|
||||||
|
|
@ -1163,14 +1169,13 @@ pub fn settings() -> Section<crate::pages::Message> {
|
||||||
let mut slideshow_enabled = page
|
let mut slideshow_enabled = page
|
||||||
.config_output()
|
.config_output()
|
||||||
.and_then(|output| page.wallpaper_service_config.entry(output))
|
.and_then(|output| page.wallpaper_service_config.entry(output))
|
||||||
.map(|entry| {
|
.map_or(false, |entry| {
|
||||||
if let Source::Path(path) = &entry.source {
|
if let Source::Path(path) = &entry.source {
|
||||||
path.is_dir()
|
path.is_dir()
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
.unwrap_or(false);
|
|
||||||
|
|
||||||
children.push(crate::widget::display_container(
|
children.push(crate::widget::display_container(
|
||||||
match page.selection.active {
|
match page.selection.active {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue