load_doc/save_doc/atomic_write's bodies now delegate to bread_utils::tomlcfg and bread_utils::atomic (path dependency for now, see the TODO in Cargo.toml) instead of owning the temp-then-rename + .bak-before-overwrite logic locally. Public function names/signatures in config/mod.rs are unchanged, so none of the ~10 call sites across ui/views/*.rs needed touching. This is the other half of tonight's earlier BOS fix pass: that pass gave breadhelp/src/config.rs its own byte-for-byte copy of this exact logic (its own doc comment says "same discipline as bos-settings/src/config/ mod.rs::atomic_write") rather than sharing it — breadhelp's migration follows in the next commit. Builds clean; all 11 existing tests pass, including the atomic-write backup/no-leftover-tmp-file test that now exercises the delegated code.
21 lines
935 B
TOML
21 lines
935 B
TOML
[package]
|
|
name = "bos-settings"
|
|
version = "0.6.3"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
gtk4 = { version = "0.11", features = ["v4_12"] }
|
|
glib = "0.22"
|
|
# Shared ecosystem theming — bos-settings loads the same generated stylesheet as
|
|
# breadbar/breadbox/breadpad so the whole desktop looks consistent.
|
|
bread-theme = { git = "https://github.com/Breadway/bread-ecosystem", tag = "v0.2.10", features = ["gtk"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
toml = "0.8"
|
|
# toml_edit drives non-destructive config editing: it preserves comments and
|
|
# any keys the UI doesn't model, so saving a single field never rewrites or
|
|
# drops the rest of the user's config file.
|
|
toml_edit = "0.22"
|
|
async-channel = "2"
|
|
# TODO(owner): switch to tag-pinned git dependency once bread-utils is merged and tagged, matching the bread-theme pattern
|
|
bread-utils = { path = "../bread-ecosystem-fix-worktree/bread-utils", features = ["toml"] }
|