mirror of
https://github.com/youwen5/iamb.git
synced 2025-06-19 21:29:52 -07:00
Support displaying and editing room descriptions (#12)
This commit is contained in:
parent
8ed037afca
commit
38f4795886
13 changed files with 286 additions and 55 deletions
|
@ -100,25 +100,44 @@ impl Tunables {
|
|||
#[derive(Clone)]
|
||||
pub struct DirectoryValues {
|
||||
pub cache: PathBuf,
|
||||
pub logs: PathBuf,
|
||||
pub downloads: PathBuf,
|
||||
}
|
||||
|
||||
#[derive(Clone, Default, Deserialize)]
|
||||
pub struct Directories {
|
||||
pub cache: Option<PathBuf>,
|
||||
pub logs: Option<PathBuf>,
|
||||
pub downloads: Option<PathBuf>,
|
||||
}
|
||||
|
||||
impl Directories {
|
||||
fn merge(self, other: Self) -> Self {
|
||||
Directories { cache: self.cache.or(other.cache) }
|
||||
Directories {
|
||||
cache: self.cache.or(other.cache),
|
||||
logs: self.logs.or(other.logs),
|
||||
downloads: self.downloads.or(other.downloads),
|
||||
}
|
||||
}
|
||||
|
||||
fn values(self) -> DirectoryValues {
|
||||
DirectoryValues {
|
||||
cache: self
|
||||
.cache
|
||||
.or_else(dirs::cache_dir)
|
||||
.expect("no dirs.cache value configured!"),
|
||||
}
|
||||
let cache = self
|
||||
.cache
|
||||
.or_else(dirs::cache_dir)
|
||||
.expect("no dirs.cache value configured!");
|
||||
|
||||
let logs = self.logs.unwrap_or_else(|| {
|
||||
let mut dir = cache.clone();
|
||||
dir.push("logs");
|
||||
dir
|
||||
});
|
||||
|
||||
let downloads = self
|
||||
.downloads
|
||||
.or_else(dirs::download_dir)
|
||||
.expect("no dirs.download value configured!");
|
||||
|
||||
DirectoryValues { cache, logs, downloads }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue