fix(dock): directly set the entries list in the config
This commit is contained in:
parent
075800daac
commit
9051e07494
1 changed files with 16 additions and 2 deletions
|
|
@ -2,12 +2,13 @@ use std::collections::HashMap;
|
||||||
|
|
||||||
use apply::Apply;
|
use apply::Apply;
|
||||||
use cosmic::{
|
use cosmic::{
|
||||||
cosmic_config::CosmicConfigEntry,
|
cosmic_config::{ConfigSet, CosmicConfigEntry},
|
||||||
widget::{settings, text, toggler},
|
widget::{settings, text, toggler},
|
||||||
Element,
|
Element,
|
||||||
};
|
};
|
||||||
use cosmic_panel_config::{CosmicPanelConfig, CosmicPanelContainerConfig};
|
use cosmic_panel_config::{CosmicPanelConfig, CosmicPanelContainerConfig};
|
||||||
use cosmic_settings_page::{self as page, section, Section};
|
use cosmic_settings_page::{self as page, section, Section};
|
||||||
|
use log::error;
|
||||||
use slotmap::SlotMap;
|
use slotmap::SlotMap;
|
||||||
|
|
||||||
use crate::pages::desktop::panel::inner::{add_panel, behavior_and_position, configuration, style};
|
use crate::pages::desktop::panel::inner::{add_panel, behavior_and_position, configuration, style};
|
||||||
|
|
@ -36,6 +37,10 @@ impl Page {
|
||||||
let Some(panel_config) = self.inner.panel_config.as_ref() else {
|
let Some(panel_config) = self.inner.panel_config.as_ref() else {
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
let Ok(helper) = CosmicPanelContainerConfig::cosmic_config() else {
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
if enabled {
|
if enabled {
|
||||||
container_config.config_list.push(panel_config.clone());
|
container_config.config_list.push(panel_config.clone());
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -43,7 +48,16 @@ impl Page {
|
||||||
.config_list
|
.config_list
|
||||||
.retain(|c| c.name.as_str() != "Dock");
|
.retain(|c| c.name.as_str() != "Dock");
|
||||||
}
|
}
|
||||||
_ = container_config.write_entries();
|
|
||||||
|
let entry_names = container_config
|
||||||
|
.config_list
|
||||||
|
.iter()
|
||||||
|
.map(|c| c.name.clone())
|
||||||
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
|
if let Err(err) = helper.set("entries", entry_names) {
|
||||||
|
error!("{:?}", err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Message::Inner(inner) => {
|
Message::Inner(inner) => {
|
||||||
self.inner.update(inner);
|
self.inner.update(inner);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue