diff --git a/cosmic-app-list/src/app.rs b/cosmic-app-list/src/app.rs index 6017f87e..f4df2df6 100755 --- a/cosmic-app-list/src/app.rs +++ b/cosmic-app-list/src/app.rs @@ -11,8 +11,7 @@ use cctk::sctk::reexports::calloop::channel::Sender; use cctk::toplevel_info::ToplevelInfo; use cctk::wayland_client::protocol::wl_data_device_manager::DndAction; use cctk::wayland_client::protocol::wl_seat::WlSeat; -use cosmic::cosmic_config; -use cosmic::cosmic_config::Config; +use cosmic::cosmic_config::{self, Config, CosmicConfigEntry}; use cosmic::iced; use cosmic::iced::subscription::events_with; use cosmic::iced::wayland::actions::data_device::DataFromMimeType; @@ -376,7 +375,10 @@ impl cosmic::Application for CosmicAppList { core: cosmic::app::Core, _flags: Self::Flags, ) -> (Self, iced::Command>) { - let config = config::AppListConfig::load().unwrap_or_default(); + let config = Config::new(APP_ID, 1) + .ok() + .and_then(|c| AppListConfig::get_entry(&c).ok()) + .unwrap_or_default(); let mut self_ = Self { core, favorite_list: desktop_info_for_app_ids(config.favorites.clone()) diff --git a/cosmic-app-list/src/config.rs b/cosmic-app-list/src/config.rs index 235d3fdd..c5025e1b 100644 --- a/cosmic-app-list/src/config.rs +++ b/cosmic-app-list/src/config.rs @@ -1,12 +1,7 @@ -use anyhow::anyhow; - use cosmic::cosmic_config::cosmic_config_derive::CosmicConfigEntry; use cosmic::cosmic_config::{self, Config, CosmicConfigEntry}; use serde::{Deserialize, Serialize}; use std::fmt::Debug; -use std::fs::File; -use std::path::PathBuf; -use xdg::BaseDirectories; pub const APP_ID: &str = "com.system76.CosmicAppList"; pub const VERSION: &str = "0.1.0"; @@ -24,26 +19,6 @@ pub struct AppListConfig { } impl AppListConfig { - // TODO async? - /// load config with the provided name - pub fn load() -> anyhow::Result { - let mut relative_path = PathBuf::from(APP_ID); - relative_path.push("config.ron"); - let file = match BaseDirectories::new() - .ok() - .and_then(|dirs| dirs.find_config_file(relative_path)) - .and_then(|p| File::open(p).ok()) - { - Some(path) => path, - _ => { - anyhow::bail!("Failed to load config"); - } - }; - - ron::de::from_reader::<_, Self>(file) - .map_err(|err| anyhow!("Failed to parse config file: {}", err)) - } - pub fn add_favorite(&mut self, id: String, config: &Config) { if !self.favorites.contains(&id) { self.favorites.push(id);